-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsettings.gradle.kts
More file actions
97 lines (87 loc) · 2.26 KB
/
settings.gradle.kts
File metadata and controls
97 lines (87 loc) · 2.26 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
rootProject.name = "meetacy-backend"
enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS")
pluginManagement {
repositories {
mavenCentral()
google()
gradlePluginPortal()
}
}
class GitHubUnauthorizedException(env: String)
: Exception("We could not find your credentials for GitHub. Check if the $env environment variable set")
dependencyResolutionManagement {
repositories {
mavenLocal()
mavenCentral()
google()
maven {
url = uri("https://maven.pkg.github.com/meetacy/maven")
credentials {
username = System.getenv("GITHUB_USERNAME")
?: System.getenv("USERNAME")
?: throw GitHubUnauthorizedException("GITHUB_USERNAME")
password = System.getenv("GITHUB_TOKEN") ?: throw GitHubUnauthorizedException("GITHUB_TOKEN")
}
}
}
}
includeBuild("build-logic")
include(
"application",
"application:endpoints",
"application:usecase",
"application:database",
"application:database:migrations"
)
val core = listOf(
"constants",
"endpoints",
"endpoints:integration",
"usecase",
"usecase:integration",
"database",
"database:integration",
"integration",
"types",
"types:integration",
"types:serializable",
"types:serializable:integration",
)
include(core.map { "core:$it" })
val libraries = listOf(
"hash-generator",
"utf8-checker",
"stdlib-extensions",
"discord-webhook",
"discord-webhook:ktor",
"paging",
"paging:database",
"paging:serializable",
"paging:serializable:integration",
"exposed-extensions",
"google-maps",
"google-maps:ktor",
"ktor-extensions",
)
include(libraries.map { "libs:$it" })
val features = listOf(
"auth",
"auth:email",
"auth:telegram",
"files",
"friends",
"invitations",
"meetings",
"notifications",
"updates",
"users",
"search"
)
features.forEach { feature ->
include("feature:$feature:endpoints")
include("feature:$feature:endpoints:integration")
include("feature:$feature:usecase")
include("feature:$feature:usecase:integration")
include("feature:$feature:database")
include("feature:$feature:database:integration")
}