forked from pgjdbc/pgjdbc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
settings.gradle.kts
98 lines (86 loc) · 3.61 KB
/
settings.gradle.kts
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
88
89
90
91
92
93
94
95
96
97
98
/*
* Copyright (c) 2019, PostgreSQL Global Development Group
* See the LICENSE file in the project root for more information.
*/
pluginManagement {
plugins {
fun String.v() = extra["$this.version"].toString()
fun PluginDependenciesSpec.idv(id: String, key: String = id) = id(id) version key.v()
idv("biz.aQute.bnd.builder")
idv("com.github.autostyle")
idv("com.github.burrunan.s3-build-cache")
idv("com.github.johnrengelman.shadow")
idv("com.github.lburgazzoli.karaf")
idv("com.github.spotbugs")
idv("com.github.vlsi.crlf", "com.github.vlsi.vlsi-release-plugins")
idv("com.github.vlsi.gettext", "com.github.vlsi.vlsi-release-plugins")
idv("com.github.vlsi.gradle-extensions", "com.github.vlsi.vlsi-release-plugins")
idv("com.github.vlsi.ide", "com.github.vlsi.vlsi-release-plugins")
idv("com.github.vlsi.jandex", "com.github.vlsi.vlsi-release-plugins")
idv("com.github.vlsi.license-gather", "com.github.vlsi.vlsi-release-plugins")
idv("com.github.vlsi.stage-vote-release", "com.github.vlsi.vlsi-release-plugins")
idv("de.thetaphi.forbiddenapis")
idv("me.champeau.jmh")
idv("org.checkerframework")
idv("org.jetbrains.gradle.plugin.idea-ext")
idv("org.nosphere.gradle.github.actions")
idv("org.owasp.dependencycheck")
kotlin("jvm") version "kotlin".v()
}
}
plugins {
// TODO: remove explicit version once upgrade to Gradle 7.4+
// The version is explicitly specified to support building with tr_TR locale
// See https://github.com/gradle/gradle/issues/17361
id("com.gradle.enterprise") version "3.10.1"
id("com.github.burrunan.s3-build-cache")
}
// This is the name of a current project
// Note: it cannot be inferred from the directory name as developer might clone pgjdbc to pgjdbc_tmp (or whatever) folder
rootProject.name = "pgjdbc"
include(
"bom",
"benchmarks",
"postgresql",
"pgjdbc-osgi-test"
)
project(":postgresql").projectDir = file("pgjdbc")
// See https://github.com/gradle/gradle/issues/1348#issuecomment-284758705 and
// https://github.com/gradle/gradle/issues/5321#issuecomment-387561204
// Gradle inherits Ant "default excludes", however we do want to archive those files
org.apache.tools.ant.DirectoryScanner.removeDefaultExclude("**/.gitattributes")
org.apache.tools.ant.DirectoryScanner.removeDefaultExclude("**/.gitignore")
fun property(name: String) =
when (extra.has(name)) {
true -> extra.get(name) as? String
else -> null
}
val isCiServer = System.getenv().containsKey("CI")
if (isCiServer) {
gradleEnterprise {
buildScan {
termsOfServiceUrl = "https://gradle.com/terms-of-service"
termsOfServiceAgree = "yes"
tag("CI")
}
}
}
// Cache build artifacts, so expensive operations do not need to be re-computed
buildCache {
local {
isEnabled = !isCiServer || System.getenv().containsKey("GITHUB_ACTIONS")
}
if (property("s3.build.cache")?.ifBlank { "true" }?.toBoolean() == true) {
val pushAllowed = property("s3.build.cache.push")?.ifBlank { "true" }?.toBoolean() ?: true
remote<com.github.burrunan.s3cache.AwsS3BuildCache> {
region = "us-east-1"
bucket = "pgjdbc-build-cache"
isPush = isCiServer && pushAllowed && !awsAccessKeyId.isNullOrBlank()
}
}
}
// This enables to use local clone of vlsi-release-plugins for debugging purposes
property("localReleasePlugins")?.ifBlank { "../vlsi-release-plugins" }?.let {
println("Importing project '$it'")
includeBuild(it)
}