Overhaul build script dependency handling, moves all version numbers for dependencies to gradle.properties and moves downloading Sedna from the GitHub workflow into the gradle workflow.
This commit is contained in:
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
@@ -18,7 +18,6 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- name: build
|
||||
run: |
|
||||
wget https://github.com/North-Western-Development/sedna-mc/releases/download/1.20.1-forge%2F1.0.54/sedna-1.20.1-forge-1.0.54+8d77183.jar -O libs/sedna.jar
|
||||
./gradlew build
|
||||
|
||||
- uses: actions/upload-artifact@v4
|
||||
|
||||
1
.github/workflows/publish.yml
vendored
1
.github/workflows/publish.yml
vendored
@@ -30,7 +30,6 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
- name: build
|
||||
run: |
|
||||
wget https://github.com/North-Western-Development/sedna-mc/releases/download/1.20.1-forge%2F1.0.54/sedna-1.20.1-forge-1.0.54+8d77183.jar -O libs/sedna.jar
|
||||
./gradlew -Psemver='${{ github.event.release.tag_name }}' build
|
||||
|
||||
- name: Add Artifacts to Github Release
|
||||
|
||||
55
build.gradle
55
build.gradle
@@ -98,15 +98,15 @@ dependencies {
|
||||
}
|
||||
implementation fileTree(dir: 'libs', include: '*.jar')
|
||||
// implementation "curse.maven:sedna-511276:3885542"
|
||||
minecraftLibrary "org.apache.commons:commons-collections4:4.4"
|
||||
minecraftLibrary "org.apache.commons:commons-collections4:${apache_commons_version}"
|
||||
|
||||
implementation fg.deobf("curse.maven:architectury-api-419699:5137938")
|
||||
implementation fg.deobf("curse.maven:markdownmanual-502485:4873115")
|
||||
implementation fg.deobf("curse.maven:architectury-api-${architectury_project_id}:${architectury_file_id}")
|
||||
implementation fg.deobf("curse.maven:markdownmanual-${markdownmanual_project_id}:${markdownmanual_file_id}")
|
||||
|
||||
compileOnly fg.deobf("mezz.jei:jei-1.20.1-common-api:15.3.0.4")
|
||||
compileOnly fg.deobf("mezz.jei:jei-1.20.1-forge-api:15.3.0.4")
|
||||
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}-common-api:${jei_version}")
|
||||
compileOnly fg.deobf("mezz.jei:jei-${minecraft_version}-${minecraft_sdk}-api:${jei_version}")
|
||||
|
||||
runtimeOnly fg.deobf("mezz.jei:jei-1.20.1-forge:15.3.0.4")
|
||||
runtimeOnly fg.deobf("mezz.jei:jei-${minecraft_version}-${minecraft_sdk}:${jei_version}")
|
||||
|
||||
compileOnly fg.deobf("mrtjp:ProjectRed:${minecraft_version}-${pr_version}:api")
|
||||
runtimeOnly fg.deobf("io.codechicken:CodeChickenLib:${minecraft_version}-${ccl_version}:universal")
|
||||
@@ -116,36 +116,38 @@ dependencies {
|
||||
|
||||
if (debug_embeddium.toBoolean())
|
||||
{
|
||||
runtimeOnly fg.deobf("curse.maven:embeddium-908741:5521846")
|
||||
runtimeOnly fg.deobf("curse.maven:embeddium-${embeddium_project_id}:${embeddium_file_id}")
|
||||
}
|
||||
|
||||
if (debug_embeddium_plus_plus.toBoolean())
|
||||
{
|
||||
runtimeOnly fg.deobf("curse.maven:embeddiumplus-931925:5436746")
|
||||
runtimeOnly fg.deobf("curse.maven:embeddiumplus-${embeddium_plus_plus_project_id}:${embeddium_plus_plus_file_id}")
|
||||
}
|
||||
|
||||
if (debug_oculus.toBoolean())
|
||||
{
|
||||
runtimeOnly fg.deobf("curse.maven:oculus-581495:5299671")
|
||||
runtimeOnly fg.deobf("curse.maven:oculus-${oculus_project_id}:${oculus_file_id}")
|
||||
}
|
||||
|
||||
testImplementation "org.mockito:mockito-inline:4.3.1"
|
||||
testImplementation "org.junit.jupiter:junit-jupiter-api:5.8.2"
|
||||
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.8.2"
|
||||
jarJar(group: 'libs', name: 'sedna', version: '[]') {
|
||||
jarJar.pin(it, "")
|
||||
}
|
||||
|
||||
// Test Dependencies
|
||||
testImplementation "org.mockito:mockito-inline:${mockito_version}"
|
||||
testImplementation "org.junit.jupiter:junit-jupiter-api:${jupiter_version}"
|
||||
testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:${jupiter_version}"
|
||||
}
|
||||
|
||||
System.setProperty("line.separator", "\n")
|
||||
|
||||
def nativeLibsDir = file("src/main/resources/natives")
|
||||
|
||||
tasks.register("downloadNativeLibs") {
|
||||
tasks.register("downloadDependencies") {
|
||||
group = "build setup"
|
||||
doLast {
|
||||
def repo = "North-Western-Development/oc2r-native-networking"
|
||||
def baseUrl = "https://github.com/${repo}/releases/latest/download/"
|
||||
// native networking library
|
||||
def nativeNetworkingBaseUrl = "https://github.com/${native_networking_repo}/releases/download/${network_lib_version}/"
|
||||
|
||||
def targets = [
|
||||
"macos/liboc2rnet-x86_64.dylib",
|
||||
@@ -160,12 +162,23 @@ tasks.register("downloadNativeLibs") {
|
||||
def file = new File(nativeLibsDir, path)
|
||||
file.parentFile.mkdirs()
|
||||
def fileName = path.tokenize('/')[-1]
|
||||
def url = new URL("${baseUrl}${fileName}")
|
||||
def url = new URL("${nativeNetworkingBaseUrl}${fileName}")
|
||||
println "Downloading ${url} → ${file}"
|
||||
file.withOutputStream { out ->
|
||||
url.openStream().withCloseable { IOUtils.copy(it, out) }
|
||||
}
|
||||
}
|
||||
|
||||
// senda
|
||||
def sednaUrl = "https://github.com/${senda_repo}/releases/download/${minecraft_version}-${minecraft_sdk}/${sedna_version}/sedna-${minecraft_version}-${minecraft_sdk}-${sedna_version}+${sedna_version_commit_ref}.jar"
|
||||
def sednaFile = new File('libs', 'sedna.jar')
|
||||
sednaFile.parentFile.mkdirs()
|
||||
def url = new URL("${sednaUrl}")
|
||||
println "Downloading ${url} → ${sednaFile}"
|
||||
sednaFile.withOutputStream { out ->
|
||||
url.openStream().withCloseable { IOUtils.copy(it, out) }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,7 +197,7 @@ tasks.register('copyLicensesToResources', Copy) {
|
||||
|
||||
processResources.dependsOn(packageScripts)
|
||||
processResources.dependsOn(copyLicensesToResources)
|
||||
processResources.dependsOn(downloadNativeLibs)
|
||||
processResources.dependsOn(downloadDependencies)
|
||||
|
||||
tasks.named('jarJar'){
|
||||
}
|
||||
@@ -279,7 +292,7 @@ curseforge {
|
||||
releaseType = System.getenv('RELEASE_TYPE') ?: "alpha"
|
||||
changelogType = 'markdown'
|
||||
changelog = System.getenv("CHANGELOG") ?: "Changelog not available."
|
||||
addGameVersion "Forge"
|
||||
addGameVersion minecraft_sdk
|
||||
addGameVersion minecraft_version
|
||||
addGameVersion "Java 17"
|
||||
mainArtifact "build/libs/oc2r-${minecraft_version}-${minecraft_sdk}-${version}-all.jar"
|
||||
@@ -291,11 +304,11 @@ curseforge {
|
||||
|
||||
modrinth {
|
||||
token = System.getenv("MODRINTH_TOKEN")
|
||||
projectId = "F1gm4RsH"
|
||||
projectId = modrinth_project_id
|
||||
versionType = System.getenv('RELEASE_TYPE') ?: "alpha"
|
||||
uploadFile = "build/libs/oc2r-${minecraft_version}-${minecraft_sdk}-${version}-all.jar"
|
||||
gameVersions = ["1.20.1"]
|
||||
loaders = ["forge"]
|
||||
gameVersions = [minecraft_version]
|
||||
loaders = [minecraft_sdk]
|
||||
changelog = System.getenv("CHANGELOG") ?: "Changelog not available."
|
||||
dependencies {
|
||||
required.project "markdownmanual"
|
||||
|
||||
@@ -3,20 +3,51 @@
|
||||
org.gradle.jvmargs=-Xmx3G
|
||||
org.gradle.daemon=false
|
||||
|
||||
# Minecraft Related
|
||||
forge_version=47.3.38
|
||||
minecraft_version = 1.20.1
|
||||
minecraft_sdk = forge
|
||||
|
||||
semver=0.0.0
|
||||
# Mod Version (for Local Builds Only)
|
||||
semver = 0.0.0
|
||||
|
||||
curse_project_id=1037738
|
||||
# Curse Publishing Info
|
||||
curse_project_id = 1037738
|
||||
|
||||
pr_version=4.19.0-beta+3
|
||||
ccl_version=4.4.0.+
|
||||
cbm_version=3.3.0.+
|
||||
# Modrinth Publishing Info
|
||||
modrinth_project_id = F1gm4RsH
|
||||
|
||||
debug_embeddium=false
|
||||
# Dependency CurseForge Project IDs and File IDs (essentially the file id is synonymous with version number and archive classifier)
|
||||
markdownmanual_project_id = 502485
|
||||
markdownmanual_file_id = 4873115
|
||||
architectury_project_id = 419699
|
||||
architectury_file_id = 5137938
|
||||
|
||||
debug_embeddium_plus_plus=false
|
||||
# Dependency Version Info
|
||||
apache_commons_version = 4.4
|
||||
jei_version = 15.3.0.4
|
||||
pr_version = 4.19.0-beta+3
|
||||
ccl_version = 4.4.0.+
|
||||
cbm_version = 3.3.0.+
|
||||
network_lib_version = 1.0.3
|
||||
sedna_version = 1.0.54
|
||||
sedna_version_commit_ref = 8d77183
|
||||
|
||||
debug_oculus=false
|
||||
# Debug Options
|
||||
debug_embeddium = false
|
||||
embeddium_project_id = 908741
|
||||
embeddium_file_id = 5521846
|
||||
debug_embeddium_plus_plus = false
|
||||
embeddium_plus_plus_project_id = 931925
|
||||
embeddium_plus_plus_file_id = 5436746
|
||||
debug_oculus = false
|
||||
oculus_project_id = 581495
|
||||
oculus_file_id = 5299671
|
||||
|
||||
# Repos
|
||||
native_networking_repo = North-Western-Development/oc2r-native-networking
|
||||
senda_repo = North-Western-Development/sedna-mc
|
||||
|
||||
# Test Dependency Versions
|
||||
mockito_version = 4.3.1
|
||||
jupiter_version = 5.8.2
|
||||
|
||||
Reference in New Issue
Block a user