Skip to content

Commit

Permalink
Add auto update tool
Browse files Browse the repository at this point in the history
  • Loading branch information
Harleyoc1 committed Jul 19, 2023
1 parent bdb4269 commit 91f9f51
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 19 deletions.
54 changes: 36 additions & 18 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import java.time.Instant
import java.time.format.DateTimeFormatter

fun property(key: String) = project.findProperty(key).toString()
fun optionalProperty(key: String) = project.findProperty(key)?.toString()

apply(from = "https://gist.githubusercontent.com/Harleyoc1/4d23d4e991e868d98d548ac55832381e/raw/applesiliconfg.gradle")

Expand All @@ -17,6 +18,7 @@ plugins {
id("idea")
id("maven-publish")
id("com.matthewprenger.cursegradle") version "1.4.0"
id("com.harleyoconnor.autoupdatetool") version "1.0.5"
}

repositories {
Expand Down Expand Up @@ -77,6 +79,7 @@ minecraft {

sourceSets.main.get().resources {
srcDir("src/generated/resources")
srcDir("src/localization/resources")
}

dependencies {
Expand Down Expand Up @@ -116,36 +119,51 @@ java {
}
}

val changelogFile = file("build/changelog.txt")

curseforge {
if (project.hasProperty("curseApiKey") && project.hasProperty("curseFileType")) {
apiKey = property("curseApiKey")
if (!project.hasProperty("curseApiKey")) {
project.logger.warn("API Key for CurseForge not detected; uploading will be disabled.")
return@curseforge
}

apiKey = property("curseApiKey")

project {
id = "289529"
project {
id = "289529"

addGameVersion(mcVersion)
addGameVersion(mcVersion)

changelog = file("build/changelog.txt")
changelogType = "markdown"
releaseType = property("curseFileType")
changelog = changelogFile
changelogType = "markdown"
releaseType = optionalProperty("versionType") ?: "release"

addArtifact(tasks.findByName("sourcesJar"))
addArtifact(tasks.findByName("sourcesJar"))

mainArtifact(tasks.findByName("jar")) {
relations {
requiredDependency("dynamictrees")
requiredDependency("biomes-o-plenty")
optionalDependency("dynamictreesplus")
optionalDependency("chunk-saving-fix")
}
mainArtifact(tasks.findByName("jar")) {
relations {
requiredDependency("dynamictrees")
requiredDependency("biomes-o-plenty")
optionalDependency("dynamictreesplus")
}
}
} else {
project.logger.log(LogLevel.WARN, "API Key and file type for CurseForge not detected; uploading will be disabled.")
}
}

val minecraftVersion = mcVersion

autoUpdateTool {
mcVersion.set(minecraftVersion)
version.set(modVersion)
versionRecommended.set(property("versionRecommended") == "true")
changelogOutputFile.set(changelogFile)
updateCheckerFile.set(file(property("dynamictrees.version_info_repo.path") + File.separatorChar + property("updateCheckerPath")))
}

tasks.autoUpdate {
finalizedBy("curseforge")
}

tasks.withType<GenerateModuleMetadata> {
enabled = false
}
Expand Down
4 changes: 3 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ jeiVersion=9.7.1.255
ccVersion=1.100.10
suggestionProviderFixVersion=1.0.0

curseFileType=release
versionType=release
versionRecommended=true
updateCheckerPath=Add-ons/BOP.json

org.gradle.jvmargs=-Xmx3G
org.gradle.daemon=false

0 comments on commit 91f9f51

Please sign in to comment.