@@ -4,11 +4,11 @@ import dev.jbang.gradle.tasks.JBangTask
44import net.ltgt.gradle.errorprone.errorprone
55import net.ltgt.gradle.nullaway.nullaway
66import org.gradle.api.tasks.testing.logging.TestExceptionFormat
7- import java.net.URI
87import java.util.*
98
109plugins {
1110 id(" org.jabref.gradle.module" )
11+ id(" org.jabref.gradle.feature.download" )
1212 id(" java-library" )
1313
1414 id(" antlr" )
@@ -17,10 +17,9 @@ plugins {
1717
1818 id(" com.vanniktech.maven.publish" ) version " 0.35.0"
1919
20- // id("dev.jbang") version "0.2 .0"
20+ // id("dev.jbang") version "0.3 .0"
2121 // Workaround for https://github.com/jbangdev/jbang-gradle-plugin/issues/7
22- // Build state at https://jitpack.io/#koppor/jbang-gradle-plugin/fix-7-SNAPSHOT
23- id(" com.github.koppor.jbang-gradle-plugin" ) version " 8a85836163"
22+ id(" com.github.koppor.jbang-gradle-plugin" )
2423
2524 id(" net.ltgt.errorprone" ) version " 4.3.0"
2625 id(" net.ltgt.nullaway" ) version " 2.3.0"
@@ -260,7 +259,8 @@ var taskGenerateJournalListMV = tasks.register<JBangTask>("generateJournalListMV
260259
261260 inputs.dir(abbrvJabRefOrgDir)
262261 outputs.file(generatedJournalFile)
263- onlyIf {! generatedJournalFile.get().asFile.exists()}
262+ val generatedJournalFileProv = generatedJournalFile
263+ onlyIf { ! generatedJournalFileProv.get().asFile.exists() }
264264}
265265
266266var taskGenerateCitationStyleCatalog = tasks.register<JBangTask >(" generateCitationStyleCatalog" ) {
@@ -272,37 +272,16 @@ var taskGenerateCitationStyleCatalog = tasks.register<JBangTask>("generateCitati
272272 inputs.dir(layout.projectDirectory.dir(" src/main/resources/csl-styles" ))
273273 val cslCatalogJson = layout.buildDirectory.file(" generated/resources/citation-style-catalog.json" )
274274 outputs.file(cslCatalogJson)
275- onlyIf {! cslCatalogJson.get().asFile.exists()}
275+ val cslCatalogJsonProv = cslCatalogJson
276+ onlyIf { ! cslCatalogJsonProv.get().asFile.exists() }
276277}
277278
278- var ltwaCsvFile = layout.buildDirectory.file(" tmp/ltwa_20210702.csv" )
279+ val ltwaCsvFile = layout.buildDirectory.file(" tmp/ltwa_20210702.csv" )
279280
280- tasks.register(" downloadLtwaFile" ) {
281- group = " JabRef"
282- description = " Downloads the LTWA file for journal abbreviations"
283-
284- val ltwaUrl = " https://www.issn.org/wp-content/uploads/2021/07/ltwa_20210702.csv"
285- val ltwaDir = layout.buildDirectory.dir(" resources/main/journals" )
286-
287- outputs.file(ltwaCsvFile)
288-
289- // Ensure that the task really is not run if the file already exists (otherwise, the task could also run if gradle's cache is cleared, ...)
290- onlyIf {! ltwaCsvFile.get().asFile.exists()}
291-
292- doLast {
293- val dir = ltwaDir.get().asFile
294- val file = ltwaCsvFile.get().asFile
295-
296- dir.mkdirs()
297-
298- URI (ltwaUrl).toURL().openStream().use { input ->
299- file.outputStream().use { output ->
300- input.copyTo(output)
301- }
302- }
303-
304- logger.debug(" Downloaded LTWA file to $file " )
305- }
281+ tasks.register< de.undercouch.gradle.tasks.download.Download > (" downloadLtwaFile" ) {
282+ src(" https://www.issn.org/wp-content/uploads/2021/07/ltwa_20210702.csv" )
283+ dest(ltwaCsvFile)
284+ onlyIfModified(true )
306285}
307286
308287var taskGenerateLtwaListMV = tasks.register<JBangTask >(" generateLtwaListMV" ) {
@@ -315,15 +294,15 @@ var taskGenerateLtwaListMV = tasks.register<JBangTask>("generateLtwaListMV") {
315294 inputs.file(ltwaCsvFile)
316295 val ltwaListMv = layout.buildDirectory.file(" generated/resources/journals/ltwa-list.mv" );
317296 outputs.file(ltwaListMv)
318- onlyIf {! ltwaListMv.get().asFile.exists()}
297+ val ltwaListMvProv = ltwaListMv
298+ onlyIf { ! ltwaListMvProv.get().asFile.exists() }
319299}
320300
321301// Adds ltwa, journal-list.mv, and citation-style-catalog.json to the resources directory
322302sourceSets[" main" ].resources {
323303 srcDir(layout.buildDirectory.dir(" generated/resources" ))
324304}
325305
326-
327306// region processResources
328307abstract class JoinNonCommentedLines : DefaultTask () {
329308
0 commit comments