-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathsettings.gradle
More file actions
54 lines (48 loc) · 1.67 KB
/
Copy pathsettings.gradle
File metadata and controls
54 lines (48 loc) · 1.67 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
pluginManagement {
repositories {
mavenCentral()
gradlePluginPortal()
maven {
name = 'Fabric'
url = 'https://maven.fabricmc.net/'
}
maven {
name = 'Paper'
url = 'https://repo.papermc.io/repository/maven-public/'
}
}
}
rootProject.name = 'McediaCore'
def versionedModules = [
'mcedia-core',
'mcedia-cn-platforms'
]
def versions = providers.gradleProperty('supported_mc_versions')
.orElse('1.21.11')
.get()
.split(',')
.collect { it.trim() }
.findAll { !it.isEmpty() }
def parseMcVersionToNumber = { String mcVersion ->
def cleanVersion = mcVersion.split('-')[0].replaceAll(/[^0-9.]/, '')
def versionParts = cleanVersion.split(/\./).findAll { !it.isEmpty() }
def major = versionParts.size() > 0 ? versionParts[0].toInteger() : 0
def minor = versionParts.size() > 1 ? versionParts[1].toInteger() : 0
def patch = versionParts.size() > 2 ? versionParts[2].toInteger() : 0
major * 10000 + minor * 100 + patch
}
include 'mcedia-api'
include 'mcedia-player'
include 'mcedia-decoder-ffmpeg'
versionedModules.each { moduleName ->
include moduleName
project(":${moduleName}").projectDir = file(moduleName)
versions.each { mcVersion ->
def versionedProjectName = "${moduleName}-${mcVersion}"
include versionedProjectName
project(":${versionedProjectName}").projectDir = file("${moduleName}/versions/${mcVersion}")
project(":${versionedProjectName}").buildFileName = parseMcVersionToNumber(mcVersion) > 260000
? '../../../build.fabric.gradle'
: '../../../build.fabric.remap.gradle'
}
}