forked from apache/grails-spring-security
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild.gradle
More file actions
87 lines (81 loc) · 3.07 KB
/
build.gradle
File metadata and controls
87 lines (81 loc) · 3.07 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import java.time.Instant
import java.time.ZoneOffset
import java.time.format.DateTimeFormatter
ext {
isReproducibleBuild = System.getenv("SOURCE_DATE_EPOCH") != null
buildInstant = java.util.Optional.ofNullable(System.getenv("SOURCE_DATE_EPOCH"))
.filter(s -> !s.isEmpty())
.map(Long::parseLong)
.map(Instant::ofEpochSecond)
.orElseGet(Instant::now)
formattedBuildDate = DateTimeFormatter.ISO_INSTANT.format(buildInstant)
buildDate = (buildInstant as Instant).atZone(ZoneOffset.UTC) // for reproducible builds
isCiBuild = System.getenv().get('CI') as Boolean
}
allprojects {
repositories {
mavenCentral()
maven { url = 'https://repo.grails.org/grails/restricted' }
maven {
url = 'https://repository.apache.org/content/groups/snapshots'
content {
includeVersionByRegex('org[.]apache[.]((grails)|(groovy)).*', '.*','.*SNAPSHOT')
}
}
maven {
url = 'https://repository.apache.org/content/groups/staging'
content {
includeGroupByRegex('org[.]apache[.]grails.*')
}
}
maven {
url = 'https://central.sonatype.com/repository/maven-snapshots'
content {
includeVersionByRegex('cloud[.]wondrify', '.*', '.*-SNAPSHOT')
}
}
}
configurations.configureEach {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'org.seleniumhq.selenium') {
details.useVersion('4.25.0')
details.because('Temporary workaround because of https://issues.chromium.org/issues/42323769')
}
}
}
}
subprojects {
configurations.configureEach {
resolutionStrategy {
def cacheHours = isCiBuild || isReproducibleBuild ? 0 : 24
cacheDynamicVersionsFor(cacheHours, 'hours')
cacheChangingModulesFor(cacheHours, 'hours')
}
}
}
tasks.register('clean', Delete) {
group = 'build'
delete(layout.buildDirectory)
}
apply {
from layout.projectDirectory.file('gradle/publish-root-config.gradle')
from layout.projectDirectory.file('gradle/rat-root-config.gradle')
}