-
Notifications
You must be signed in to change notification settings - Fork 183
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Add dependencies BOM Motivation: The current ServiceTalk BOM file includes only ServiceTalk modules and does not include version information for the external dependencies referenced by ServiceTalk. This information can be found transitively but it is beneficial to be explicitly include it all in a BOM file. Modifications: Add an additional BOM `servicetalk-dependencies` which includes both ServiceTalk modules and BOMs and versions for external dependencies. Result: An additional ServiceTalk BOM which can improve dependency version resolution by explicitly identifying the preferred and tested versions of external components which ServiceTalk utilizes.
- Loading branch information
Showing
6 changed files
with
137 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
/* | ||
* Copyright © 2018-2019 Apple Inc. and the ServiceTalk project authors | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* http://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
apply plugin: "io.servicetalk.servicetalk-gradle-plugin-internal-core" | ||
apply plugin: "java-platform" | ||
|
||
description = "ServiceTalk BOM that includes direct dependencies" | ||
|
||
javaPlatform { | ||
allowDependencies() | ||
} | ||
|
||
dependencies { | ||
api platform(project(":servicetalk-bom")) | ||
api platform("io.netty:netty-bom:${nettyVersion}") | ||
api platform("org.glassfish.jersey:jersey-bom:$jerseyVersion") | ||
|
||
constraints { | ||
// Use `api` only for dependencies whose types appear in ServiceTalk API. | ||
api "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion" | ||
api "com.google.api.grpc:proto-google-common-protos:$protoGoogleCommonProtosVersion" | ||
api "com.google.protobuf:protobuf-java:$protobufVersion" | ||
api "io.opentracing:opentracing-api:$openTracingVersion" | ||
api "io.zipkin.reporter2:zipkin-reporter:$zipkinReporterVersion" | ||
// `spi` and `core` types exposed in `log4j2-mdc-utils` | ||
api "org.apache.logging.log4j:log4j-core:$log4jVersion" | ||
api "jakarta.ws.rs:jakarta.ws.rs-api:$jaxRsVersion" | ||
// Matchers are exposed by `servicetalk-test-resources` | ||
api "org.hamcrest:hamcrest:$hamcrestVersion" | ||
api "org.reactivestreams:reactive-streams:$reactiveStreamsVersion" | ||
// Use `runtime` for dependencies which are used for implementation | ||
runtime "com.google.code.findbugs:jsr305:$jsr305Version" | ||
runtime "com.google.protobuf:protobuf-java-util:$protobufVersion" | ||
runtime "com.sun.activation:jakarta.activation:$javaxActivationVersion" | ||
runtime "com.sun.xml.bind:jaxb-core:$javaxJaxbCoreVersion" | ||
runtime "com.sun.xml.bind:jaxb-impl:$javaxJaxbImplVersion" | ||
runtime "jakarta.xml.bind:jakarta.xml.bind-api:$javaxJaxbApiVersion" | ||
runtime "org.apache.logging.log4j:log4j-slf4j-impl:$log4jVersion" | ||
runtime "org.jctools:jctools-core:$jcToolsVersion" | ||
runtime "org.openjdk.jmh:jmh-core:$jmhCoreVersion" | ||
runtime "org.slf4j:slf4j-api:$slf4jVersion" | ||
} | ||
} | ||
|
||
// Keep publishing and signing configuration in sync with ServiceTalkLibraryPlugin.groovy from | ||
// servicetalk-gradle-plugin-internal | ||
publishing { | ||
publications { | ||
mavenJava(MavenPublication) { | ||
// publish POM | ||
from components.javaPlatform | ||
pom { | ||
name = project.name | ||
description = project.description | ||
url = 'https://servicetalk.io' | ||
licenses { | ||
license { | ||
name = 'The Apache License, Version 2.0' | ||
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' | ||
} | ||
} | ||
developers { | ||
developer { | ||
id = 'servicetalk-project-authors' | ||
name = 'ServiceTalk project authors' | ||
email = '[email protected]' | ||
} | ||
} | ||
scm { | ||
connection = "scm:git:git://${scmHost}/${scmPath}.git" | ||
developerConnection = "scm:git:ssh://${scmHost}:${scmPath}.git" | ||
url = "https://${scmHost}/${scmPath}" | ||
} | ||
issueManagement { | ||
system = 'ServiceTalk Issues' | ||
url = "${issueManagementUrl}" | ||
} | ||
ciManagement { | ||
system = 'ServiceTalk CI' | ||
url = "${ciManagementUrl}" | ||
} | ||
} | ||
} | ||
} | ||
|
||
if (!repositories) { | ||
repositories { | ||
maven { | ||
name = "sonatype" | ||
def releasesRepoUrl = "https://oss.sonatype.org/service/local/staging/deploy/maven2" | ||
def snapshotsRepoUrl = "https://oss.sonatype.org/content/repositories/snapshots" | ||
url = project.isReleaseBuild ? releasesRepoUrl : snapshotsRepoUrl | ||
credentials { | ||
username = System.getenv("SONATYPE_USER") | ||
password = System.getenv("SONATYPE_TOKEN") | ||
} | ||
} | ||
} | ||
} | ||
} | ||
|
||
if (!!findProperty("signingKey") && !!findProperty("signingPassword")) { | ||
pluginManager.apply("signing") | ||
signing { | ||
def signingKey = findProperty("signingKey") | ||
def signingPassword = findProperty("signingPassword") | ||
useInMemoryPgpKeys(signingKey, signingPassword) | ||
sign publishing.publications.mavenJava | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters