buildscript { repositories { jcenter() } dependencies { classpath "org.jfrog.buildinfo:build-info-extractor-gradle:4.0.0" } } // apply the plugin with its class name rather than its Id to work around gradle limitation of // not being able to find the plugin by Id despite the dependencies being added right above. Gradle // is currently not capable of loading plugins by Id if the dependency is anywhere else than // in the main project build.gradle. This file is "imported" into the project's build.gradle // through a "apply from:". apply plugin: org.jfrog.gradle.plugin.artifactory.ArtifactoryPlugin apply plugin: 'maven-publish' def bintrayInfoFilePath = "$buildDir/outputs/bintray-descriptor.bintray-info.json" project.ext.version = '1.1.0-SNAPSHOT' task sourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.srcDirs } task javadoc(type: Javadoc) { source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } task bintrayInfoFile { outputs.file(bintrayInfoFilePath) doLast { println 'Creating bintray-info.json' String fileContent = new File("$rootDir/bintray-info-template.json").getText('UTF-8') fileContent = fileContent.replace('$VERSION$', project.ext.version) ((new File(bintrayInfoFilePath))).write(fileContent) } } artifacts { archives javadocJar archives sourcesJar } publishing { publications { library(MavenPublication) { groupId 'com.android.volley' artifactId 'volley' version project.ext.version pom { packaging 'aar' } // Release AAR, Sources, and JavaDoc artifact "$buildDir/outputs/aar/volley-release.aar" artifact sourcesJar artifact javadocJar artifact(bintrayInfoFilePath) { builtBy bintrayInfoFile extension "bintray-info.json" } } } } artifactory { contextUrl = "https://oss.jfrog.org" publish { repository { repoKey = 'oss-snapshot-local' username = System.env.CI_DEPLOY_USERNAME password = System.env.CI_DEPLOY_PASSWORD } defaults { publications('library') publishArtifacts = true } } resolve { repoKey = 'jcenter' } }