-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathgenerateConfig.gradle
More file actions
39 lines (32 loc) · 1.57 KB
/
generateConfig.gradle
File metadata and controls
39 lines (32 loc) · 1.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
buildscript {
repositories {
jcenter()
mavenCentral()
maven { url 'https://plugins.gradle.org/m2/' }
}
dependencies {
classpath 'org.apache.commons:commons-configuration2:2.2'
classpath 'commons-beanutils:commons-beanutils:1.9.3'
}
}
import org.apache.commons.configuration2.PropertiesConfiguration
import org.apache.commons.configuration2.builder.fluent.Configurations
import org.apache.commons.configuration2.io.FileHandler
import java.time.Instant
import java.time.ZoneOffset
import java.time.format.DateTimeFormatter
final pluginPropertiesFileName = 'blackDuckPlugin.properties'
final String dateTimePatternKey = 'blackduck.date.time.pattern'
final String scanCutoffDateKey = 'blackduck.artifactory.scan.cutoff.date'
task generateConfig {
doLast {
final Configurations configurations = new Configurations()
final File pluginConfigFile = new File("${projectDir}/src/main/resources/$pluginPropertiesFileName")
final PropertiesConfiguration propertiesConfiguration = configurations.properties(pluginConfigFile)
final String dateTimePattern = propertiesConfiguration.getString(dateTimePatternKey)
final String nowString = Instant.now().atOffset(ZoneOffset.UTC).minusYears(1).toLocalDate().atStartOfDay().format(DateTimeFormatter.ofPattern(dateTimePattern))
propertiesConfiguration.setProperty(scanCutoffDateKey, nowString)
final FileHandler handler = new FileHandler(propertiesConfiguration)
handler.save(new File("${projectDir}/build/configs/$pluginPropertiesFileName"))
}
}