Skip to content

Commit

Permalink
Apply maven-publish plugin explicitly when needed
Browse files Browse the repository at this point in the history
  • Loading branch information
ejona86 committed Sep 13, 2019
1 parent 55ac6f0 commit 5b838e5
Show file tree
Hide file tree
Showing 22 changed files with 130 additions and 83 deletions.
2 changes: 2 additions & 0 deletions all/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.github.kt3k.coveralls"
}

Expand Down
2 changes: 2 additions & 0 deletions alts/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.github.johnrengelman.shadow"
id "com.google.protobuf"
}
Expand Down
2 changes: 2 additions & 0 deletions api/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "me.champeau.gradle.jmh"
}

Expand Down
4 changes: 4 additions & 0 deletions auth/build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}

description = "gRPC: Auth"
dependencies {
compile project(':grpc-api'),
Expand Down
1 change: 1 addition & 0 deletions benchmarks/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
id "application"
id "maven-publish"

id "com.google.protobuf"
id "me.champeau.gradle.jmh"
Expand Down
4 changes: 4 additions & 0 deletions bom/build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}

description = 'gRPC: BOM'

publishing {
Expand Down
163 changes: 80 additions & 83 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ subprojects {
apply plugin: "checkstyle"
apply plugin: "java"
apply plugin: "maven"
apply plugin: "maven-publish"
apply plugin: "idea"
apply plugin: "signing"
apply plugin: "jacoco"
Expand Down Expand Up @@ -305,109 +304,107 @@ subprojects {
}
}

task javadocJar(type: Jar) {
classifier = 'javadoc'
from javadoc
}

task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allSource
}

publishing {
publications {
// do not use mavenJava, as java plugin will modify it via "magic"
maven(MavenPublication) {
if (project.name != 'grpc-netty-shaded') {
from components.java
}
plugins.withId("maven-publish") {
task javadocJar(type: Jar) {
classifier = 'javadoc'
from javadoc
}

artifact javadocJar
artifact sourcesJar
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allSource
}

pom {
name = project.group + ":" + project.name
url = 'https://github.com/grpc/grpc-java'
afterEvaluate {
// description is not available until evaluated.
description = project.description
publishing {
publications {
// do not use mavenJava, as java plugin will modify it via "magic"
maven(MavenPublication) {
if (project.name != 'grpc-netty-shaded') {
from components.java
}

scm {
connection = 'scm:git:https://github.com/grpc/grpc-java.git'
developerConnection = 'scm:git:[email protected]:grpc/grpc-java.git'
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
}

licenses {
license {
name = 'Apache 2.0'
url = 'https://opensource.org/licenses/Apache-2.0'
scm {
connection = 'scm:git:https://github.com/grpc/grpc-java.git'
developerConnection = 'scm:git:[email protected]:grpc/grpc-java.git'
url = 'https://github.com/grpc/grpc-java'
}
}

developers {
developer {
id = "grpc.io"
name = "gRPC Contributors"
email = "[email protected]"
url = "https://grpc.io/"
organization = "gRPC Authors"
organizationUrl = "https://www.google.com"
licenses {
license {
name = 'Apache 2.0'
url = 'https://opensource.org/licenses/Apache-2.0'
}
}
}

withXml {
if (!(project.name in
[
"grpc-stub",
"grpc-protobuf",
"grpc-protobuf-lite",
])) {
asNode().dependencies.'*'.findAll() { dep ->
dep.artifactId.text() in ['grpc-api', 'grpc-core']
}.each() { core ->
core.version*.value = "[" + core.version.text() + "]"
developers {
developer {
id = "grpc.io"
name = "gRPC Contributors"
email = "[email protected]"
url = "https://grpc.io/"
organization = "gRPC Authors"
organizationUrl = "https://www.google.com"
}
}

withXml {
if (!(project.name in
[
"grpc-stub",
"grpc-protobuf",
"grpc-protobuf-lite",
])) {
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
repositories {
maven {
if (rootProject.hasProperty('repositoryDir')) {
url = new File(rootProject.repositoryDir).toURI()
} 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
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
}
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
}

[publishMavenPublicationToMavenRepository, publishMavenPublicationToMavenLocal]*.onlyIf {
!name.contains("grpc-gae-interop-testing") && !name.contains("grpc-xds")
signing {
required false
sign publishing.publications.maven
}
}

// At a test failure, log the stack trace to the console so that we don't
Expand Down
1 change: 1 addition & 0 deletions compiler/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
id "cpp"
id "maven-publish"

id "com.google.protobuf"
}
Expand Down
2 changes: 2 additions & 0 deletions context/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "me.champeau.gradle.jmh"
}

Expand Down
2 changes: 2 additions & 0 deletions core/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "me.champeau.gradle.jmh"
}

Expand Down
2 changes: 2 additions & 0 deletions grpclb/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.google.protobuf"
}

Expand Down
1 change: 1 addition & 0 deletions interop-testing/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
plugins {
id "application"
id "maven-publish"

id "com.google.protobuf"
}
Expand Down
2 changes: 2 additions & 0 deletions netty/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "me.champeau.gradle.jmh"
}

Expand Down
2 changes: 2 additions & 0 deletions netty/shaded/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.github.johnrengelman.shadow"
}

Expand Down
4 changes: 4 additions & 0 deletions okhttp/build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}

description = "gRPC: OkHttp"

dependencies {
Expand Down
2 changes: 2 additions & 0 deletions protobuf-lite/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.google.protobuf"
}

Expand Down
2 changes: 2 additions & 0 deletions protobuf/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.google.protobuf"
}

Expand Down
2 changes: 2 additions & 0 deletions services/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.google.protobuf"
}

Expand Down
4 changes: 4 additions & 0 deletions stub/build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}

description = "gRPC: Stub"
dependencies {
compile project(':grpc-api')
Expand Down
2 changes: 2 additions & 0 deletions testing-proto/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.google.protobuf"
}

Expand Down
4 changes: 4 additions & 0 deletions testing/build.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}

description = "gRPC: Testing"

dependencies {
Expand Down
3 changes: 3 additions & 0 deletions xds/build.gradle
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins {
id "maven-publish"

id "com.github.johnrengelman.shadow"
id "com.google.protobuf"
}
Expand Down Expand Up @@ -68,3 +70,4 @@ publishing {
}
}
}
[publishMavenPublicationToMavenRepository, publishMavenPublicationToMavenLocal]*.onlyIf { false }

0 comments on commit 5b838e5

Please sign in to comment.