Skip to content

Commit 37811ec

Browse files
committed
chore(build): migrate to lazy task registration (independent)
1 parent c3463ae commit 37811ec

1 file changed

Lines changed: 63 additions & 47 deletions

File tree

build.gradle

Lines changed: 63 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -274,12 +274,12 @@ wrapper {
274274
gradleVersion = '7.5.1'
275275
}
276276

277-
task copyDeps(type: Copy) {
277+
tasks.register('copyDeps', Copy) {
278278
from configurations.distribution
279279
into "${buildDir}/deps"
280280
}
281281

282-
task copyCompileDeps(type: Copy) {
282+
tasks.register('copyCompileDeps', Copy) {
283283
from configurations.compile
284284
into "${buildDir}/deps"
285285
}
@@ -352,19 +352,21 @@ javadoc {
352352
}
353353
}
354354

355-
task javadocJar(type: Jar, dependsOn: javadoc) {
355+
tasks.register('javadocJar', Jar) {
356+
dependsOn javadoc
356357
archiveClassifier = 'javadoc'
357358
from "${buildDir}/docs/javadoc"
358359
archiveBaseName = 'opencms-core'
359360
}
360361

361-
task sourcesJar(type: Jar) {
362+
tasks.register('sourcesJar', Jar) {
362363
from sourceSets.main.java.srcDirs
363364
archiveClassifier = 'sources'
364365
archiveBaseName = 'opencms-core'
365366
}
366367

367-
task gwtJar(dependsOn: jar, type: Jar) {
368+
tasks.register('gwtJar', Jar) {
369+
dependsOn jar
368370
from sourceSets.gwt.output
369371
from (sourceSets.gwt.java.srcDirs){ include '**/*.java' }
370372
from (sourceSets.main.java.srcDirs){
@@ -384,15 +386,16 @@ task gwtJar(dependsOn: jar, type: Jar) {
384386
exclude '**/.gitignore'
385387
}
386388

387-
task modulesJar(type: Jar) {
389+
tasks.register('modulesJar', Jar) {
388390
from sourceSets.modules.output
389391
archiveFileName = 'opencms-modules.jar'
390392
archiveBaseName = 'opencms-modules'
391393
group 'OpenCms core JARs'
392394
exclude '**/.gitignore'
393395
}
394396

395-
task javadocModules(type: Javadoc, dependsOn: jar) {
397+
tasks.register('javadocModules', Javadoc) {
398+
dependsOn jar
396399
doLast {
397400
copy {
398401
from "${projectDir}/doc/javadoc/logos"
@@ -416,19 +419,21 @@ task javadocModules(type: Javadoc, dependsOn: jar) {
416419
destinationDir = file("${buildDir}/docs/javadocModules")
417420
}
418421

419-
task javadocJarModules(type: Jar, dependsOn: javadocModules) {
422+
tasks.register('javadocJarModules', Jar) {
423+
dependsOn javadocModules
420424
archiveClassifier = 'javadoc'
421425
from "${buildDir}/docs/javadocModules"
422426
archiveBaseName = 'opencms-modules'
423427
}
424428

425-
task sourcesJarModules(type: Jar) {
429+
tasks.register('sourcesJarModules', Jar) {
426430
from sourceSets.modules.java.srcDirs
427431
archiveClassifier = 'sources'
428432
archiveBaseName = 'opencms-modules'
429433
}
430434

431-
task javadocGwt(type: Javadoc, dependsOn: jar) {
435+
tasks.register('javadocGwt', Javadoc) {
436+
dependsOn jar
432437
doLast {
433438
copy {
434439
from "${projectDir}/doc/javadoc/logos"
@@ -452,13 +457,14 @@ task javadocGwt(type: Javadoc, dependsOn: jar) {
452457
destinationDir = file("${buildDir}/docs/javadocGwt")
453458
}
454459

455-
task javadocJarGwt(type: Jar, dependsOn: javadocGwt) {
460+
tasks.register('javadocJarGwt', Jar) {
461+
dependsOn javadocGwt
456462
archiveClassifier = 'javadoc'
457463
from "${buildDir}/docs/javadocGwt"
458464
archiveBaseName = 'opencms-gwt'
459465
}
460466

461-
task sourcesJarGwt(type: Jar) {
467+
tasks.register('sourcesJarGwt', Jar) {
462468
from sourceSets.gwt.java.srcDirs
463469
from (sourceSets.main.java.srcDirs){
464470
include '**/shared/**'
@@ -476,7 +482,7 @@ task sourcesJarGwt(type: Jar) {
476482
archiveBaseName = 'opencms-gwt'
477483
}
478484

479-
task workplaceTheme (type: JavaExec) {
485+
tasks.register('workplaceTheme', JavaExec) {
480486
doFirst {
481487
println '======================================================'
482488
println "Building workplace theme"
@@ -504,7 +510,7 @@ task workplaceTheme (type: JavaExec) {
504510
]
505511
maxHeapSize = max_heap_size
506512
}
507-
task opencmsFonts (type: JavaExec) {
513+
tasks.register('opencmsFonts', JavaExec) {
508514
doFirst {
509515
println '======================================================'
510516
println "Building OpenCms fonts CSS"
@@ -539,7 +545,8 @@ Properties gwtProps = new Properties()
539545
gwtProps.load(new FileInputStream("$projectDir/src-gwt/gwt-modules.properties"))
540546
project.ext.gwtModuleNames = gwtProps['gwtmodules']
541547

542-
task resourcesJar(type: Jar, dependsOn: [workplaceTheme, opencmsFonts]){
548+
tasks.register('resourcesJar', Jar) {
549+
dependsOn workplaceTheme, opencmsFonts
543550
doFirst {
544551
println '======================================================'
545552
println "Building Resources Jar"
@@ -589,7 +596,8 @@ task resourcesJar(type: Jar, dependsOn: [workplaceTheme, opencmsFonts]){
589596

590597
// iterate gwt modules and create the required tasks
591598
gwtModuleNames.split(',').each{ gwtModule ->
592-
task "gwt_${gwtModule}" (dependsOn: gwtClasses, type: JavaExec) {
599+
tasks.register("gwt_${gwtModule}", JavaExec) {
600+
dependsOn gwtClasses
593601
ext.buildDir = project.buildDir.toString() +"/gwt/${gwtModule}"
594602
ext.extraDir = project.buildDir.toString() + "/extra/${gwtModule}"
595603
inputs.files sourceSets.gwt.java.srcDirs
@@ -677,20 +685,24 @@ gwtModuleNames.split(',').each{ gwtModule ->
677685
maxHeapSize = max_heap_size
678686
}
679687

680-
tasks['resourcesJar'].dependsOn(tasks["gwt_${gwtModule}"])
688+
tasks.named('resourcesJar') {
689+
dependsOn tasks.named("gwt_${gwtModule}")
690+
}
681691
}
682692

683693

684694

685-
task setupJar(dependsOn: jar, type: Jar) {
695+
tasks.register('setupJar', Jar) {
696+
dependsOn jar
686697
from sourceSets.setup.output
687698
archiveFileName = 'opencms-setup.jar'
688699
archiveBaseName = 'opencms-setup'
689700
group 'OpenCms core JARs'
690701
exclude '**/.gitignore'
691702
}
692703

693-
task javadocSetup(type: Javadoc, dependsOn: jar) {
704+
tasks.register('javadocSetup', Javadoc) {
705+
dependsOn jar
694706
source = sourceSets.setup.allJava
695707
classpath = project.sourceSets.setup.compileClasspath
696708
destinationDir = file("${buildDir}/docs/javadocSetup")
@@ -714,13 +726,14 @@ task javadocSetup(type: Javadoc, dependsOn: jar) {
714726
}
715727
}
716728

717-
task javadocJarSetup(type: Jar, dependsOn: javadocSetup) {
729+
tasks.register('javadocJarSetup', Jar) {
730+
dependsOn javadocSetup
718731
archiveClassifier = 'javadoc'
719732
from "${buildDir}/docs/javadocSetup"
720733
archiveBaseName = 'opencms-setup'
721734
}
722735

723-
task sourcesJarSetup(type: Jar) {
736+
tasks.register('sourcesJarSetup', Jar) {
724737
from sourceSets.setup.java.srcDirs
725738
archiveClassifier = 'sources'
726739
archiveBaseName = 'opencms-setup'
@@ -731,7 +744,8 @@ tlddoc {
731744
}
732745

733746

734-
task tlddocZip (type: Zip, dependsOn: tlddoc) {
747+
tasks.register('tlddocZip', Zip) {
748+
dependsOn tlddoc
735749
archiveFileName = 'tld.zip'
736750
from ("${project.docsDir}/tlddoc/") {
737751
include '**/*'
@@ -772,7 +786,7 @@ allModuleNames.each{ moduleName ->
772786
preserveLibModules += "${moduleName},"
773787
}
774788

775-
task "dist_$moduleName" (type: Zip){
789+
tasks.register("dist_$moduleName", Zip) {
776790
ext.moduleName = moduleName
777791
ext.moduleFolder = moduleFolder
778792
ext.dependencies = moduleDependencies
@@ -808,7 +822,7 @@ allModuleNames.each{ moduleName ->
808822
}
809823
}
810824
if (workplacelocalization != null){
811-
task "jar_$moduleName" (type: Jar) {
825+
tasks.register("jar_$moduleName", Jar) {
812826
ext.moduleName = moduleName
813827
ext.workplacelocalization=workplacelocalization
814828
manifest {
@@ -838,24 +852,23 @@ allModuleNames.each{ moduleName ->
838852
}
839853
}
840854
}
841-
tasks["dist_$moduleName"].dependsOn("jar_$moduleName")
855+
tasks.named("dist_$moduleName") {
856+
dependsOn tasks.named("jar_$moduleName")
857+
}
842858
}
843859
}
844860

845-
task allModules(dependsOn: tasks.matching{ Task task -> task.name.startsWith('dist_')}) {
861+
tasks.register('allModules') {
862+
dependsOn tasks.matching{ Task task -> task.name.startsWith('dist_')}
846863
doLast {
847864
println '======================================================'
848865
println 'Done building modules'
849866
println '======================================================'
850867
}
851868
}
852869

853-
task war (dependsOn: [
854-
setupJar,
855-
resourcesJar,
856-
modulesJar,
857-
allModules
858-
], type: Zip){
870+
tasks.register('war', Zip) {
871+
dependsOn setupJar, resourcesJar, modulesJar, allModules
859872

860873
if (hasExtModules) {
861874
dependsOn {
@@ -956,12 +969,8 @@ task war (dependsOn: [
956969
}
957970
}
958971

959-
task updater (dependsOn: [
960-
setupJar,
961-
resourcesJar,
962-
modulesJar,
963-
allModules
964-
], type: Zip){
972+
tasks.register('updater', Zip) {
973+
dependsOn setupJar, resourcesJar, modulesJar, allModules
965974
if (hasExtModules) {
966975
// without this declaration, Gradle 8 complains about implicit dependencies
967976
dependsOn {
@@ -1108,7 +1117,8 @@ task updater (dependsOn: [
11081117
}
11091118
}
11101119

1111-
task bindist (dependsOn: war, type: Zip){
1120+
tasks.register('bindist', Zip) {
1121+
dependsOn war
11121122
archiveBaseName = 'opencms'
11131123
from "${project.buildDir}/distributions/opencms.war"
11141124
from(projectDir) {
@@ -1141,7 +1151,8 @@ test {
11411151
}
11421152
}
11431153

1144-
task testSingle(type: Test, dependsOn: [compileTestJava]) {
1154+
tasks.register('testSingle', Test) {
1155+
dependsOn compileTestJava
11451156
description "Runs a specified test case set like this: -PtestCaseToRun=org.opencms.main.TestCmsSystemInfo*"
11461157
inputs.dir "${projectDir}/test/data"
11471158
inputs.dir "${projectDir}/webapp"
@@ -1166,33 +1177,37 @@ task testSingle(type: Test, dependsOn: [compileTestJava]) {
11661177
ignoreFailures true
11671178
}
11681179

1169-
task testJar(dependsOn: compileTestJava, type: Jar) {
1180+
tasks.register('testJar', Jar) {
1181+
dependsOn compileTestJava
11701182
from sourceSets.test.output
11711183
archiveBaseName = 'opencms-test'
11721184
exclude '**/.gitignore'
11731185
exclude '**/*.java'
11741186
}
11751187

1176-
task javadocTest(type: Javadoc, dependsOn: jar) {
1188+
tasks.register('javadocTest', Javadoc) {
1189+
dependsOn jar
11771190
source = sourceSets.test.allJava
11781191
classpath = project.sourceSets.test.compileClasspath
11791192
destinationDir = file("${buildDir}/docs/javadocTest")
11801193
}
11811194

1182-
task javadocJarTest(type: Jar, dependsOn: javadocTest) {
1195+
tasks.register('javadocJarTest', Jar) {
1196+
dependsOn javadocTest
11831197
archiveClassifier = 'javadoc'
11841198
from "${buildDir}/docs/javadocTest"
11851199
archiveBaseName = 'opencms-test'
11861200
}
11871201

1188-
task sourcesJarTest(type: Jar) {
1202+
tasks.register('sourcesJarTest', Jar) {
11891203
from sourceSets.test.java.srcDirs
11901204
archiveClassifier = 'sources'
11911205
archiveBaseName = 'opencms-test'
11921206
}
11931207

11941208

1195-
task testGwt(type: Test, dependsOn: [compileTestGwtJava]) {
1209+
tasks.register('testGwt', Test) {
1210+
dependsOn compileTestGwtJava
11961211
classpath=sourceSets.testGwt.runtimeClasspath
11971212
classpath += files("${projectDir}/src")
11981213
classpath += files("${projectDir}/src-gwt")
@@ -1473,13 +1488,14 @@ publishing {
14731488

14741489

14751490
// add it to keep the old task names
1476-
task install(dependsOn: publishToMavenLocal) {
1491+
tasks.register('install') {
1492+
dependsOn publishToMavenLocal
14771493
doFirst {
14781494
println "Installing artifacts for version $version"
14791495
}
14801496
}
14811497

1482-
task uploadArchives { // dependency tasks are set dynamically via afterEvaluate
1498+
tasks.register('uploadArchives') { // dependency tasks are set dynamically via afterEvaluate
14831499
doFirst {
14841500
println "Upload artifacts for version $version"
14851501
}

0 commit comments

Comments
 (0)