99 lines
2.8 KiB
Groovy
99 lines
2.8 KiB
Groovy
apply plugin: 'maven-publish'
|
|
apply plugin: 'signing'
|
|
|
|
apply plugin: 'de.marcphilipp.nexus-publish'
|
|
|
|
nexusPublishing {
|
|
repositories {
|
|
sonatype()
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
maven(MavenPublication) {
|
|
if (project.tasks.findByName("shadowJar") != null && !findProperty('noShadowPublish')) {
|
|
project.shadow.component(it)
|
|
//These two are here just to satisfy Maven Central
|
|
artifact sourcesJar
|
|
artifact javadocJar
|
|
} else {
|
|
from components.java
|
|
}
|
|
|
|
afterEvaluate {
|
|
def mavenGroupId = project.findProperty('mavenGroupId')
|
|
if (mavenGroupId) {
|
|
groupId = mavenGroupId
|
|
}
|
|
artifactId = artifactPrefix(project, archivesBaseName) + archivesBaseName
|
|
|
|
if (!groupId.startsWith("io.opentelemetry.")) {
|
|
throw new GradleException("groupId is not set for this project or its parent $project.parent")
|
|
}
|
|
}
|
|
|
|
pom {
|
|
name = 'OpenTelemetry Instrumentation for Java'
|
|
packaging = 'jar'
|
|
url = 'https://github.com/open-telemetry/opentelemetry-java-instrumentation'
|
|
|
|
licenses {
|
|
license {
|
|
name = 'The Apache License, Version 2.0'
|
|
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
|
}
|
|
}
|
|
|
|
developers {
|
|
developer {
|
|
id = 'opentelemetry'
|
|
name = 'OpenTelemetry Gitter'
|
|
url = 'https://gitter.im/open-telemetry/opentelemetry-java-instrumentation'
|
|
}
|
|
}
|
|
|
|
scm {
|
|
connection = 'scm:git:git@github.com:open-telemetry/opentelemetry-java-instrumentation.git'
|
|
developerConnection = 'scm:git:git@github.com:open-telemetry/opentelemetry-java-instrumentation.git'
|
|
url = 'git@github.com:open-telemetry/opentelemetry-java-instrumentation.git'
|
|
}
|
|
|
|
afterEvaluate {
|
|
// description is not available until evaluated.
|
|
description = project.description ?: 'Instrumentation of Java libraries using OpenTelemetry.'
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
private String artifactPrefix(Project p, String archivesBaseName) {
|
|
if (archivesBaseName.startsWith("opentelemetry")) {
|
|
return ''
|
|
}
|
|
if (p.name.startsWith("opentelemetry")) {
|
|
return ''
|
|
}
|
|
if (p.name.startsWith("javaagent")) {
|
|
return 'opentelemetry-'
|
|
}
|
|
if (p.group == 'io.opentelemetry.javaagent.instrumentation') {
|
|
return 'opentelemetry-javaagent-'
|
|
}
|
|
return 'opentelemetry-'
|
|
}
|
|
|
|
rootProject.tasks.release.finalizedBy tasks.publishToSonatype
|
|
rootProject.tasks.closeAndReleaseRepository.dependsOn tasks.publishToSonatype
|
|
|
|
tasks.withType(Sign).configureEach {
|
|
onlyIf { System.getenv("CI") != null }
|
|
}
|
|
|
|
signing {
|
|
useInMemoryPgpKeys(System.getenv("GPG_PRIVATE_KEY"), System.getenv("GPG_PASSWORD"))
|
|
sign publishing.publications.maven
|
|
}
|