diff --git a/gradle/nshm.gradle b/gradle/nshm.gradle index 7774f90b869a519aa9e96b2ca0069d7a0de8ecc2..8b8cfbd74a60b182f3239c6882b7b6793251b0f4 100644 --- a/gradle/nshm.gradle +++ b/gradle/nshm.gradle @@ -15,16 +15,11 @@ ext { nshmDir = "nshms"; // Download and unzip NSHM - downloadNshm = {repo, year -> - def yaml = new Yaml() - def nshmConfig = new Yaml().load(new File("${projectDir}/nshms.yml").newInputStream()) - def nshm = nshmConfig.nshms.find{nshm -> nshm.repo == repo && nshm.year == year} - - if (nshm == null) { - throw new Exception("NSHM ${repo} ${year} not found.") - } - + downloadNshm = {nshm -> + def repo = nshm.repo def tag = nshm.tag + def year = nshm.year + def zipName = "${repo}-${tag}.zip"; def zipFile = new File(nshmDir, zipName) def nshmFile = file("${nshmDir}/${repo}-${year}") @@ -46,6 +41,20 @@ ext { delete zipFile } } + + // Returns a NSHM from nshms.yml array + findNshm = {repo, year -> + def yaml = new Yaml() + def nshmConfig = new Yaml().load(new File("${projectDir}/nshms.yml").newInputStream()) + def nshm = nshmConfig.nshms.find{nshm -> nshm.repo == repo && nshm.year == year} + + if (nshm == null) { + throw new Exception("NSHM ${repo} ${year} not found.") + } + + return nshm + } + } task cleanNshm(type: Delete) { @@ -53,13 +62,27 @@ task cleanNshm(type: Delete) { } clean.dependsOn cleanNshm +// Download all NSHMs +task nshms() { + dependsOn cleanNshm + def yaml = new Yaml() + def nshmConfig = new Yaml().load(new File("${projectDir}/nshms.yml").newInputStream()) + + doLast { + for (nshm in nshmConfig.nshms) { + // Download NSHM + downloadNshm(nshm) + } + } +} + // Test Alaska 2023 NSHM task testAlaska2023(type: Test) { description = "Test Alaska 2023 NSHM" group = "verification" doFirst { - downloadNshm("nshm-alaska", 2023) + downloadNshm(findNshm("nshm-alaska", 2023)) } testLogging { @@ -83,7 +106,7 @@ task testConus2018(type: Test) { group = "verification" doFirst { - downloadNshm("nshm-conus", 2018) + downloadNshm(findNshm("nshm-conus", 2018)) } testLogging { @@ -107,7 +130,7 @@ task testConus2023(type: Test) { group = "verification" doFirst { - downloadNshm("nshm-conus", 2023) + downloadNshm(findNshm("nshm-conus", 2023)) } testLogging { @@ -131,7 +154,7 @@ task testHawaii2021(type: Test) { group = "verification" doFirst { - downloadNshm("nshm-hawaii", 2021) + downloadNshm(findNshm("nshm-hawaii", 2021)) } testLogging {