Apply maven-publish plugin explicitly when needed

This commit is contained in:
Eric Anderson 2019-09-07 09:27:32 -07:00
parent 55ac6f08af
commit 5b838e5284
22 changed files with 131 additions and 84 deletions

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.github.kt3k.coveralls"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.github.johnrengelman.shadow"
id "com.google.protobuf"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "me.champeau.gradle.jmh"
}

View File

@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}
description = "gRPC: Auth"
dependencies {
compile project(':grpc-api'),

View File

@ -1,5 +1,6 @@
plugins {
id "application"
id "maven-publish"
id "com.google.protobuf"
id "me.champeau.gradle.jmh"

View File

@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}
description = 'gRPC: BOM'
publishing {

View File

@ -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"
@ -305,109 +304,107 @@ subprojects {
}
}
task javadocJar(type: Jar) {
classifier = 'javadoc'
from javadoc
}
plugins.withId("maven-publish") {
task javadocJar(type: Jar) {
classifier = 'javadoc'
from javadoc
}
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allSource
}
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
}
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
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:git@github.com:grpc/grpc-java.git'
artifact javadocJar
artifact sourcesJar
pom {
name = project.group + ":" + project.name
url = 'https://github.com/grpc/grpc-java'
}
licenses {
license {
name = 'Apache 2.0'
url = 'https://opensource.org/licenses/Apache-2.0'
afterEvaluate {
// description is not available until evaluated.
description = project.description
}
}
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"
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'
}
}
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() + "]"
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 {
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

View File

@ -1,5 +1,6 @@
plugins {
id "cpp"
id "maven-publish"
id "com.google.protobuf"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "me.champeau.gradle.jmh"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "me.champeau.gradle.jmh"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.google.protobuf"
}

View File

@ -1,5 +1,6 @@
plugins {
id "application"
id "maven-publish"
id "com.google.protobuf"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "me.champeau.gradle.jmh"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.github.johnrengelman.shadow"
}

View File

@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}
description = "gRPC: OkHttp"
dependencies {

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.google.protobuf"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.google.protobuf"
}

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.google.protobuf"
}

View File

@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}
description = "gRPC: Stub"
dependencies {
compile project(':grpc-api')

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.google.protobuf"
}

View File

@ -1,3 +1,7 @@
plugins {
id "maven-publish"
}
description = "gRPC: Testing"
dependencies {

View File

@ -1,4 +1,6 @@
plugins {
id "maven-publish"
id "com.github.johnrengelman.shadow"
id "com.google.protobuf"
}
@ -68,3 +70,4 @@ publishing {
}
}
}
[publishMavenPublicationToMavenRepository, publishMavenPublicationToMavenLocal]*.onlyIf { false }