Skip to content

Commit

Permalink
fix: make Gradle script robust against missing input directory
Browse files Browse the repository at this point in the history
SVC-1812
  • Loading branch information
florianesser committed Jun 7, 2024
1 parent 89351ba commit 896fa9e
Showing 1 changed file with 61 additions and 57 deletions.
118 changes: 61 additions & 57 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -74,63 +74,65 @@ config.validations.each { name, settings ->
// File outputFolder = new File(targetFolder, 'results')

def inputFolder = new File(configBasePath, settings.table.path)
inputFolder.eachDir { d ->

File logFileFolder = new File(targetFolder, d.name)
logFileFolder.mkdirs()

task("validate-$name-${d.name}", type: hale.transform()) {
assert projectFile != null
transformation = projectFile
if (inputFolder.exists()) {
inputFolder.eachDir { d ->

logToConsole = false
logFolder = logFileFolder
File logFileFolder = new File(targetFolder, d.name)
logFileFolder.mkdirs()

source(d) {
include '*.xlsx'
provider 'eu.esdihumboldt.hale.io.xls.reader.instance'
setting 'contentType', 'eu.esdihumboldt.hale.io.xls.xlsx'
setting 'skip', '0'
setting 'multiSheet', 'true'
setting 'dateTimeFormatterDefault', '[dd.MM.yyyy]'
task("validate-$name-${d.name}", type: hale.transform()) {
assert projectFile != null
transformation = projectFile

logToConsole = false
logFolder = logFileFolder

source(d) {
include '*.xlsx'
provider 'eu.esdihumboldt.hale.io.xls.reader.instance'
setting 'contentType', 'eu.esdihumboldt.hale.io.xls.xlsx'
setting 'skip', '0'
setting 'multiSheet', 'true'
setting 'dateTimeFormatterDefault', '[dd.MM.yyyy]'
}

target(new File(logFileFolder, settings.targetFileName ?: 'output.xlsx')) {
provider 'eu.esdihumboldt.hale.io.xls.writer.instance'
setting 'selectedExportType', 'NoiseActionPlanMajorRoad,NAP_MajorRoad,NAP_MajorRoadCompetentAuthority,NAP_MajorRoadLimitValues,NAP_RoadMappingResultDetail,NAP_RoadReductionMeasure,NAP_RoadReductionHealthImpact_1,NAP_RoadReductionHealthImpact_2,NAP_RoadReductionHealthImpact_3,ESTATUnitReference,DatasetDefaultProperties,CodelistProperties'
}

printStacktrace = true
trustGroovy = true
ignoreExitValue = false

additionalArgs << '-statisticsOut'
additionalArgs << "${logFileFolder}/statistics.json"
additionalArgs << '-reportsOut'
additionalArgs << "${logFileFolder}/reports.out"
additionalArgs << '-successEvaluation'
additionalArgs << 'successEvaluation.groovy'

description "Eingabedaten auf Basis des hale»studio-Projekts \"${projectFile.name}\" validieren."
group 'Validierung'

dependsOn 'prepare-validation-summary'
finalizedBy "finalize-$name-${d.name}"
}

target(new File(logFileFolder, settings.targetFileName ?: 'output.xlsx')) {
provider 'eu.esdihumboldt.hale.io.xls.writer.instance'
setting 'selectedExportType', 'NoiseActionPlanMajorRoad,NAP_MajorRoad,NAP_MajorRoadCompetentAuthority,NAP_MajorRoadLimitValues,NAP_RoadMappingResultDetail,NAP_RoadReductionMeasure,NAP_RoadReductionHealthImpact_1,NAP_RoadReductionHealthImpact_2,NAP_RoadReductionHealthImpact_3,ESTATUnitReference,DatasetDefaultProperties,CodelistProperties'
tasks["validate-$name-${d.name}"].doFirst {
targetFolder.mkdirs()
logFileFolder.mkdirs()
FileUtils.cleanDirectory(logFileFolder)
}

printStacktrace = true
trustGroovy = true
ignoreExitValue = false

additionalArgs << '-statisticsOut'
additionalArgs << "${logFileFolder}/statistics.json"
additionalArgs << '-reportsOut'
additionalArgs << "${logFileFolder}/reports.out"
additionalArgs << '-successEvaluation'
additionalArgs << 'successEvaluation.groovy'

description "Eingabedaten auf Basis des hale»studio-Projekts \"${projectFile.name}\" validieren."
group 'Validierung'

dependsOn 'prepare-validation-summary'
finalizedBy "finalize-$name-${d.name}"
}

tasks["validate-$name-${d.name}"].doFirst {
targetFolder.mkdirs()
logFileFolder.mkdirs()
FileUtils.cleanDirectory(logFileFolder)
}
task("finalize-$name-${d.name}").doLast {
def outputFile = new File(logFileFolder, 'LAP_HVS_2024_v230717_validation.xlsx')
def renamedFile = new File(logFileFolder, "DF7_10_NAP_MajorRoads_${d.name}.xlsx")
outputFile.renameTo(renamedFile)
}

task("finalize-$name-${d.name}").doLast {
def outputFile = new File(logFileFolder, 'LAP_HVS_2024_v230717_validation.xlsx')
def renamedFile = new File(logFileFolder, "DF7_10_NAP_MajorRoads_${d.name}.xlsx")
outputFile.renameTo(renamedFile)
tasks['validate-all'].dependsOn("validate-$name-${d.name}")
}

tasks['validate-all'].dependsOn("validate-$name-${d.name}")
}
}

Expand All @@ -149,14 +151,16 @@ config.aggregations.each { name, settings ->
logToConsole = false
logFolder = targetFolder

inputFolder.eachDir { d ->
source(d) {
include '*.xlsx'
provider 'eu.esdihumboldt.hale.io.xls.reader.instance'
setting 'contentType', 'eu.esdihumboldt.hale.io.xls.xlsx'
setting 'skip', '1'
setting 'multiSheet', 'true'
setting 'dateTimeFormatterDefault', '[dd.MM.yyyy]'
if (inputFolder.exists()) {
inputFolder.eachDir { d ->
source(d) {
include '*.xlsx'
provider 'eu.esdihumboldt.hale.io.xls.reader.instance'
setting 'contentType', 'eu.esdihumboldt.hale.io.xls.xlsx'
setting 'skip', '1'
setting 'multiSheet', 'true'
setting 'dateTimeFormatterDefault', '[dd.MM.yyyy]'
}
}
}

Expand Down

0 comments on commit 896fa9e

Please # to comment.