@@ -23,34 +23,16 @@ subprojects {
2323 }
2424
2525 dependencies {
26- implementation platform(libs. spring. boot. bom)
27- testImplementation platform(libs. spring. boot. bom)
28- annotationProcessor platform(libs. spring. boot. bom)
26+ if (project. name != ' jsonrpc-core' ) {
27+ implementation platform(libs. spring. boot. bom)
28+ testImplementation platform(libs. spring. boot. bom)
29+ annotationProcessor platform(libs. spring. boot. bom)
30+ }
2931 testImplementation libs. junit. jupiter
3032 testRuntimeOnly libs. junit. platform. launcher
3133 compileOnly libs. jspecify
3234 }
3335
34- def integrationTestSourceSet = sourceSets. create(' integrationTest' ) {
35- java. srcDir file(' src/integrationTest/java' )
36- resources. srcDir file(' src/integrationTest/resources' )
37- compileClasspath + = sourceSets. main. output + configurations. testRuntimeClasspath
38- runtimeClasspath + = output + compileClasspath
39- }
40- def e2eTestSourceSet = sourceSets. create(' e2eTest' ) {
41- java. srcDir file(' src/e2eTest/java' )
42- resources. srcDir file(' src/e2eTest/resources' )
43- compileClasspath + = sourceSets. main. output + configurations. testRuntimeClasspath
44- runtimeClasspath + = output + compileClasspath
45- }
46-
47- configurations {
48- integrationTestImplementation. extendsFrom(testImplementation)
49- integrationTestRuntimeOnly. extendsFrom(testRuntimeOnly)
50- e2eTestImplementation. extendsFrom(testImplementation)
51- e2eTestRuntimeOnly. extendsFrom(testRuntimeOnly)
52- }
53-
5436 tasks. withType(JavaCompile ). configureEach {
5537 options. encoding = ' UTF-8'
5638 options. compilerArgs + = [' -parameters' ]
@@ -60,25 +42,56 @@ subprojects {
6042 useJUnitPlatform()
6143 }
6244
63- tasks. register(' integrationTest' , Test ) {
64- description = ' Runs integration tests.'
65- group = ' verification'
66- testClassesDirs = integrationTestSourceSet. output. classesDirs
67- classpath = integrationTestSourceSet. runtimeClasspath
68- shouldRunAfter(tasks. named(' test' ))
69- }
70-
71- tasks. register(' e2eTest' , Test ) {
72- description = ' Runs end-to-end tests.'
73- group = ' verification'
74- testClassesDirs = e2eTestSourceSet. output. classesDirs
75- classpath = e2eTestSourceSet. runtimeClasspath
76- shouldRunAfter(tasks. named(' integrationTest' ))
45+ def hasIntegrationTestSources = file(' src/integrationTest/java' ). exists() || file(' src/integrationTest/resources' ). exists()
46+ if (hasIntegrationTestSources) {
47+ def integrationTestSourceSet = sourceSets. create(' integrationTest' ) {
48+ java. srcDir file(' src/integrationTest/java' )
49+ resources. srcDir file(' src/integrationTest/resources' )
50+ compileClasspath + = sourceSets. main. output + configurations. testRuntimeClasspath
51+ runtimeClasspath + = output + compileClasspath
52+ }
53+ configurations {
54+ integrationTestImplementation. extendsFrom(testImplementation)
55+ integrationTestRuntimeOnly. extendsFrom(testRuntimeOnly)
56+ }
57+ tasks. register(' integrationTest' , Test ) {
58+ description = ' Runs integration tests.'
59+ group = ' verification'
60+ testClassesDirs = integrationTestSourceSet. output. classesDirs
61+ classpath = integrationTestSourceSet. runtimeClasspath
62+ shouldRunAfter(tasks. named(' test' ))
63+ }
64+ tasks. named(' check' ) {
65+ dependsOn(tasks. named(' integrationTest' ))
66+ }
7767 }
7868
79- tasks. named(' check' ) {
80- dependsOn(tasks. named(' integrationTest' ))
81- dependsOn(tasks. named(' e2eTest' ))
69+ def hasE2eTestSources = file(' src/e2eTest/java' ). exists() || file(' src/e2eTest/resources' ). exists()
70+ if (hasE2eTestSources) {
71+ def e2eTestSourceSet = sourceSets. create(' e2eTest' ) {
72+ java. srcDir file(' src/e2eTest/java' )
73+ resources. srcDir file(' src/e2eTest/resources' )
74+ compileClasspath + = sourceSets. main. output + configurations. testRuntimeClasspath
75+ runtimeClasspath + = output + compileClasspath
76+ }
77+ configurations {
78+ e2eTestImplementation. extendsFrom(testImplementation)
79+ e2eTestRuntimeOnly. extendsFrom(testRuntimeOnly)
80+ }
81+ tasks. register(' e2eTest' , Test ) {
82+ description = ' Runs end-to-end tests.'
83+ group = ' verification'
84+ testClassesDirs = e2eTestSourceSet. output. classesDirs
85+ classpath = e2eTestSourceSet. runtimeClasspath
86+ if (hasIntegrationTestSources) {
87+ shouldRunAfter(tasks. named(' integrationTest' ))
88+ } else {
89+ shouldRunAfter(tasks. named(' test' ))
90+ }
91+ }
92+ tasks. named(' check' ) {
93+ dependsOn(tasks. named(' e2eTest' ))
94+ }
8295 }
8396
8497 publishing {
0 commit comments