From 9d3c803079c96ca32cfa222ae325220268331527 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Fri, 6 Sep 2019 13:57:25 -0700 Subject: [PATCH 1/4] Added publish configurations in build file. --- cronet/build.gradle | 131 +++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 124 insertions(+), 7 deletions(-) diff --git a/cronet/build.gradle b/cronet/build.gradle index 5852de43c24..62fb1722a0e 100644 --- a/cronet/build.gradle +++ b/cronet/build.gradle @@ -1,21 +1,31 @@ apply plugin: 'com.android.library' +group = "io.grpc" +version = "1.24.0-SNAPSHOT" // CURRENT_GRPC_VERSION description = "gRPC: Cronet Android" buildscript { repositories { google() jcenter() + mavenCentral() + maven { url "https://plugins.gradle.org/m2/" } + } + dependencies { + classpath 'com.android.tools.build:gradle:3.3.0' + classpath 'digital.wup:android-maven-publish:3.6.2' } - dependencies { classpath 'com.android.tools.build:gradle:3.3.0' } } -allprojects { - repositories { - google() - jcenter() - mavenLocal() - } +apply plugin: "maven-publish" +apply plugin: "digital.wup.android-maven-publish" +apply plugin: "signing" + +repositories { + google() + jcenter() + mavenCentral() + mavenLocal() } android { @@ -48,3 +58,110 @@ dependencies { testImplementation 'org.mockito:mockito-core:2.25.1' testImplementation "org.robolectric:robolectric:3.5.1" } + +task javadocs(type: Javadoc) { + source = android.sourceSets.main.java.srcDirs + classpath += files(android.getBootClasspath()) + classpath += files({ + android.libraryVariants.collect { variant -> + variant.javaCompileProvider.get().classpath + } + }) + options { + // Disable JavaDoc doclint on Java 8. + if (JavaVersion.current().isJava8Compatible()) { + addStringOption('Xdoclint:none', '-quiet') + } + } +} + +task javadocJar(type: Jar, dependsOn: javadocs) { + classifier = 'javadoc' + from javadocs.destinationDir +} + +task sourcesJar(type: Jar) { + classifier = 'sources' + from android.sourceSets.main.java.srcDirs +} + +publishing { + publications { + maven(MavenPublication) { + from components.android + + artifact javadocJar + artifact sourcesJar + + pom { + name = project.group + ":" + project.name + url = 'https://github.com/grpc/grpc-java' + afterEvaluate { + // description is not available until evaluated. + description = project.description + } + + 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/" + organization = "gRPC Authors" + organizationUrl = "https://www.google.com" + } + } + + withXml { + asNode().dependencies.'*'.findAll() { dep -> + dep.artifactId.text() in ['grpc-api', 'grpc-core'] + }.each() { core -> + core.version*.value = "[" + core.version.text() + "]" + } + } + } + } + } + repositories { + maven { + if (rootProject.hasProperty('repositoryDir')) { + 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/' + } + credentials { + if (rootProject.hasProperty('ossrhUsername') && rootProject.hasProperty('ossrhPassword')) { + username = rootProject.ossrhUsername + password = rootProject.ossrhPassword + } + } + def releaseUrl = stagingUrl + def snapshotUrl = 'https://oss.sonatype.org/content/repositories/snapshots/' + url = version.endsWith('SNAPSHOT') ? snapshotUrl : releaseUrl + } + } + } +} + +signing { + required false + sign publishing.publications.maven +} From b7b915dffe8284d3ca1dec42501020f864b8cdbf Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Fri, 6 Sep 2019 14:05:26 -0700 Subject: [PATCH 2/4] Set minSdkVersion to 16 as cronet dependency requires that. --- cronet/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cronet/build.gradle b/cronet/build.gradle index 62fb1722a0e..e4645ebac90 100644 --- a/cronet/build.gradle +++ b/cronet/build.gradle @@ -31,7 +31,7 @@ repositories { android { compileSdkVersion 27 defaultConfig { - minSdkVersion 14 + minSdkVersion 16 targetSdkVersion 27 versionCode 1 versionName "1.0" From 14901761cf84d2e153a763ae1520884d7e23a853 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Fri, 6 Sep 2019 13:58:45 -0700 Subject: [PATCH 3/4] Changed cronet dependency to cronet-api for implementation, only use full cronet implementation provider for testing. --- cronet/build.gradle | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cronet/build.gradle b/cronet/build.gradle index e4645ebac90..dea45e32376 100644 --- a/cronet/build.gradle +++ b/cronet/build.gradle @@ -52,7 +52,8 @@ dependencies { implementation 'io.grpc:grpc-core:1.24.0-SNAPSHOT' // CURRENT_GRPC_VERSION testImplementation 'io.grpc:grpc-testing:1.24.0-SNAPSHOT' // CURRENT_GRPC_VERSION - implementation "org.chromium.net:cronet-embedded:66.3359.158" + implementation 'org.chromium.net:cronet-api:76.3809.111' + testImplementation 'org.chromium.net:cronet-embedded:66.3359.158' testImplementation 'junit:junit:4.12' testImplementation 'org.mockito:mockito-core:2.25.1' From bee08e9e572608ff3444540c08630ba6c9aa9420 Mon Sep 17 00:00:00 2001 From: Chengyuan Zhang Date: Fri, 6 Sep 2019 14:01:34 -0700 Subject: [PATCH 4/4] Added errorprone plugin. --- cronet/build.gradle | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/cronet/build.gradle b/cronet/build.gradle index dea45e32376..6f826a076c4 100644 --- a/cronet/build.gradle +++ b/cronet/build.gradle @@ -13,11 +13,13 @@ buildscript { } dependencies { classpath 'com.android.tools.build:gradle:3.3.0' + classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.8.1' classpath 'digital.wup:android-maven-publish:3.6.2' } } apply plugin: "maven-publish" +apply plugin: "net.ltgt.errorprone" apply plugin: "digital.wup.android-maven-publish" apply plugin: "signing" @@ -49,6 +51,9 @@ android { } dependencies { + errorprone 'com.google.errorprone:error_prone_core:2.3.3' + errorproneJavac 'com.google.errorprone:javac:9+181-r4173-1' + implementation 'io.grpc:grpc-core:1.24.0-SNAPSHOT' // CURRENT_GRPC_VERSION testImplementation 'io.grpc:grpc-testing:1.24.0-SNAPSHOT' // CURRENT_GRPC_VERSION