-
Notifications
You must be signed in to change notification settings - Fork 4
/
settings.gradle.kts
95 lines (82 loc) · 2.84 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
rootProject.name = "devenv"
// Make plugin repositories available, for loading plugins in included builds.
pluginManagement {
repositories {
maven("https://artifacts.metaborg.org/content/groups/public/")
}
}
plugins {
id("com.gradle.enterprise") version ("3.17.3")
}
// Apply devenv-settings plugin. Settings plugins must still be put on the classpath via a buildscript block.
buildscript {
repositories {
maven("https://artifacts.metaborg.org/content/groups/public/")
}
dependencies {
classpath("org.metaborg:gradle.config:0.7.3")
}
}
apply(plugin = "org.metaborg.gradle.config.devenv-settings")
// Include builds from subdirectories, but only if it is from an included repository.
// The order of these includes is important. Gradle plugins must be included BEFORE they are used!
// Manually include nested composite builds, as IntelliJ does not support them.
configure<mb.gradle.config.devenv.DevenvSettingsExtension> {
// Independent Gradle plugins.
if (isRepositoryIncluded("gradle.config")) {
includeBuild("gradle.config")
}
if (isRepositoryIncluded("gitonium")) {
includeBuild("gitonium")
}
if (isRepositoryIncluded("coronium")) {
includeBuild("coronium") { name = "coronium.root" }
}
// Dependency management
if (isRepositoryIncluded("depman")) {
includeBuild("depman")
}
// Independent common Java libraries.
if (isRepositoryIncluded("depman")) {
includeBuild("depman")
}
if (isRepositoryIncluded("log")) {
includeBuild("log") { name = "log.root" }
}
if (isRepositoryIncluded("resource")) {
includeBuild("resource") { name = "resource.root" }
}
if (isRepositoryIncluded("common")) {
includeBuild("common") { name = "common.root" }
}
// PIE Java libraries.
if (isRepositoryIncluded("pie")) {
includeBuild("pie") { name = "pie.root" }
}
// Spoofax 2 Java libraries, languages, and Gradle plugin.
if (isRepositoryIncluded("releng")) {
includeBuild("releng/gradle") { name = "spoofax2.releng.root" }
}
// PIE DSL (include after Spoofax 2, since it uses the Spoofax 2 Gradle plugin)
if (isRepositoryIncluded("pie")) {
includeBuild("pie/lang") { name = "pie.lang.root" }
}
// Spoofax 3 Java libraries, languages, and Gradle plugins.
if (isRepositoryIncluded("spoofax-pie")) {
includeBuild("spoofax.pie") { name = "spoofax3.root" }
}
// Jenkins CI
if (isRepositoryIncluded("jenkins.pipeline")) {
includeBuild("jenkins.pipeline")
}
}
gradleEnterprise {
buildScan {
if (!System.getenv("CI").isNullOrEmpty()) {
termsOfServiceUrl = "https://gradle.com/terms-of-service"
termsOfServiceAgree = "yes"
publishAlways()
tag("CI")
}
}
}