1 --- build.gradle 2023-07-02 09:21:09.216542293 +0200
2 +++ ../jalview_new/build.gradle 2023-05-15 19:20:46.892861180 +0200
7 - id "com.diffplug.gradle.spotless" version "3.28.0"
8 - id 'com.github.johnrengelman.shadow' version '4.0.3'
9 + id "com.diffplug.spotless" version "6.18.0" //.gradle.spotless" "3.28.0"
10 + id 'com.github.johnrengelman.shadow' version '8.1.1' // was 4.0.3
11 id 'com.install4j.gradle' version '9.0.6'
12 id 'com.dorongold.task-tree' version '2.1.0' // only needed to display task dependency tree with gradle task1 [task2 ...] taskTree
13 id 'com.palantir.git-version' version '0.13.0' apply false
15 testDir = string("${jalviewDir}/${bareTestSourceDir}")
17 classesDir = string("${jalviewDir}/${classes_dir}")
18 + destinationDirectory = file(classesDir)
21 useClover = clover.equals("true")
26 - outputDir = file(classesDir)
27 + destinationDirectory = file(classesDir)
31 srcDirs = [ resourcesBuildDir, docBuildDir, helpBuildDir ]
34 - compileClasspath = files(sourceSets.main.java.outputDir)
35 + compileClasspath = files(sourceSets.main.java.destinationDirectory)
36 compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
38 runtimeClasspath = compileClasspath
42 srcDirs cloverInstrDir
43 - outputDir = cloverClassesDir
44 + destinationDirectory = cloverClassesDir
48 srcDirs = sourceSets.main.resources.srcDirs
51 - compileClasspath = files( sourceSets.clover.java.outputDir )
52 + compileClasspath = files( sourceSets.clover.java.destinationDirectory )
53 //compileClasspath += files( testClassesDir )
54 compileClasspath += fileTree(dir: "${jalviewDir}/${libDir}", include: ["*.jar"])
55 compileClasspath += fileTree(dir: "${jalviewDir}/${clover_lib_dir}", include: ["*.jar"])
60 - outputDir = file(testClassesDir)
61 + destinationDirectory = file(testClassesDir)
65 srcDirs = useClover ? sourceSets.clover.resources.srcDirs : sourceSets.main.resources.srcDirs
68 - compileClasspath = files( sourceSets.test.java.outputDir )
69 + compileClasspath = files( sourceSets.test.java.destinationDirectory )
70 compileClasspath += useClover ? sourceSets.clover.compileClasspath : sourceSets.main.compileClasspath
71 compileClasspath += fileTree(dir: "${jalviewDir}/${utils_dir}/testnglibs", include: ["**/*.jar"])
77 - //defaultOutputDir = sourceSets.main.java.outputDir
78 + //defaultOutputDir = sourceSets.main.java.destinationDirectory
79 configurations.each{ c->
80 if (c.isCanBeResolved()) {
81 minusConfigurations += [c]
83 HashMap<String, Boolean> alreadyAddedLibPath = new HashMap<>();
85 sourceSets.main.compileClasspath.findAll { it.name.endsWith(".jar") }.any {
86 - //don't want to add outputDir as eclipse is using its own output dir in bin/main
87 + //don't want to add destinationDirectory as eclipse is using its own output dir in bin/main
88 if (it.isDirectory() || ! it.exists()) {
89 // don't add dirs to classpath, especially if they don't exist
90 return false // groovy "continue" in .any closure
94 sourceSets.test.compileClasspath.findAll { it.name.endsWith(".jar") }.any {
95 - //no longer want to add outputDir as eclipse is using its own output dir in bin/main
96 + //no longer want to add destinationDirectory as eclipse is using its own output dir in bin/main
97 if (it.isDirectory() || ! it.exists()) {
98 // don't add dirs to classpath
99 return false // groovy "continue" in .any closure
100 @@ -1051,7 +1052,7 @@
104 - delete sourceSets.main.java.outputDir
105 + delete sourceSets.main.java.destinationDirectory
109 @@ -1059,7 +1060,7 @@
111 dependsOn cleanClover
113 - delete sourceSets.test.java.outputDir
114 + delete sourceSets.test.java.destinationDirectory
118 @@ -1151,7 +1152,7 @@
120 task copyDocs(type: Copy) {
121 def inputDir = "${jalviewDir}/${doc_dir}"
122 - def outputDir = "${docBuildDir}/${doc_dir}"
123 + def destinationDirectory = "${docBuildDir}/${doc_dir}"
127 @@ -1172,10 +1173,10 @@
132 + into destinationDirectory
135 - outputs.dir(outputDir)
136 + outputs.dir(destinationDirectory)
140 @@ -1240,15 +1241,15 @@
144 - if (m = line =~ /^date:\s*(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/) {
145 + if (m == line =~ /^date:\s*(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/) {
146 map["date"] = new Date().parse("yyyy-MM-dd HH:mm:ss", m[0][1])
147 - } else if (m = line =~ /^date:\s*(\d{4}-\d{2}-\d{2})/) {
148 + } else if (m == line =~ /^date:\s*(\d{4}-\d{2}-\d{2})/) {
149 map["date"] = new Date().parse("yyyy-MM-dd", m[0][1])
150 - } else if (m = line =~ /^channel:\s*(\S+)/) {
151 + } else if (m == line =~ /^channel:\s*(\S+)/) {
152 map["channel"] = m[0][1]
153 - } else if (m = line =~ /^version:\s*(\S+)/) {
154 + } else if (m == line =~ /^version:\s*(\S+)/) {
155 map["version"] = m[0][1]
156 - } else if (m = line =~ /^\s*([^:]+)\s*:\s*(\S.*)/) {
157 + } else if (m == line =~ /^\s*([^:]+)\s*:\s*(\S.*)/) {
158 map[ m[0][1] ] = m[0][2]
160 if (dateOnly && map["date"] != null) {
161 @@ -1307,7 +1308,7 @@
162 def inSection = false
163 changes.eachLine { line ->
165 - if (m = line =~ /^##([^#].*)$/) {
166 + if (m == line =~ /^##([^#].*)$/) {
168 changesHugo += "</div>\n\n"
170 @@ -1317,7 +1318,7 @@
171 section = section.replaceAll(/[^a-z0-9_\-]/, "")
172 changesHugo += "<div class=\"${section}\">\n\n"
174 - } else if (m = line =~ /^(\s*-\s*)<!--([^>]+)-->(.*?)(<br\/?>)?\s*$/) {
175 + } else if (m == line =~ /^(\s*-\s*)<!--([^>]+)-->(.*?)(<br\/?>)?\s*$/) {
176 def comment = m[0][2].trim()
178 comment = comment.replaceAll('"', """)
179 @@ -1387,7 +1388,7 @@
180 def sectionName = null
181 content.eachLine { line ->
183 - if (m = line =~ /^##([^#].*)$/) {
184 + if (m == line =~ /^##([^#].*)$/) {
185 if (sectionName != null) {
186 sections[sectionName] = sectionContent
188 @@ -1410,7 +1411,7 @@
190 task copyHelp(type: Copy) {
191 def inputDir = helpSourceDir
192 - def outputDir = "${helpBuildDir}/${help_dir}"
193 + def destinationDirectory = "${helpBuildDir}/${help_dir}"
197 @@ -1435,14 +1436,15 @@
202 + into destinationDirectory
205 outputs.files(helpFile)
206 - outputs.dir(outputDir)
207 + outputs.dir(destinationDirectory)
212 task releasesTemplates {
214 description "Recreate whatsNew.html and releases.html from markdown files and templates in help"
215 @@ -1519,9 +1521,9 @@
217 def rContentProcessed = ""
218 rContent.eachLine { line ->
219 - if (lm = line =~ /^(\s*-)(\s*<!--[^>]*?-->)(.*)$/) {
220 + if (lm == line =~ /^(\s*-)(\s*<!--[^>]*?-->)(.*)$/) {
221 line = "${lm[0][1]}${lm[0][3]}${lm[0][2]}"
222 - } else if (lm = line =~ /^###([^#]+.*)$/) {
223 + } else if (lm == line =~ /^###([^#]+.*)$/) {
224 line = "_${lm[0][1].trim()}_"
226 rContentProcessed += line + "\n"
227 @@ -1579,13 +1581,14 @@
228 outputs.file(whatsnewHtmlFile)
233 task copyResources(type: Copy) {
235 description = "Copy (and make text substitutions in) the resources dir to the build area"
237 def inputDir = resourceDir
238 - def outputDir = resourcesBuildDir
239 + def destinationDirectory = resourcesBuildDir
243 @@ -1606,10 +1609,10 @@
248 + into destinationDirectory
251 - outputs.dir(outputDir)
252 + outputs.dir(destinationDirectory)
255 task copyChannelResources(type: Copy) {
256 @@ -1618,16 +1621,17 @@
257 description = "Copy the channel resources dir to the build resources area"
259 def inputDir = "${channelDir}/${resource_dir}"
260 - def outputDir = resourcesBuildDir
261 + def destinationDirectory = resourcesBuildDir
264 + into destinationDirectory
267 - outputs.dir(outputDir)
268 + outputs.dir(destinationDirectory)
271 task createBuildProperties(type: WriteProperties) {
272 dependsOn copyResources
273 + dependsOn copyChannelResources
275 description = "Create the ${buildProperties} file"
277 @@ -1651,6 +1655,7 @@
279 task buildIndices(type: JavaExec) {
281 + //dependsOn releasesTemplates
282 classpath = sourceSets.main.compileClasspath
283 main = "com.sun.java.help.search.Indexer"
284 workingDir = "${helpBuildDir}/${help_dir}"
285 @@ -1678,15 +1683,25 @@
286 dependsOn buildResources
289 - dependsOn releasesTemplates
290 + //dependsOn releasesTemplates
291 dependsOn convertMdFiles
292 dependsOn buildIndices
296 +// random block of dependencies
297 compileJava.dependsOn prepare
298 run.dependsOn compileJava
299 //run.dependsOn prepare
300 +compileTestJava.dependsOn compileJava //
301 +compileTestJava.dependsOn buildIndices //
302 +processResources.dependsOn copyChannelResources //
303 +processResources.dependsOn copyResources //
304 +processResources.dependsOn createBuildProperties //
305 +processResources.dependsOn copyDocs //
306 +processResources.dependsOn convertMdFiles //
307 +processResources.dependsOn copyHelp //
308 +processResources.dependsOn buildIndices //
311 //testReportDirName = "test-reports" // note that test workingDir will be $jalviewDir
312 @@ -1731,6 +1746,7 @@
317 task compileLinkCheck(type: JavaCompile) {
319 classpath = files("${jalviewDir}/${utils_dir}")
320 @@ -1765,6 +1781,7 @@
321 inputs.dir(helpBuildDir)
322 outputs.file(helpLinksCheckerOutFile)
327 // import the pubhtmlhelp target
328 @@ -1779,10 +1796,14 @@
332 +// block of dependencies
333 +//compileTestJava.dependsOn compileLinkCheck //
334 +//copyChannelResources.dependsOn compileLinkCheck //
335 +//convertMdFiles.dependsOn compileLinkCheck //
339 - dependsOn linkCheck
340 + dependsOn //linkCheck
343 attributes "Main-Class": main_class,
344 @@ -1792,8 +1813,8 @@
345 "Implementation-Version": JALVIEW_VERSION
348 - def outputDir = "${jalviewDir}/${package_dir}"
349 - destinationDirectory = file(outputDir)
350 + def destinationDirectory = "${jalviewDir}/${package_dir}"
351 + destinationDirectory = file(destinationDirectory)
352 archiveFileName = rootProject.name+".jar"
353 duplicatesStrategy "EXCLUDE"
355 @@ -1804,11 +1825,11 @@
359 - inputs.dir(sourceSets.main.java.outputDir)
360 + inputs.dir(sourceSets.main.java.destinationDirectory)
361 sourceSets.main.resources.srcDirs.each{ dir ->
364 - outputs.file("${outputDir}/${archiveFileName}")
365 + outputs.file("${destinationDirectory}/${archiveFileName}")
369 @@ -1867,7 +1888,7 @@
371 mainClassName = shadow_jar_main_class
373 - classifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
374 + archiveClassifier = "all-"+JALVIEW_VERSION+"-j"+JAVA_VERSION
378 @@ -2922,10 +2943,10 @@
380 def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_eclipse_dropins_dir}", include: "*.jar")
381 inputFiles += file("${jalviewDir}/${jalviewjsJ2sPlugin}")
382 - def outputDir = "${jalviewDir}/${jalviewjsBuildDir}/${jalviewjs_eclipse_tmp_dropins_dir}"
383 + def destinationDirectory = "${jalviewDir}/${jalviewjsBuildDir}/${jalviewjs_eclipse_tmp_dropins_dir}"
387 + into destinationDirectory
391 @@ -3033,13 +3054,13 @@
392 dependsOn jalviewjsTransferUnzipAllLibs
393 def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteLibDir}")
394 inputFiles += fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}")
395 - def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
396 + def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
400 + into destinationDirectory
403 - outputFiles += "${outputDir}/${filename}"
404 + outputFiles += "${destinationDirectory}/${filename}"
408 @@ -3058,13 +3079,13 @@
409 dependsOn buildResources
411 def inputFiles = fileTree(dir: resourcesBuildDir)
412 - def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
413 + def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
417 + into destinationDirectory
420 - outputFiles += "${outputDir}/${filename}"
421 + outputFiles += "${destinationDirectory}/${filename}"
425 @@ -3077,13 +3098,13 @@
427 task jalviewjsSyncSiteResources (type: Sync) {
428 def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjs_site_resource_dir}")
429 - def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
430 + def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
434 + into destinationDirectory
437 - outputFiles += "${outputDir}/${filename}"
438 + outputFiles += "${destinationDirectory}/${filename}"
442 @@ -3097,13 +3118,13 @@
443 task jalviewjsSyncBuildProperties (type: Sync) {
444 dependsOn createBuildProperties
445 def inputFiles = [file(buildProperties)]
446 - def outputDir = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
447 + def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}/${jalviewjs_j2s_subdir}"
451 + into destinationDirectory
454 - outputFiles += "${outputDir}/${filename}"
455 + outputFiles += "${destinationDirectory}/${filename}"
459 @@ -3322,7 +3343,7 @@
460 def swingJ2sDir = "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}/${jalviewjs_j2s_subdir}"
461 def libJ2sDir = "${jalviewDir}/${jalviewjsTransferSiteLibDir}/${jalviewjs_j2s_subdir}"
462 def jsDir = "${jalviewDir}/${jalviewjsTransferSiteSwingJsDir}/${jalviewjs_js_subdir}"
463 - def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
464 + def destinationDirectory = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}/${jalviewjs_j2s_subdir}/core"
465 def prefixFile = "${jsDir}/core/coretop2.js"
466 def suffixFile = "${jsDir}/core/corebottom2.js"
468 @@ -3366,8 +3387,8 @@
470 def list = fileTree(dir: j2sDir, includes: filelist)
472 - def jsfile = "${outputDir}/core${name}.js"
473 - def zjsfile = "${outputDir}/core${name}.z.js"
474 + def jsfile = "${destinationDirectory}/core${name}.js"
475 + def zjsfile = "${destinationDirectory}/core${name}.z.js"
477 jalviewjsCoreClasslists += [
479 @@ -3385,8 +3406,8 @@
480 // _stevesoft core. add any cores without a classlist here (and the inputs and outputs)
481 def stevesoftClasslistName = "_stevesoft"
482 def stevesoftClasslist = [
483 - 'jsfile': "${outputDir}/core${stevesoftClasslistName}.js",
484 - 'zjsfile': "${outputDir}/core${stevesoftClasslistName}.z.js",
485 + 'jsfile': "${destinationDirectory}/core${stevesoftClasslistName}.js",
486 + 'zjsfile': "${destinationDirectory}/core${stevesoftClasslistName}.z.js",
487 'list': fileTree(dir: j2sDir, include: "com/stevesoft/pat/**/*.js"),
488 'name': stevesoftClasslistName
490 @@ -3419,8 +3440,8 @@
494 - 'jsfile': "${outputDir}/core${allClasslistName}.js",
495 - 'zjsfile': "${outputDir}/core${allClasslistName}.z.js",
496 + 'jsfile': "${destinationDirectory}/core${allClasslistName}.js",
497 + 'zjsfile': "${destinationDirectory}/core${allClasslistName}.z.js",
499 'name': allClasslistName
501 @@ -3473,11 +3494,11 @@
502 dependsOn jalviewjsBuildAllCores
503 def inputFileName = "${jalviewDir}/${j2s_coretemplate_html}"
504 def inputFile = file(inputFileName)
505 - def outputDir = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}"
506 + def destinationDirectory = "${jalviewDir}/${jalviewjsTransferSiteCoreDir}"
509 jalviewjsCoreClasslists.each { cl ->
510 - def outputFile = "${outputDir}/${jalviewjsJalviewTemplateName}_${cl.name}.html"
511 + def outputFile = "${destinationDirectory}/${jalviewjsJalviewTemplateName}_${cl.name}.html"
512 cl['outputfile'] = outputFile
513 outputFiles += outputFile
515 @@ -3496,13 +3517,13 @@
516 dependsOn jalviewjsBuildAllCores
517 dependsOn jalviewjsPublishCoreTemplates
518 def inputFiles = fileTree(dir: "${jalviewDir}/${jalviewjsTransferSiteCoreDir}")
519 - def outputDir = "${jalviewDir}/${jalviewjsSiteDir}"
520 + def destinationDirectory = "${jalviewDir}/${jalviewjsSiteDir}"
524 + into destinationDirectory
527 - outputFiles += "${outputDir}/${filename}"
528 + outputFiles += "${destinationDirectory}/${filename}"