diff options
author | Eric Gribkoff <ericgribkoff@google.com> | 2018-05-03 16:38:54 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-03 16:38:54 -0700 |
commit | 275ebc4e9060a0e7428c539ad09ce5e13346b7cf (patch) | |
tree | 773c5327ef190c247d9f0778ddbad50bf1502225 /android | |
parent | 60a0b0c471d720b0546ee3a5b4fa4283635dfbcf (diff) | |
download | grpc-grpc-java-275ebc4e9060a0e7428c539ad09ce5e13346b7cf.tar.gz |
android: add artifact build (#4433)
Diffstat (limited to 'android')
-rw-r--r-- | android/build.gradle | 101 | ||||
-rw-r--r-- | android/settings.gradle | 1 |
2 files changed, 96 insertions, 6 deletions
diff --git a/android/build.gradle b/android/build.gradle index cb919a1d1..1457e64ea 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,5 +1,7 @@ apply plugin: 'com.android.library' +group = "io.grpc" +version = "1.13.0-SNAPSHOT" // CURRENT_GRPC_VERSION description = 'gRPC: Android' buildscript { @@ -14,10 +16,12 @@ buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.0.1' classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.0.13" + classpath 'com.github.dcendents:android-maven-gradle-plugin:2.0' } } apply plugin: "net.ltgt.errorprone" +apply plugin: 'com.github.dcendents.android-maven' android { compileSdkVersion 27 @@ -28,11 +32,6 @@ android { versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } - testOptions { - unitTests { - includeAndroidResources = true - } - } lintOptions { abortOnError false } @@ -45,9 +44,99 @@ repositories { dependencies { implementation 'io.grpc:grpc-core:1.13.0-SNAPSHOT' // CURRENT_GRPC_VERSION - testImplementation 'io.grpc:grpc-okhttp:1.13.0-SNAPSHOT' // CURRENT_GRPC_VERSION + testImplementation 'io.grpc:grpc-okhttp:1.13.0-SNAPSHOT' // CURRENT_GRPC_VERSION testImplementation 'junit:junit:4.12' testImplementation 'org.robolectric:robolectric:3.7.1' testImplementation 'com.google.truth:truth:0.39' } + +task javadocs(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + // TODO(ericgribkoff) Fix javadoc errors + failOnError false + options { + // Disable JavaDoc doclint on Java 8. + if (JavaVersion.current().isJava8Compatible()) { + addStringOption('Xdoclint:none', '-quiet') + } + } +} + +task javadocsJar(type: Jar, dependsOn: javadocs) { + classifier = 'javadoc' + from javadocs.destinationDir +} + +task sourcesJar(type: Jar) { + classifier = 'sources' + from android.sourceSets.main.java.srcDirs +} + +artifacts { + archives sourcesJar + archives javadocsJar +} + +uploadArchives.repositories.mavenDeployer { + beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } + if (rootProject.hasProperty('repositoryDir')) { + repository(url: new File(rootProject.repositoryDir).toURI()) + } else { + String stagingUrl + if (rootProject.hasProperty('repositoryId')) { + stagingUrl = 'https://oss.sonatype.org/service/local/staging/deployByRepositoryId/' + + rootProject.repositoryId + } else { + stagingUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/' + } + def configureAuth = { + if (rootProject.hasProperty('ossrhUsername') && rootProject.hasProperty('ossrhPassword')) { + authentication(userName: rootProject.ossrhUsername, password: rootProject.ossrhPassword) + } + } + repository(url: stagingUrl, configureAuth) + snapshotRepository(url: 'https://oss.sonatype.org/content/repositories/snapshots/', configureAuth) + } +} + +[ + install.repositories.mavenInstaller, + uploadArchives.repositories.mavenDeployer, +]*.pom*.whenConfigured { pom -> + pom.project { + name "$project.group:$project.name" + description project.description + url 'https://conscrypt.org/' + + scm { + connection 'scm:git:https://github.com/grpc/grpc-java.git' + developerConnection 'scm:git:git@github.com:grpc/grpc-java.git' + url 'https://github.com/grpc/grpc-java' + } + + licenses { + license { + name 'Apache 2.0' + url 'https://opensource.org/licenses/Apache-2.0' + } + } + + developers { + developer { + id "grpc.io" + name "gRPC Contributors" + email "grpc-io@googlegroups.com" + url "https://grpc.io/" + // https://issues.gradle.org/browse/GRADLE-2719 + organization = "gRPC Authors" + organizationUrl "https://www.google.com" + } + } + } + def core = pom.dependencies.find {dep -> dep.artifactId == 'grpc-core'} + if (core != null) { + // Depend on specific version of grpc-core because internal package is unstable + core.version = "[" + core.version + "]" + } +} diff --git a/android/settings.gradle b/android/settings.gradle new file mode 100644 index 000000000..9b09956c7 --- /dev/null +++ b/android/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'grpc-android' |