Prohibit unwanted dependencies in all modules not just starters
Closes gh-28658
This commit is contained in:
parent
0889cdd516
commit
2cec3971d7
@ -48,9 +48,11 @@ import org.gradle.api.tasks.testing.Test;
|
||||
import org.gradle.testretry.TestRetryPlugin;
|
||||
import org.gradle.testretry.TestRetryTaskExtension;
|
||||
|
||||
import org.springframework.boot.build.classpath.CheckClasspathForProhibitedDependencies;
|
||||
import org.springframework.boot.build.optional.OptionalDependenciesPlugin;
|
||||
import org.springframework.boot.build.testing.TestFailuresPlugin;
|
||||
import org.springframework.boot.build.toolchain.ToolchainPlugin;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* Conventions that are applied in the presence of the {@link JavaBasePlugin}. When the
|
||||
@ -112,6 +114,7 @@ class JavaConventions {
|
||||
configureJarManifestConventions(project);
|
||||
configureDependencyManagement(project);
|
||||
configureToolchain(project);
|
||||
configureProhibitedDependencyChecks(project);
|
||||
});
|
||||
}
|
||||
|
||||
@ -239,4 +242,26 @@ class JavaConventions {
|
||||
project.getPlugins().apply(ToolchainPlugin.class);
|
||||
}
|
||||
|
||||
private void configureProhibitedDependencyChecks(Project project) {
|
||||
SourceSetContainer sourceSets = project.getExtensions().getByType(SourceSetContainer.class);
|
||||
sourceSets.all((sourceSet) -> createProhibitedDependenciesChecks(project,
|
||||
sourceSet.getCompileClasspathConfigurationName(), sourceSet.getRuntimeClasspathConfigurationName()));
|
||||
}
|
||||
|
||||
private void createProhibitedDependenciesChecks(Project project, String... configurationNames) {
|
||||
ConfigurationContainer configurations = project.getConfigurations();
|
||||
for (String configurationName : configurationNames) {
|
||||
Configuration configuration = configurations.getByName(configurationName);
|
||||
createProhibitedDependenciesCheck(configuration, project);
|
||||
}
|
||||
}
|
||||
|
||||
private void createProhibitedDependenciesCheck(Configuration classpath, Project project) {
|
||||
CheckClasspathForProhibitedDependencies checkClasspathForProhibitedDependencies = project.getTasks().create(
|
||||
"check" + StringUtils.capitalize(classpath.getName() + "ForProhibitedDependencies"),
|
||||
CheckClasspathForProhibitedDependencies.class);
|
||||
checkClasspathForProhibitedDependencies.setClasspath(classpath);
|
||||
project.getTasks().getByName(JavaBasePlugin.CHECK_TASK_NAME).dependsOn(checkClasspathForProhibitedDependencies);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -70,6 +70,12 @@ public class CheckClasspathForProhibitedDependencies extends DefaultTask {
|
||||
if (group.equals("javax.batch")) {
|
||||
return false;
|
||||
}
|
||||
if (group.equals("javax.cache")) {
|
||||
return false;
|
||||
}
|
||||
if (group.equals("javax.money")) {
|
||||
return false;
|
||||
}
|
||||
if (group.startsWith("javax")) {
|
||||
return true;
|
||||
}
|
||||
|
@ -33,7 +33,6 @@ import org.gradle.api.tasks.bundling.Jar;
|
||||
import org.springframework.boot.build.ConventionsPlugin;
|
||||
import org.springframework.boot.build.DeployedPlugin;
|
||||
import org.springframework.boot.build.classpath.CheckClasspathForConflicts;
|
||||
import org.springframework.boot.build.classpath.CheckClasspathForProhibitedDependencies;
|
||||
import org.springframework.boot.build.classpath.CheckClasspathForUnnecessaryExclusions;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
@ -62,7 +61,6 @@ public class StarterPlugin implements Plugin<Project> {
|
||||
project.getArtifacts().add("starterMetadata", project.provider(starterMetadata::getDestination),
|
||||
(artifact) -> artifact.builtBy(starterMetadata));
|
||||
createClasspathConflictsCheck(runtimeClasspath, project);
|
||||
createProhibitedDependenciesCheck(runtimeClasspath, project);
|
||||
createUnnecessaryExclusionsCheck(runtimeClasspath, project);
|
||||
configureJarManifest(project);
|
||||
}
|
||||
@ -75,14 +73,6 @@ public class StarterPlugin implements Plugin<Project> {
|
||||
project.getTasks().getByName(JavaBasePlugin.CHECK_TASK_NAME).dependsOn(checkClasspathForConflicts);
|
||||
}
|
||||
|
||||
private void createProhibitedDependenciesCheck(Configuration classpath, Project project) {
|
||||
CheckClasspathForProhibitedDependencies checkClasspathForProhibitedDependencies = project.getTasks().create(
|
||||
"check" + StringUtils.capitalize(classpath.getName() + "ForProhibitedDependencies"),
|
||||
CheckClasspathForProhibitedDependencies.class);
|
||||
checkClasspathForProhibitedDependencies.setClasspath(classpath);
|
||||
project.getTasks().getByName(JavaBasePlugin.CHECK_TASK_NAME).dependsOn(checkClasspathForProhibitedDependencies);
|
||||
}
|
||||
|
||||
private void createUnnecessaryExclusionsCheck(Configuration classpath, Project project) {
|
||||
CheckClasspathForUnnecessaryExclusions checkClasspathForUnnecessaryExclusions = project.getTasks().create(
|
||||
"check" + StringUtils.capitalize(classpath.getName() + "ForUnnecessaryExclusions"),
|
||||
|
@ -105,6 +105,12 @@ class ConventionsPluginTests {
|
||||
out.println("version = '1.2.3'");
|
||||
out.println("sourceCompatibility = '1.8'");
|
||||
out.println("description 'Test'");
|
||||
out.println("repositories {");
|
||||
out.println(" mavenCentral()");
|
||||
out.println("}");
|
||||
out.println("dependencies {");
|
||||
out.println(" implementation(platform(\"org.junit:junit-bom:5.6.0\"))");
|
||||
out.println("}");
|
||||
}
|
||||
runGradle("build");
|
||||
File file = new File(this.projectDir, "/build/libs/" + this.projectDir.getName() + "-1.2.3-sources.jar");
|
||||
@ -134,6 +140,12 @@ class ConventionsPluginTests {
|
||||
out.println("version = '1.2.3'");
|
||||
out.println("sourceCompatibility = '1.8'");
|
||||
out.println("description 'Test'");
|
||||
out.println("repositories {");
|
||||
out.println(" mavenCentral()");
|
||||
out.println("}");
|
||||
out.println("dependencies {");
|
||||
out.println(" implementation(platform(\"org.junit:junit-bom:5.6.0\"))");
|
||||
out.println("}");
|
||||
}
|
||||
runGradle("build");
|
||||
File file = new File(this.projectDir, "/build/libs/" + this.projectDir.getName() + "-1.2.3-javadoc.jar");
|
||||
|
@ -26,7 +26,9 @@ dependencies {
|
||||
implementation("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
|
||||
|
||||
optional("ch.qos.logback:logback-classic")
|
||||
optional("com.datastax.oss:java-driver-core")
|
||||
optional("com.datastax.oss:java-driver-core") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
optional("com.fasterxml.jackson.dataformat:jackson-dataformat-xml")
|
||||
optional("com.github.ben-manes.caffeine:caffeine")
|
||||
optional("com.hazelcast:hazelcast")
|
||||
@ -38,7 +40,9 @@ dependencies {
|
||||
optional("io.micrometer:micrometer-core")
|
||||
optional("io.micrometer:micrometer-jersey2")
|
||||
optional("io.micrometer:micrometer-registry-appoptics")
|
||||
optional("io.micrometer:micrometer-registry-atlas")
|
||||
optional("io.micrometer:micrometer-registry-atlas") {
|
||||
exclude group: "javax.inject", module: "javax.inject"
|
||||
}
|
||||
optional("io.micrometer:micrometer-registry-datadog")
|
||||
optional("io.micrometer:micrometer-registry-dynatrace")
|
||||
optional("io.micrometer:micrometer-registry-elastic")
|
||||
@ -50,8 +54,13 @@ dependencies {
|
||||
optional("io.micrometer:micrometer-registry-kairos")
|
||||
optional("io.micrometer:micrometer-registry-new-relic")
|
||||
optional("io.micrometer:micrometer-registry-prometheus")
|
||||
optional("io.micrometer:micrometer-registry-stackdriver")
|
||||
optional("io.prometheus:simpleclient_pushgateway")
|
||||
optional("io.micrometer:micrometer-registry-stackdriver") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "javax.annotation", module: "javax.annotation-api"
|
||||
}
|
||||
optional("io.prometheus:simpleclient_pushgateway") {
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
optional("io.micrometer:micrometer-registry-signalfx")
|
||||
optional("io.micrometer:micrometer-registry-statsd")
|
||||
optional("io.micrometer:micrometer-registry-wavefront")
|
||||
@ -59,28 +68,45 @@ dependencies {
|
||||
optional("io.r2dbc:r2dbc-pool")
|
||||
optional("io.r2dbc:r2dbc-spi")
|
||||
optional("jakarta.jms:jakarta.jms-api")
|
||||
optional("jakarta.persistence:jakarta.persistence-api")
|
||||
optional("jakarta.servlet:jakarta.servlet-api")
|
||||
optional("javax.cache:cache-api")
|
||||
optional("net.sf.ehcache:ehcache")
|
||||
optional("org.apache.activemq:activemq-broker")
|
||||
optional("org.apache.commons:commons-dbcp2")
|
||||
optional("org.apache.activemq:activemq-broker") {
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_1.1_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-j2ee-management_1.1_spec"
|
||||
}
|
||||
optional("org.apache.commons:commons-dbcp2") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("org.apache.kafka:kafka-clients")
|
||||
optional("org.apache.kafka:kafka-streams")
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-core")
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-el")
|
||||
optional("org.apache.tomcat:tomcat-jdbc")
|
||||
optional("org.aspectj:aspectjweaver")
|
||||
optional("org.eclipse.jetty:jetty-server")
|
||||
optional("org.eclipse.jetty:jetty-server") {
|
||||
exclude group: "javax.servlet", module: "javax.servlet-api"
|
||||
}
|
||||
optional("org.elasticsearch:elasticsearch")
|
||||
optional("org.elasticsearch.client:elasticsearch-rest-client")
|
||||
optional("org.elasticsearch.client:elasticsearch-rest-client") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("org.flywaydb:flyway-core")
|
||||
optional("org.glassfish.jersey.core:jersey-server")
|
||||
optional("org.glassfish.jersey.containers:jersey-container-servlet-core")
|
||||
optional("org.hibernate:hibernate-core")
|
||||
optional("org.hibernate:hibernate-core") {
|
||||
exclude group: "javax.activation", module: "javax.activation-api"
|
||||
exclude group: "javax.persistence", module: "javax.persistence-api"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
optional("org.hibernate.validator:hibernate-validator")
|
||||
optional("org.influxdb:influxdb-java")
|
||||
optional("org.jolokia:jolokia-core")
|
||||
optional("org.liquibase:liquibase-core")
|
||||
optional("org.liquibase:liquibase-core") {
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
optional("org.mongodb:mongodb-driver-reactivestreams")
|
||||
optional("org.mongodb:mongodb-driver-sync")
|
||||
optional("org.neo4j.driver:neo4j-java-driver")
|
||||
@ -90,12 +116,16 @@ dependencies {
|
||||
optional("org.springframework:spring-webflux")
|
||||
optional("org.springframework:spring-webmvc")
|
||||
optional("org.springframework.amqp:spring-rabbit")
|
||||
optional("org.springframework.data:spring-data-cassandra")
|
||||
optional("org.springframework.data:spring-data-cassandra") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
optional("org.springframework.data:spring-data-couchbase")
|
||||
optional("org.springframework.data:spring-data-ldap")
|
||||
optional("org.springframework.data:spring-data-mongodb")
|
||||
optional("org.springframework.data:spring-data-redis")
|
||||
optional("org.springframework.data:spring-data-elasticsearch")
|
||||
optional("org.springframework.data:spring-data-elasticsearch") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("org.springframework.data:spring-data-solr")
|
||||
optional("org.springframework.integration:spring-integration-core")
|
||||
optional("org.springframework.kafka:spring-kafka")
|
||||
@ -112,15 +142,17 @@ dependencies {
|
||||
testImplementation("com.jayway.jsonpath:json-path")
|
||||
testImplementation("io.undertow:undertow-core")
|
||||
testImplementation("io.undertow:undertow-servlet") {
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.2_spec"
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.3_spec"
|
||||
exclude group: "org.jboss.spec.javax.servlet", module: "jboss-servlet-api_4.0_spec"
|
||||
}
|
||||
testImplementation("javax.xml.bind:jaxb-api")
|
||||
testImplementation("jakarta.xml.bind:jakarta.xml.bind-api")
|
||||
testImplementation("org.apache.logging.log4j:log4j-to-slf4j")
|
||||
testImplementation("org.aspectj:aspectjrt")
|
||||
testImplementation("org.assertj:assertj-core")
|
||||
testImplementation("org.awaitility:awaitility")
|
||||
testImplementation("org.eclipse.jetty:jetty-webapp")
|
||||
testImplementation("org.eclipse.jetty:jetty-webapp") {
|
||||
exclude group: "javax.servlet", module: "javax.servlet-api"
|
||||
}
|
||||
testImplementation("org.glassfish.jersey.ext:jersey-spring5")
|
||||
testImplementation("org.glassfish.jersey.media:jersey-media-json-jackson")
|
||||
testImplementation("org.hamcrest:hamcrest")
|
||||
@ -130,16 +162,17 @@ dependencies {
|
||||
testImplementation("org.mockito:mockito-junit-jupiter")
|
||||
testImplementation("org.skyscreamer:jsonassert")
|
||||
testImplementation("org.springframework:spring-orm")
|
||||
testImplementation("org.springframework.data:spring-data-elasticsearch") {
|
||||
exclude group: "org.elasticsearch.client", module: "transport"
|
||||
}
|
||||
testImplementation("org.springframework.data:spring-data-rest-webmvc")
|
||||
testImplementation("org.springframework.integration:spring-integration-jmx")
|
||||
testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc")
|
||||
testImplementation("org.springframework.restdocs:spring-restdocs-mockmvc") {
|
||||
exclude group: "javax.servlet", module: "javax.servlet-api"
|
||||
}
|
||||
testImplementation("org.springframework.restdocs:spring-restdocs-webtestclient")
|
||||
testImplementation("org.springframework.security:spring-security-test")
|
||||
testImplementation("org.yaml:snakeyaml")
|
||||
|
||||
testRuntimeOnly("jakarta.management.j2ee:jakarta.management.j2ee-api")
|
||||
testRuntimeOnly("jakarta.transaction:jakarta.transaction-api")
|
||||
testRuntimeOnly("org.springframework.security:spring-security-oauth2-jose")
|
||||
testRuntimeOnly("org.springframework.security:spring-security-oauth2-resource-server")
|
||||
testRuntimeOnly("org.springframework.security:spring-security-saml2-service-provider")
|
||||
|
@ -11,7 +11,9 @@ description = "Spring Boot Actuator"
|
||||
dependencies {
|
||||
api(project(":spring-boot-project:spring-boot"))
|
||||
|
||||
optional("com.datastax.oss:java-driver-core")
|
||||
optional("com.datastax.oss:java-driver-core") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
optional("com.fasterxml.jackson.core:jackson-databind")
|
||||
optional("com.fasterxml.jackson.datatype:jackson-datatype-jsr310")
|
||||
optional("com.github.ben-manes.caffeine:caffeine")
|
||||
@ -22,28 +24,36 @@ dependencies {
|
||||
optional("io.lettuce:lettuce-core")
|
||||
optional("io.micrometer:micrometer-core")
|
||||
optional("io.micrometer:micrometer-registry-prometheus")
|
||||
optional("io.prometheus:simpleclient_pushgateway")
|
||||
optional("io.prometheus:simpleclient_pushgateway") {
|
||||
exclude(group: "javax.xml.bind", module: "jaxb-api")
|
||||
}
|
||||
optional("io.r2dbc:r2dbc-pool")
|
||||
optional("io.r2dbc:r2dbc-spi")
|
||||
optional("io.reactivex:rxjava-reactive-streams")
|
||||
optional("org.elasticsearch.client:elasticsearch-rest-client")
|
||||
optional("org.elasticsearch.client:elasticsearch-rest-client") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
optional("io.undertow:undertow-servlet") {
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.2_spec"
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.3_spec"
|
||||
exclude group: "org.jboss.spec.javax.servlet", module: "jboss-servlet-api_4.0_spec"
|
||||
}
|
||||
optional("javax.cache:cache-api")
|
||||
optional("javax.jms:javax.jms-api")
|
||||
optional("jakarta.jms:jakarta.jms-api")
|
||||
optional("net.sf.ehcache:ehcache")
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-core")
|
||||
optional("org.aspectj:aspectjweaver")
|
||||
optional("org.eclipse.jetty:jetty-server")
|
||||
optional("org.eclipse.jetty:jetty-server") {
|
||||
exclude(group: "javax.servlet", module: "javax.servlet-api")
|
||||
}
|
||||
optional("org.elasticsearch:elasticsearch")
|
||||
optional("org.flywaydb:flyway-core")
|
||||
optional("org.glassfish.jersey.core:jersey-server")
|
||||
optional("org.glassfish.jersey.containers:jersey-container-servlet-core")
|
||||
optional("org.hibernate.validator:hibernate-validator")
|
||||
optional("org.influxdb:influxdb-java")
|
||||
optional("org.liquibase:liquibase-core")
|
||||
optional("org.liquibase:liquibase-core") {
|
||||
exclude(group: "javax.xml.bind", module: "jaxb-api")
|
||||
}
|
||||
optional("org.mongodb:mongodb-driver-reactivestreams")
|
||||
optional("org.mongodb:mongodb-driver-sync")
|
||||
optional("org.neo4j.driver:neo4j-java-driver")
|
||||
@ -53,9 +63,13 @@ dependencies {
|
||||
optional("org.springframework:spring-web")
|
||||
optional("org.springframework:spring-webmvc")
|
||||
optional("org.springframework.amqp:spring-rabbit")
|
||||
optional("org.springframework.data:spring-data-cassandra")
|
||||
optional("org.springframework.data:spring-data-cassandra") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
optional("org.springframework.data:spring-data-couchbase")
|
||||
optional("org.springframework.data:spring-data-elasticsearch")
|
||||
optional("org.springframework.data:spring-data-elasticsearch") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
optional("org.springframework.data:spring-data-ldap")
|
||||
optional("org.springframework.data:spring-data-mongodb")
|
||||
optional("org.springframework.data:spring-data-redis")
|
||||
@ -86,7 +100,7 @@ dependencies {
|
||||
testImplementation("org.testcontainers:junit-jupiter")
|
||||
|
||||
testRuntimeOnly("io.projectreactor.netty:reactor-netty-http")
|
||||
testRuntimeOnly("javax.xml.bind:jaxb-api")
|
||||
testRuntimeOnly("jakarta.xml.bind:jakarta.xml.bind-api")
|
||||
testRuntimeOnly("org.apache.tomcat.embed:tomcat-embed-el")
|
||||
testRuntimeOnly("org.glassfish.jersey.ext:jersey-spring5")
|
||||
testRuntimeOnly("org.hsqldb:hsqldb")
|
||||
|
@ -36,49 +36,81 @@ dependencies {
|
||||
optional("io.rsocket:rsocket-core")
|
||||
optional("io.rsocket:rsocket-transport-netty")
|
||||
optional("io.undertow:undertow-servlet") {
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.2_spec"
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.3_spec"
|
||||
exclude group: "org.jboss.spec.javax.servlet", module: "jboss-servlet-api_4.0_spec"
|
||||
}
|
||||
optional("io.undertow:undertow-websockets-jsr") {
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.2_spec"
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.3_spec"
|
||||
exclude group: "org.jboss.spec.javax.servlet", module: "jboss-servlet-api_4.0_spec"
|
||||
exclude group: "org.jboss.spec.javax.websocket", module: "jboss-websocket-api_1.1_spec"
|
||||
}
|
||||
optional("jakarta.jms:jakarta.jms-api")
|
||||
optional("jakarta.mail:jakarta.mail-api")
|
||||
optional("jakarta.json.bind:jakarta.json.bind-api")
|
||||
optional("jakarta.persistence:jakarta.persistence-api")
|
||||
optional("jakarta.transaction:jakarta.transaction-api")
|
||||
optional("jakarta.validation:jakarta.validation-api")
|
||||
optional("jakarta.ws.rs:jakarta.ws.rs-api")
|
||||
optional("javax.cache:cache-api")
|
||||
optional("javax.money:money-api")
|
||||
optional("net.sf.ehcache:ehcache")
|
||||
optional("org.apache.activemq:activemq-broker")
|
||||
optional("org.apache.activemq:artemis-jms-client")
|
||||
optional("org.apache.activemq:artemis-jms-server")
|
||||
optional("org.apache.commons:commons-dbcp2")
|
||||
optional("org.apache.activemq:activemq-broker") {
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-j2ee-management_1.1_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_1.1_spec"
|
||||
}
|
||||
optional("org.apache.activemq:artemis-jms-client") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_2.0_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-json_1.0_spec"
|
||||
}
|
||||
optional("org.apache.activemq:artemis-jms-server") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_2.0_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-json_1.0_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jta_1.1_spec"
|
||||
}
|
||||
optional("org.apache.commons:commons-dbcp2") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("org.apache.kafka:kafka-streams")
|
||||
optional("org.apache.solr:solr-solrj")
|
||||
optional("org.apache.solr:solr-solrj") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-core")
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-el")
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-websocket")
|
||||
optional("org.apache.tomcat:tomcat-jdbc")
|
||||
optional("org.codehaus.btm:btm")
|
||||
optional("org.codehaus.btm:btm") {
|
||||
exclude group: "javax.transaction", module: "jta"
|
||||
}
|
||||
optional("org.codehaus.groovy:groovy-templates")
|
||||
optional("com.github.ben-manes.caffeine:caffeine")
|
||||
optional("com.github.mxab.thymeleaf.extras:thymeleaf-extras-data-attribute")
|
||||
optional("com.sendgrid:sendgrid-java")
|
||||
optional("com.sendgrid:sendgrid-java") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("com.unboundid:unboundid-ldapsdk")
|
||||
optional("com.zaxxer:HikariCP")
|
||||
optional("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect")
|
||||
optional("org.aspectj:aspectjweaver")
|
||||
optional("org.eclipse.jetty:jetty-webapp")
|
||||
optional("org.eclipse.jetty:jetty-webapp") {
|
||||
exclude group: "javax.servlet", module: "javax.servlet-api"
|
||||
}
|
||||
optional("org.eclipse.jetty:jetty-reactive-httpclient")
|
||||
optional("org.eclipse.jetty.websocket:javax-websocket-server-impl") {
|
||||
exclude(group: "org.eclipse.jetty", module: "jetty-jndi")
|
||||
optional("org.eclipse.jetty.websocket:javax-websocket-server-impl") {
|
||||
exclude group: "javax.annotation", module: "javax.annotation-api"
|
||||
exclude group: "javax.servlet", module: "javax.servlet-api"
|
||||
exclude group: "javax.websocket", module: "javax.websocket-api"
|
||||
exclude group: "javax.websocket", module: "javax.websocket-client-api"
|
||||
exclude group: "org.eclipse.jetty", module: "jetty-jndi"
|
||||
}
|
||||
optional("org.ehcache:ehcache")
|
||||
optional("org.elasticsearch.client:elasticsearch-rest-client")
|
||||
optional("org.elasticsearch.client:elasticsearch-rest-high-level-client")
|
||||
optional("org.elasticsearch.client:elasticsearch-rest-client") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("org.elasticsearch.client:elasticsearch-rest-high-level-client") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("org.flywaydb:flyway-core")
|
||||
optional("org.freemarker:freemarker")
|
||||
optional("org.glassfish.jersey.core:jersey-server")
|
||||
@ -86,16 +118,36 @@ dependencies {
|
||||
optional("org.glassfish.jersey.containers:jersey-container-servlet")
|
||||
optional("org.glassfish.jersey.ext:jersey-spring5")
|
||||
optional("org.glassfish.jersey.media:jersey-media-json-jackson")
|
||||
optional("org.hibernate:hibernate-core")
|
||||
optional("org.hibernate:hibernate-jcache")
|
||||
optional("org.hibernate:hibernate-core") {
|
||||
exclude group: "javax.activation", module: "javax.activation-api"
|
||||
exclude group: "javax.persistence", module: "javax.persistence-api"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
optional("org.hibernate:hibernate-jcache") {
|
||||
exclude group: "javax.activation", module: "javax.activation-api"
|
||||
exclude group: "javax.persistence", module: "javax.persistence-api"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
optional("org.hibernate.validator:hibernate-validator")
|
||||
optional("org.infinispan:infinispan-component-annotations")
|
||||
optional("org.infinispan:infinispan-jcache")
|
||||
optional("org.infinispan:infinispan-spring5-embedded")
|
||||
optional("org.infinispan:infinispan-jcache") {
|
||||
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
optional("org.infinispan:infinispan-spring5-embedded") {
|
||||
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
optional("org.influxdb:influxdb-java")
|
||||
optional("org.jooq:jooq")
|
||||
optional("org.liquibase:liquibase-core")
|
||||
optional("org.messaginghub:pooled-jms")
|
||||
optional("org.jooq:jooq") {
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
optional("org.liquibase:liquibase-core") {
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
optional("org.messaginghub:pooled-jms") {
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_2.0_spec"
|
||||
}
|
||||
optional("org.mongodb:mongodb-driver-reactivestreams")
|
||||
optional("org.mongodb:mongodb-driver-sync")
|
||||
optional("org.quartz-scheduler:quartz")
|
||||
@ -115,7 +167,9 @@ dependencies {
|
||||
optional("org.springframework.data:spring-data-couchbase")
|
||||
optional("org.springframework.data:spring-data-jpa")
|
||||
optional("org.springframework.data:spring-data-rest-webmvc")
|
||||
optional("org.springframework.data:spring-data-cassandra")
|
||||
optional("org.springframework.data:spring-data-cassandra") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
optional("org.springframework.data:spring-data-elasticsearch") {
|
||||
exclude group: "org.elasticsearch.client", module: "transport"
|
||||
}
|
||||
@ -129,7 +183,9 @@ dependencies {
|
||||
optional("org.springframework.hateoas:spring-hateoas")
|
||||
optional("org.springframework.security:spring-security-acl")
|
||||
optional("org.springframework.security:spring-security-config")
|
||||
optional("org.springframework.security:spring-security-data")
|
||||
optional("org.springframework.security:spring-security-data") {
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
optional("org.springframework.security:spring-security-oauth2-client")
|
||||
optional("org.springframework.security:spring-security-oauth2-jose")
|
||||
optional("org.springframework.security:spring-security-oauth2-resource-server")
|
||||
@ -139,7 +195,9 @@ dependencies {
|
||||
optional("org.springframework.session:spring-session-core")
|
||||
optional("org.springframework.session:spring-session-data-mongodb")
|
||||
optional("org.springframework.session:spring-session-data-redis")
|
||||
optional("org.springframework.session:spring-session-hazelcast")
|
||||
optional("org.springframework.session:spring-session-hazelcast") {
|
||||
exclude group: "javax.annotation", module: "javax.annotation-api"
|
||||
}
|
||||
optional("org.springframework.session:spring-session-jdbc")
|
||||
optional("org.springframework.amqp:spring-rabbit")
|
||||
optional("org.springframework.kafka:spring-kafka")
|
||||
@ -187,5 +245,6 @@ dependencies {
|
||||
testImplementation("org.testcontainers:testcontainers")
|
||||
testImplementation("org.yaml:snakeyaml")
|
||||
|
||||
testRuntimeOnly("jakarta.management.j2ee:jakarta.management.j2ee-api")
|
||||
testRuntimeOnly("org.jetbrains.kotlin:kotlin-reflect")
|
||||
}
|
||||
|
@ -35,13 +35,16 @@ dependencies {
|
||||
implementation("org.apache.maven:maven-model")
|
||||
implementation("org.apache.maven:maven-resolver-provider") {
|
||||
exclude group: "com.google.guava", module: "guava"
|
||||
exclude group: "javax.inject", module: "javax.inject"
|
||||
}
|
||||
implementation("org.apache.maven.resolver:maven-resolver-connector-basic")
|
||||
implementation("org.apache.maven.resolver:maven-resolver-transport-file")
|
||||
implementation("org.apache.maven.resolver:maven-resolver-transport-http") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
implementation("org.apache.maven:maven-settings-builder")
|
||||
implementation("org.apache.maven:maven-settings-builder") {
|
||||
exclude group: "javax.inject", module: "javax.inject"
|
||||
}
|
||||
implementation("org.codehaus.groovy:groovy")
|
||||
implementation("org.slf4j:slf4j-simple")
|
||||
implementation("org.sonatype.plexus:plexus-sec-dispatcher")
|
||||
|
@ -24,7 +24,9 @@ dependencies {
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-autoconfigure"))
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-test"))
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||
intTestImplementation("org.apache.httpcomponents:httpclient")
|
||||
intTestImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
intTestImplementation("org.assertj:assertj-core")
|
||||
intTestImplementation("org.awaitility:awaitility")
|
||||
intTestImplementation("org.junit.jupiter:junit-jupiter")
|
||||
@ -32,9 +34,15 @@ dependencies {
|
||||
|
||||
intTestRuntimeOnly("org.springframework:spring-web")
|
||||
|
||||
optional("javax.servlet:javax.servlet-api")
|
||||
optional("jakarta.persistence:jakarta.persistence-api")
|
||||
optional("jakarta.servlet:jakarta.servlet-api")
|
||||
optional("org.apache.derby:derby")
|
||||
optional("org.hibernate:hibernate-core")
|
||||
optional("org.hibernate:hibernate-core") {
|
||||
exclude group: "javax.activation", module:"javax.activation-api"
|
||||
exclude group: "javax.persistence", module:"javax.persistence-api"
|
||||
exclude group: "javax.xml.bind", module:"jaxb-api"
|
||||
exclude group: "org.jboss.spec.javax.transaction", module:"jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
optional("org.springframework:spring-jdbc")
|
||||
optional("org.springframework:spring-orm")
|
||||
optional("org.springframework:spring-web")
|
||||
|
@ -69,13 +69,21 @@ dependencies {
|
||||
implementation("io.micrometer:micrometer-core")
|
||||
implementation("io.projectreactor.netty:reactor-netty-http")
|
||||
implementation("io.undertow:undertow-core")
|
||||
implementation("jakarta.persistence:jakarta.persistence-api")
|
||||
implementation("jakarta.servlet:jakarta.servlet-api")
|
||||
implementation("org.apache.commons:commons-dbcp2")
|
||||
implementation("org.apache.commons:commons-dbcp2") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
implementation("org.apache.kafka:kafka-streams")
|
||||
implementation("org.apache.tomcat.embed:tomcat-embed-core")
|
||||
implementation("org.assertj:assertj-core")
|
||||
implementation("org.glassfish.jersey.core:jersey-server")
|
||||
implementation("org.hibernate:hibernate-jcache")
|
||||
implementation("org.hibernate:hibernate-jcache") {
|
||||
exclude group: "javax.activation", module: "javax.activation-api"
|
||||
exclude group: "javax.persistence", module: "javax.persistence-api"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
implementation("org.springframework:spring-orm")
|
||||
implementation("org.springframework:spring-test")
|
||||
implementation("org.springframework:spring-web")
|
||||
@ -85,7 +93,11 @@ dependencies {
|
||||
implementation("org.springframework.data:spring-data-redis")
|
||||
implementation("org.springframework.data:spring-data-r2dbc")
|
||||
implementation("org.springframework.kafka:spring-kafka")
|
||||
implementation("org.springframework.restdocs:spring-restdocs-restassured")
|
||||
implementation("org.springframework.restdocs:spring-restdocs-restassured") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "javax.activation", module: "activation"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
implementation("org.springframework.restdocs:spring-restdocs-webtestclient")
|
||||
implementation("org.springframework.security:spring-security-config")
|
||||
implementation("org.springframework.security:spring-security-web")
|
||||
|
@ -34,6 +34,13 @@ bom {
|
||||
]
|
||||
}
|
||||
}
|
||||
library("Jakarta Inject", "1.0.5") {
|
||||
group("jakarta.inject") {
|
||||
modules = [
|
||||
"jakarta.inject-api"
|
||||
]
|
||||
}
|
||||
}
|
||||
library("JLine", "2.11") {
|
||||
prohibit("[2.12,)") {
|
||||
because "it contains breaking changes"
|
||||
|
@ -12,25 +12,42 @@ dependencies {
|
||||
api(project(":spring-boot-project:spring-boot-test"))
|
||||
api(project(":spring-boot-project:spring-boot-autoconfigure"))
|
||||
|
||||
optional("javax.json.bind:javax.json.bind-api")
|
||||
optional("javax.servlet:javax.servlet-api")
|
||||
optional("javax.transaction:javax.transaction-api")
|
||||
optional("jakarta.json.bind:jakarta.json.bind-api")
|
||||
optional("jakarta.persistence:jakarta.persistence-api")
|
||||
optional("jakarta.servlet:jakarta.servlet-api")
|
||||
optional("jakarta.transaction:jakarta.transaction-api")
|
||||
optional("com.fasterxml.jackson.core:jackson-databind")
|
||||
optional("com.google.code.gson:gson")
|
||||
optional("com.jayway.jsonpath:json-path")
|
||||
optional("com.sun.xml.messaging.saaj:saaj-impl")
|
||||
optional("io.rest-assured:rest-assured")
|
||||
optional("net.sourceforge.htmlunit:htmlunit")
|
||||
optional("org.hibernate:hibernate-core")
|
||||
optional("io.rest-assured:rest-assured") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "javax.activation", module: "activation"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
optional("net.sourceforge.htmlunit:htmlunit") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("org.hibernate:hibernate-core") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "javax.activation", module: "javax.activation-api"
|
||||
exclude group: "javax.persistence", module: "javax.persistence-api"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
optional("org.junit.jupiter:junit-jupiter-api")
|
||||
optional("org.seleniumhq.selenium:htmlunit-driver")
|
||||
optional("org.seleniumhq.selenium:htmlunit-driver") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
optional("org.seleniumhq.selenium:selenium-api")
|
||||
optional("org.springframework:spring-orm")
|
||||
optional("org.springframework:spring-test")
|
||||
optional("org.springframework:spring-web")
|
||||
optional("org.springframework:spring-webmvc")
|
||||
optional("org.springframework:spring-webflux")
|
||||
optional("org.springframework.data:spring-data-cassandra")
|
||||
optional("org.springframework.data:spring-data-cassandra") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
optional("org.springframework.data:spring-data-jdbc")
|
||||
optional("org.springframework.data:spring-data-jpa")
|
||||
optional("org.springframework.data:spring-data-ldap")
|
||||
@ -38,8 +55,14 @@ dependencies {
|
||||
optional("org.springframework.data:spring-data-neo4j")
|
||||
optional("org.springframework.data:spring-data-r2dbc")
|
||||
optional("org.springframework.data:spring-data-redis")
|
||||
optional("org.springframework.restdocs:spring-restdocs-mockmvc")
|
||||
optional("org.springframework.restdocs:spring-restdocs-restassured")
|
||||
optional("org.springframework.restdocs:spring-restdocs-mockmvc") {
|
||||
exclude group: "javax.servlet", module: "javax.servlet-api"
|
||||
}
|
||||
optional("org.springframework.restdocs:spring-restdocs-restassured") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "javax.activation", module: "activation"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
optional("org.springframework.restdocs:spring-restdocs-webtestclient")
|
||||
optional("org.springframework.security:spring-security-config")
|
||||
optional("org.springframework.security:spring-security-test")
|
||||
@ -61,7 +84,7 @@ dependencies {
|
||||
testImplementation("io.projectreactor:reactor-core")
|
||||
testImplementation("io.projectreactor:reactor-test")
|
||||
testImplementation("io.r2dbc:r2dbc-h2")
|
||||
testImplementation("javax.json:javax.json-api")
|
||||
testImplementation("jakarta.json:jakarta.json-api")
|
||||
testImplementation("org.apache.commons:commons-pool2")
|
||||
testImplementation("org.apache.johnzon:johnzon-jsonb")
|
||||
testImplementation("org.apache.tomcat.embed:tomcat-embed-el")
|
||||
@ -71,7 +94,9 @@ dependencies {
|
||||
testImplementation("org.awaitility:awaitility")
|
||||
testImplementation("org.hibernate.validator:hibernate-validator")
|
||||
testImplementation("org.hsqldb:hsqldb")
|
||||
testImplementation("org.jooq:jooq")
|
||||
testImplementation("org.jooq:jooq") {
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
testImplementation("org.junit.jupiter:junit-jupiter")
|
||||
testImplementation("org.junit.platform:junit-platform-engine")
|
||||
testImplementation("org.junit.platform:junit-platform-launcher")
|
||||
|
@ -15,10 +15,12 @@ dependencies {
|
||||
optional("com.google.code.gson:gson")
|
||||
optional("com.jayway.jsonpath:json-path")
|
||||
optional("io.projectreactor.netty:reactor-netty-http")
|
||||
optional("javax.json.bind:javax.json.bind-api")
|
||||
optional("javax.servlet:javax.servlet-api")
|
||||
optional("jakarta.json.bind:jakarta.json.bind-api")
|
||||
optional("jakarta.servlet:jakarta.servlet-api")
|
||||
optional("junit:junit")
|
||||
optional("org.apache.httpcomponents:httpclient")
|
||||
optional("org.apache.httpcomponents:httpclient") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
optional("org.assertj:assertj-core")
|
||||
optional("org.hamcrest:hamcrest-core")
|
||||
optional("org.hamcrest:hamcrest-library")
|
||||
@ -27,16 +29,20 @@ dependencies {
|
||||
optional("org.junit.jupiter:junit-jupiter-api")
|
||||
optional("org.mockito:mockito-core")
|
||||
optional("org.skyscreamer:jsonassert")
|
||||
optional("org.seleniumhq.selenium:htmlunit-driver")
|
||||
optional("org.seleniumhq.selenium:htmlunit-driver") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
optional("org.seleniumhq.selenium:selenium-api")
|
||||
optional("org.springframework:spring-test")
|
||||
optional("org.springframework:spring-web")
|
||||
optional("org.springframework:spring-webflux")
|
||||
optional("net.sourceforge.htmlunit:htmlunit")
|
||||
optional("net.sourceforge.htmlunit:htmlunit") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||
testImplementation("io.mockk:mockk")
|
||||
testImplementation("javax.json:javax.json-api")
|
||||
testImplementation("jakarta.json:jakarta.json-api")
|
||||
testImplementation("ch.qos.logback:logback-classic")
|
||||
testImplementation("org.apache.tomcat.embed:tomcat-embed-core")
|
||||
testImplementation("org.codehaus.groovy:groovy")
|
||||
|
@ -11,7 +11,9 @@ dependencies {
|
||||
api("com.fasterxml.jackson.module:jackson-module-parameter-names")
|
||||
api("net.java.dev.jna:jna-platform")
|
||||
api("org.apache.commons:commons-compress:1.19")
|
||||
api("org.apache.httpcomponents:httpclient")
|
||||
api("org.apache.httpcomponents:httpclient") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
api("org.springframework:spring-core")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||
|
@ -19,7 +19,7 @@ dependencies {
|
||||
testCompileOnly("com.google.code.findbugs:jsr305:3.0.2")
|
||||
testImplementation(enforcedPlatform(project(":spring-boot-project:spring-boot-dependencies")))
|
||||
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||
testImplementation("javax.validation:validation-api")
|
||||
testImplementation("jakarta.validation:jakarta.validation-api")
|
||||
testImplementation("org.assertj:assertj-core")
|
||||
testImplementation("org.hamcrest:hamcrest-library")
|
||||
testImplementation("org.junit.jupiter:junit-jupiter")
|
||||
|
@ -27,7 +27,9 @@ dependencies {
|
||||
implementation("org.apache.commons:commons-compress")
|
||||
implementation("org.springframework:spring-core")
|
||||
|
||||
optional("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50")
|
||||
optional("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||
testImplementation("org.assertj:assertj-core")
|
||||
|
@ -18,6 +18,5 @@ dependencies {
|
||||
|
||||
testRuntimeOnly("ch.qos.logback:logback-classic")
|
||||
testRuntimeOnly("org.bouncycastle:bcprov-jdk16:1.46")
|
||||
testRuntimeOnly("org.slf4j:jcl-over-slf4j")
|
||||
testRuntimeOnly("org.springframework:spring-webmvc")
|
||||
}
|
@ -21,8 +21,14 @@ dependencies {
|
||||
|
||||
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform"))
|
||||
implementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools"))
|
||||
implementation("org.apache.maven.shared:maven-common-artifact-filters")
|
||||
implementation("org.apache.maven:maven-plugin-api")
|
||||
implementation("org.apache.maven.shared:maven-common-artifact-filters") {
|
||||
exclude(group: "javax.enterprise", module: "cdi-api")
|
||||
exclude(group: "javax.inject", module: "javax.inject")
|
||||
}
|
||||
implementation("org.apache.maven:maven-plugin-api") {
|
||||
exclude(group: "javax.enterprise", module: "cdi-api")
|
||||
exclude(group: "javax.inject", module: "javax.inject")
|
||||
}
|
||||
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-buildpack-platform"))
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-loader-tools"))
|
||||
@ -33,7 +39,10 @@ dependencies {
|
||||
intTestImplementation("org.testcontainers:testcontainers")
|
||||
intTestImplementation("org.testcontainers:junit-jupiter")
|
||||
|
||||
mavenOptionalImplementation("org.apache.maven.plugins:maven-shade-plugin")
|
||||
mavenOptionalImplementation("org.apache.maven.plugins:maven-shade-plugin") {
|
||||
exclude(group: "javax.enterprise", module: "cdi-api")
|
||||
exclude(group: "javax.inject", module: "javax.inject")
|
||||
}
|
||||
|
||||
runtimeOnly("org.sonatype.plexus:plexus-build-api")
|
||||
|
||||
|
@ -8,8 +8,10 @@ description = "Spring Boot Testing Support"
|
||||
dependencies {
|
||||
api(platform(project(path: ":spring-boot-project:spring-boot-parent")))
|
||||
|
||||
compileOnly("com.datastax.oss:java-driver-core")
|
||||
compileOnly("javax.servlet:javax.servlet-api")
|
||||
compileOnly("com.datastax.oss:java-driver-core") {
|
||||
exclude(group: "org.slf4j", module: "jcl-over-slf4j")
|
||||
}
|
||||
compileOnly("jakarta.servlet:jakarta.servlet-api")
|
||||
compileOnly("junit:junit")
|
||||
compileOnly("org.elasticsearch:elasticsearch")
|
||||
compileOnly("org.junit.jupiter:junit-jupiter")
|
||||
@ -21,9 +23,12 @@ dependencies {
|
||||
compileOnly("org.testcontainers:cassandra")
|
||||
compileOnly("org.testcontainers:testcontainers")
|
||||
|
||||
implementation("jakarta.inject:jakarta.inject-api")
|
||||
implementation("org.apache.maven.resolver:maven-resolver-connector-basic")
|
||||
implementation("org.apache.maven.resolver:maven-resolver-impl")
|
||||
implementation("org.apache.maven:maven-resolver-provider")
|
||||
implementation("org.apache.maven:maven-resolver-provider") {
|
||||
exclude(group: "javax.inject", module: "javax.inject")
|
||||
}
|
||||
implementation("org.apache.maven.resolver:maven-resolver-transport-http") {
|
||||
exclude group: "org.slf4j", module: "jcl-over-slf4j"
|
||||
}
|
||||
@ -33,7 +38,7 @@ dependencies {
|
||||
implementation("org.springframework:spring-core")
|
||||
implementation("org.springframework:spring-test")
|
||||
|
||||
testImplementation("javax.servlet:javax.servlet-api")
|
||||
testImplementation("jakarta.servlet:jakarta.servlet-api")
|
||||
testImplementation("org.junit.jupiter:junit-jupiter")
|
||||
testImplementation("org.springframework:spring-context")
|
||||
|
||||
|
@ -36,32 +36,52 @@ dependencies {
|
||||
optional("io.rsocket:rsocket-core")
|
||||
optional("io.rsocket:rsocket-transport-netty")
|
||||
optional("io.undertow:undertow-servlet") {
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.2_spec"
|
||||
exclude group: "org.jboss.spec.javax.annotation", module: "jboss-annotations-api_1.3_spec"
|
||||
exclude group: "org.jboss.spec.javax.servlet", module: "jboss-servlet-api_4.0_spec"
|
||||
}
|
||||
optional("javax.jms:javax.jms-api")
|
||||
optional("javax.servlet:javax.servlet-api")
|
||||
optional("jakarta.jms:jakarta.jms-api")
|
||||
optional("jakarta.servlet:jakarta.servlet-api")
|
||||
optional("jakarta.transaction:jakarta.transaction-api")
|
||||
optional("junit:junit")
|
||||
optional("org.apache.commons:commons-dbcp2")
|
||||
optional("org.apache.httpcomponents:httpclient")
|
||||
optional("org.apache.commons:commons-dbcp2") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
optional("org.apache.httpcomponents:httpclient") {
|
||||
exclude(group: "commons-logging", module: "commons-logging")
|
||||
}
|
||||
optional("org.apache.logging.log4j:log4j-api")
|
||||
optional("org.apache.logging.log4j:log4j-core")
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-core")
|
||||
optional("org.apache.tomcat.embed:tomcat-embed-jasper")
|
||||
optional("org.apache.tomcat:tomcat-jdbc")
|
||||
optional("org.assertj:assertj-core")
|
||||
optional("org.codehaus.btm:btm")
|
||||
optional("org.codehaus.btm:btm") {
|
||||
exclude(group: "javax.transaction", module: "jta")
|
||||
}
|
||||
optional("org.codehaus.groovy:groovy")
|
||||
optional("org.codehaus.groovy:groovy-xml")
|
||||
optional("org.eclipse.jetty:jetty-servlets")
|
||||
optional("org.eclipse.jetty:jetty-util")
|
||||
optional("org.eclipse.jetty:jetty-webapp")
|
||||
optional("org.eclipse.jetty:jetty-alpn-conscrypt-server")
|
||||
optional("org.eclipse.jetty.http2:http2-server")
|
||||
optional("org.eclipse.jetty:jetty-webapp") {
|
||||
exclude(group: "javax.servlet", module: "javax.servlet-api")
|
||||
}
|
||||
optional("org.eclipse.jetty:jetty-alpn-conscrypt-server") {
|
||||
exclude(group: "javax.servlet", module: "javax.servlet-api")
|
||||
}
|
||||
optional("org.eclipse.jetty.http2:http2-server") {
|
||||
exclude(group: "javax.servlet", module: "javax.servlet-api")
|
||||
}
|
||||
optional("org.hamcrest:hamcrest-library")
|
||||
optional("org.hibernate:hibernate-core")
|
||||
optional("org.hibernate:hibernate-core") {
|
||||
exclude(group: "javax.activation", module: "javax.activation-api")
|
||||
exclude(group: "javax.persistence", module: "javax.persistence-api")
|
||||
exclude(group: "javax.xml.bind", module: "jaxb-api")
|
||||
exclude(group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec")
|
||||
}
|
||||
optional("org.hibernate.validator:hibernate-validator")
|
||||
optional("org.liquibase:liquibase-core")
|
||||
optional("org.liquibase:liquibase-core") {
|
||||
exclude(group: "javax.xml.bind", module: "jaxb-api")
|
||||
}
|
||||
optional("org.slf4j:jul-to-slf4j")
|
||||
optional("org.slf4j:slf4j-api")
|
||||
optional("org.springframework:spring-messaging")
|
||||
@ -78,7 +98,9 @@ dependencies {
|
||||
optional("org.jetbrains.kotlin:kotlin-stdlib")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||
testImplementation("com.google.appengine:appengine-api-1.0-sdk")
|
||||
testImplementation("com.google.appengine:appengine-api-1.0-sdk") {
|
||||
exclude group: "javax.inject", module: "javax.inject"
|
||||
}
|
||||
testImplementation("com.h2database:h2")
|
||||
testImplementation("com.ibm.db2:jcc")
|
||||
testImplementation("com.jayway.jsonpath:json-path")
|
||||
@ -87,13 +109,18 @@ dependencies {
|
||||
testImplementation("com.squareup.okhttp3:okhttp")
|
||||
testImplementation("com.sun.xml.messaging.saaj:saaj-impl")
|
||||
testImplementation("io.projectreactor:reactor-test")
|
||||
testImplementation("javax.xml.ws:jaxws-api")
|
||||
testImplementation("jakarta.persistence:jakarta.persistence-api")
|
||||
testImplementation("jakarta.xml.ws:jakarta.xml.ws-api")
|
||||
testImplementation("mysql:mysql-connector-java")
|
||||
testImplementation("net.sourceforge.jtds:jtds")
|
||||
testImplementation("org.apache.derby:derby")
|
||||
testImplementation("org.apache.httpcomponents:httpasyncclient")
|
||||
testImplementation("org.apache.httpcomponents:httpasyncclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
testImplementation("org.awaitility:awaitility")
|
||||
testImplementation("org.firebirdsql.jdbc:jaybird-jdk18")
|
||||
testImplementation("org.firebirdsql.jdbc:jaybird-jdk18") {
|
||||
exclude group: "javax.resource", module: "connector-api"
|
||||
}
|
||||
testImplementation("org.hsqldb:hsqldb")
|
||||
testImplementation("org.junit.jupiter:junit-jupiter")
|
||||
testImplementation("org.mariadb.jdbc:mariadb-java-client")
|
||||
|
@ -21,7 +21,9 @@ dependencies {
|
||||
intTestImplementation(enforcedPlatform(project(path: ":spring-boot-project:spring-boot-parent")))
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||
intTestImplementation("org.apache.httpcomponents:httpasyncclient")
|
||||
intTestImplementation("org.apache.httpcomponents:httpasyncclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
intTestImplementation("org.awaitility:awaitility")
|
||||
intTestImplementation("org.testcontainers:junit-jupiter")
|
||||
intTestImplementation("org.testcontainers:testcontainers")
|
||||
|
@ -17,7 +17,9 @@ configurations {
|
||||
dependencies {
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||
intTestImplementation("org.apache.httpcomponents:httpasyncclient")
|
||||
intTestImplementation("org.apache.httpcomponents:httpasyncclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
intTestImplementation("org.awaitility:awaitility")
|
||||
intTestImplementation("org.springframework:spring-web")
|
||||
|
||||
|
@ -15,5 +15,7 @@ dependencies {
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
|
||||
testRuntimeOnly("org.apache.httpcomponents:httpclient")
|
||||
testRuntimeOnly("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
@ -15,5 +15,7 @@ dependencies {
|
||||
runtimeOnly("com.h2database:h2")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testRuntimeOnly("org.apache.httpcomponents:httpclient")
|
||||
testRuntimeOnly("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
@ -9,7 +9,10 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-data-r2dbc"))
|
||||
|
||||
runtimeOnly("io.r2dbc:r2dbc-postgresql")
|
||||
runtimeOnly("org.liquibase:liquibase-core")
|
||||
runtimeOnly("org.liquibase:liquibase-core") {
|
||||
exclude group: "javax.activation", module: "javax.activation-api"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
runtimeOnly("org.postgresql:postgresql")
|
||||
runtimeOnly("org.springframework:spring-jdbc")
|
||||
|
||||
|
@ -21,9 +21,10 @@ dependencies {
|
||||
|
||||
providedRuntime("org.eclipse.jetty:apache-jsp") {
|
||||
exclude group: "javax.annotation", module: "javax.annotation-api"
|
||||
exclude group: "javax.servlet", module: "javax.servlet-api"
|
||||
}
|
||||
|
||||
runtimeOnly("javax.servlet:jstl")
|
||||
runtimeOnly("org.glassfish.web:jakarta.servlet.jsp.jstl")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jetty"))
|
||||
|
@ -13,5 +13,7 @@ dependencies {
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
|
||||
testRuntimeOnly("org.apache.httpcomponents:httpclient")
|
||||
testRuntimeOnly("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -16,10 +16,12 @@ dependencies {
|
||||
exclude group: "javax.activation", module: "javax.activation-api"
|
||||
exclude group: "javax.persistence", module: "javax.persistence-api"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
exclude group: "org.jboss.spec.javax.transaction", module: "jboss-transaction-api_1.2_spec"
|
||||
}
|
||||
implementation("org.springframework:spring-orm")
|
||||
|
||||
runtimeOnly("com.h2database:h2")
|
||||
runtimeOnly("jakarta.transaction:jakarta.transaction-api")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
}
|
||||
|
@ -17,7 +17,10 @@ dependencies {
|
||||
|
||||
runtimeOnly("com.h2database:h2")
|
||||
runtimeOnly("org.apache.activemq:artemis-jms-server") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_2.0_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-json_1.0_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jta_1.1_spec"
|
||||
}
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
|
@ -17,7 +17,10 @@ dependencies {
|
||||
|
||||
runtimeOnly("com.h2database:h2")
|
||||
runtimeOnly("org.apache.activemq:artemis-jms-server") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jms_2.0_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-json_1.0_spec"
|
||||
exclude group: "org.apache.geronimo.specs", module: "geronimo-jta_1.1_spec"
|
||||
}
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
|
@ -9,7 +9,13 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator"))
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-jdbc"))
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||
implementation("org.liquibase:liquibase-core")
|
||||
if (JavaVersion.current().java9Compatible) {
|
||||
implementation("jakarta.xml.bind:jakarta.xml.bind-api")
|
||||
}
|
||||
implementation("org.liquibase:liquibase-core") {
|
||||
exclude group: "javax.activation", module: "javax.activation-api"
|
||||
exclude group: "javax.xml.bind", module: "jaxb-api"
|
||||
}
|
||||
|
||||
runtimeOnly("com.h2database:h2")
|
||||
|
||||
|
@ -10,5 +10,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -11,5 +11,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-webflux"))
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -12,9 +12,12 @@ dependencies {
|
||||
runtimeOnly("com.h2database:h2")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("net.sourceforge.htmlunit:htmlunit")
|
||||
testImplementation("net.sourceforge.htmlunit:htmlunit") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
testImplementation("org.mockito:mockito-junit-jupiter")
|
||||
testImplementation("org.seleniumhq.selenium:selenium-api")
|
||||
testImplementation("org.seleniumhq.selenium:htmlunit-driver")
|
||||
testImplementation("net.sourceforge.htmlunit:htmlunit")
|
||||
testImplementation("org.seleniumhq.selenium:htmlunit-driver") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||
|
||||
providedRuntime(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat"))
|
||||
providedRuntime("javax.servlet:jstl")
|
||||
providedRuntime("org.glassfish.web:jakarta.servlet.jsp.jstl")
|
||||
providedRuntime("org.apache.tomcat.embed:tomcat-embed-jasper")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
|
@ -9,5 +9,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -9,5 +9,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -19,5 +19,7 @@ dependencies {
|
||||
providedRuntime("org.apache.tomcat.embed:tomcat-embed-jasper")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -12,5 +12,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-undertow"))
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||
|
||||
providedRuntime(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat"))
|
||||
providedRuntime("javax.servlet:jstl")
|
||||
providedRuntime("org.glassfish.web:jakarta.servlet.jsp.jstl")
|
||||
providedRuntime("org.apache.tomcat.embed:tomcat-embed-jasper")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
|
@ -11,5 +11,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -14,5 +14,7 @@ dependencies {
|
||||
runtimeOnly("com.h2database:h2")
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
@ -12,5 +12,7 @@ dependencies {
|
||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web"))
|
||||
|
||||
testImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||
testImplementation("org.apache.httpcomponents:httpclient")
|
||||
testImplementation("org.apache.httpcomponents:httpclient") {
|
||||
exclude group: "commons-logging", module: "commons-logging"
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user