forked from walt-id/waltid-identity
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.gradle.kts
More file actions
175 lines (143 loc) · 5.21 KB
/
Copy pathsettings.gradle.kts
File metadata and controls
175 lines (143 loc) · 5.21 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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
// # walt.id identity build configuration
import java.util.Properties
fun properties(path: String) = file(path)
.takeIf { it.isFile }
?.inputStream()
?.use { Properties().apply { load(it) } }
?: Properties()
val localProperties = properties("local.properties")
fun setting(name: String) =
(startParameter.projectProperties[name]
?: localProperties.getProperty(name)
?: providers.gradleProperty(name).orNull
?: "false")
.toBoolean()
val enableAndroidBuild = setting("enableAndroidBuild")
val enableIosBuild = setting("enableIosBuild")
val enableWalletDemoComposeWeb = setting("enableWalletDemoComposeWeb")
val enableWalletDemoCompose = enableAndroidBuild || enableIosBuild || enableWalletDemoComposeWeb
infix fun String.whenEnabled(setting: Boolean) = if (setting) this else null
fun String.group(vararg elements: String?) = elements.map { it?.let { "$this:$it" } }.toTypedArray()
// Build setup:
// Shorthands
val libraries = ":waltid-libraries"
val applications = ":waltid-applications"
val services = ":waltid-services"
val modules = listOfNotNull(
* "$libraries:crypto".group(
"waltid-crypto",
"waltid-crypto-oci",
"waltid-crypto-aws",
"waltid-crypto-azure",
"waltid-crypto2",
"waltid-cose",
"waltid-x509",
),
* "$libraries:credentials".group(
"waltid-w3c-credentials",
"waltid-credential-key-resolver",
"waltid-digital-credentials",
"waltid-digital-credentials-examples",
"waltid-mdoc-credentials",
"waltid-dif-definitions-parser",
"waltid-dcql",
"waltid-verification-policies",
"waltid-verification-policies2",
"waltid-verification-policies2-vp",
"waltid-holder-policies",
"waltid-vical",
"waltid-mdoc-credentials2",
"waltid-trust-registry"
),
* "$libraries:protocols".group(
"waltid-openid4vc",
"waltid-openid4vci",
"waltid-openid4vci-wallet",
"waltid-openid4vp",
"waltid-openid4vp-verifier",
"waltid-openid4vp-verifier-openapi",
"waltid-openid4vp-clientidprefix",
"waltid-openid4vp-wallet",
"waltid-18013-7-verifier",
"waltid-openid4vc-wallet",
"waltid-openid4vc-wallet-persistence-mobile" whenEnabled enableAndroidBuild,
"waltid-openid4vc-wallet-persistence-mobile" whenEnabled enableIosBuild,
"waltid-openid4vc-wallet-persistence-server",
"waltid-openid4vc-wallet-mobile" whenEnabled enableAndroidBuild,
"waltid-openid4vc-wallet-mobile" whenEnabled enableIosBuild,
"waltid-openid4vc-wallet-server",
"waltid-mobile-test-utils" whenEnabled enableAndroidBuild,
),
* "$libraries:sdjwt".group(
"waltid-sdjwt",
),
* "$libraries:auth".group(
"waltid-ktor-authnz",
"waltid-permissions",
"waltid-idpkit"
),
* "$libraries:web".group(
"waltid-ktor-notifications",
"waltid-ktor-notifications-core",
"waltid-web-data-fetching"
),
"$libraries:waltid-core-wallet",
"$libraries:waltid-did",
"$libraries:waltid-java-compat",
"$libraries:waltid-library-commons",
// Service commons
"$services:waltid-service-commons",
"$services:waltid-service-commons-test",
// Services based on libs
"$services:waltid-issuer-api",
"$services:waltid-issuer-api2",
"$services:waltid-verifier-api",
"$services:waltid-verifier-api2",
"$services:waltid-wallet-api",
"$services:waltid-wallet-api2",
"$services:waltid-wallet-migration",
"$services:waltid-etsi-plugtest-cli",
// Service tests
"$services:waltid-e2e-tests",
"$services:waltid-integration-tests",
"$services:waltid-openid4vp-conformance-runners",
// ETSI Plugtest CLI
"$services:waltid-etsi-plugtest-cli",
// CLI
"$applications:waltid-cli",
":waltid-applications:waltid-android" whenEnabled enableAndroidBuild,
"$applications:waltid-wallet-demo-compose:sharedLogic" whenEnabled enableWalletDemoCompose,
"$applications:waltid-wallet-demo-compose:sharedUI" whenEnabled enableWalletDemoCompose,
"$applications:waltid-wallet-demo-compose:androidApp" whenEnabled enableAndroidBuild,
"$applications:waltid-wallet-demo-compose:iosApp" whenEnabled enableIosBuild,
"$applications:waltid-wallet-demo-compose:webApp" whenEnabled enableWalletDemoComposeWeb,
"$applications:waltid-wallet-demo-ios" whenEnabled enableIosBuild,
"$applications:waltid-wallet-demo-ios:shared" whenEnabled enableIosBuild
)
include(*modules.distinct().toTypedArray())
pluginManagement {
includeBuild("build-logic")
repositories {
google()
mavenCentral()
gradlePluginPortal()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)
repositories {
maven("https://maven.waltid.dev/releases")
maven("https://maven.waltid.dev/snapshots")
mavenCentral()
google()
}
versionCatalogs {
create("identityLibs") {
from(files("gradle/libs.versions.toml"))
}
}
}
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
}
rootProject.name = "waltid-identity"