mirror of
				https://github.com/SquidDev-CC/CC-Tweaked
				synced 2025-10-31 13:42:59 +00:00 
			
		
		
		
	More gradle tweaks
- Upgade to Gradle 7.0 and FG 5.0 - Allow running with any Java version - this now correctly compiles Forge with the right version. - Upload to Modrinth too. This is entirely untested, so may need some tweaking.
This commit is contained in:
		
							
								
								
									
										47
									
								
								build.gradle
									
									
									
									
									
								
							
							
						
						
									
										47
									
								
								build.gradle
									
									
									
									
									
								
							| @@ -1,6 +1,5 @@ | |||||||
| buildscript { | buildscript { | ||||||
|     repositories { |     repositories { | ||||||
|         jcenter() |  | ||||||
|         mavenCentral() |         mavenCentral() | ||||||
|         maven { |         maven { | ||||||
|             name = "forge" |             name = "forge" | ||||||
| @@ -9,7 +8,7 @@ buildscript { | |||||||
|     } |     } | ||||||
|     dependencies { |     dependencies { | ||||||
|         classpath 'com.google.code.gson:gson:2.8.1' |         classpath 'com.google.code.gson:gson:2.8.1' | ||||||
|         classpath 'net.minecraftforge.gradle:ForgeGradle:4.1.9' |         classpath 'net.minecraftforge.gradle:ForgeGradle:5.0.6' | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -17,10 +16,11 @@ plugins { | |||||||
|     id "checkstyle" |     id "checkstyle" | ||||||
|     id "jacoco" |     id "jacoco" | ||||||
|     id "maven-publish" |     id "maven-publish" | ||||||
|     id "com.github.hierynomus.license" version "0.15.0" |     id "com.github.hierynomus.license" version "0.16.1" | ||||||
|     id "com.matthewprenger.cursegradle" version "1.4.0" |     id "com.matthewprenger.cursegradle" version "1.4.0" | ||||||
|     id "com.github.breadmoirai.github-release" version "2.2.12" |     id "com.github.breadmoirai.github-release" version "2.2.12" | ||||||
|     id "org.jetbrains.kotlin.jvm" version "1.3.72" |     id "org.jetbrains.kotlin.jvm" version "1.3.72" | ||||||
|  |     id "com.modrinth.minotaur" version "1.2.1" | ||||||
| } | } | ||||||
|  |  | ||||||
| apply plugin: 'net.minecraftforge.gradle' | apply plugin: 'net.minecraftforge.gradle' | ||||||
| @@ -30,15 +30,30 @@ version = mod_version | |||||||
| group = "org.squiddev" | group = "org.squiddev" | ||||||
| archivesBaseName = "cc-tweaked-${mc_version}" | archivesBaseName = "cc-tweaked-${mc_version}" | ||||||
|  |  | ||||||
|  | def javaVersion = JavaLanguageVersion.of(8) | ||||||
| java { | java { | ||||||
|     toolchain { |     toolchain { | ||||||
|         languageVersion = JavaLanguageVersion.of(8) |         languageVersion = javaVersion | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     withSourcesJar() |     withSourcesJar() | ||||||
|     withJavadocJar() |     withJavadocJar() | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // Tragically java.toolchain.languageVersion doesn't apply to ForgeGradle's | ||||||
|  | // tasks, so we force all launchers to use the right Java version. | ||||||
|  | tasks.withType(JavaCompile).configureEach { | ||||||
|  |     javaCompiler = javaToolchains.compilerFor { | ||||||
|  |         languageVersion = javaVersion | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
|  | tasks.withType(JavaExec).configureEach { | ||||||
|  |     javaLauncher = javaToolchains.launcherFor { | ||||||
|  |         languageVersion = javaVersion | ||||||
|  |     } | ||||||
|  | } | ||||||
|  |  | ||||||
| minecraft { | minecraft { | ||||||
|     runs { |     runs { | ||||||
|         client { |         client { | ||||||
| @@ -199,6 +214,7 @@ processResources { | |||||||
|         e.printStackTrace() |         e.printStackTrace() | ||||||
|     } |     } | ||||||
|     inputs.property "commithash", hash |     inputs.property "commithash", hash | ||||||
|  |     duplicatesStrategy = DuplicatesStrategy.INCLUDE | ||||||
|  |  | ||||||
|     from(sourceSets.main.resources.srcDirs) { |     from(sourceSets.main.resources.srcDirs) { | ||||||
|         include 'META-INF/mods.toml' |         include 'META-INF/mods.toml' | ||||||
| @@ -215,6 +231,10 @@ processResources { | |||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | sourcesJar { | ||||||
|  |     duplicatesStrategy = DuplicatesStrategy.INCLUDE | ||||||
|  | } | ||||||
|  |  | ||||||
| // Web tasks | // Web tasks | ||||||
|  |  | ||||||
| import org.apache.tools.ant.taskdefs.condition.Os | import org.apache.tools.ant.taskdefs.condition.Os | ||||||
| @@ -445,6 +465,21 @@ curseforge { | |||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | import com.modrinth.minotaur.TaskModrinthUpload | ||||||
|  | tasks.register('publishModrinth', TaskModrinthUpload.class).configure { | ||||||
|  |     dependsOn('assemble', 'reobfJar') | ||||||
|  |     onlyIf { | ||||||
|  |         project.hasProperty('modrinthApiKey') | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     token = project.hasProperty('curseForgeApiKey') | ||||||
|  |     projectId = 'gu7yAYhd' | ||||||
|  |     versionNumber = project.mod_version | ||||||
|  |     uploadFile = jar | ||||||
|  |     addGameVersion(project.mc_version) | ||||||
|  |     addLoader('forge') | ||||||
|  | } | ||||||
|  |  | ||||||
| tasks.withType(GenerateModuleMetadata) { | tasks.withType(GenerateModuleMetadata) { | ||||||
|     // We can't generate metadata as that includes Forge as a dependency. |     // We can't generate metadata as that includes Forge as a dependency. | ||||||
|     enabled = false |     enabled = false | ||||||
| @@ -519,10 +554,10 @@ githubRelease { | |||||||
|     prerelease false |     prerelease false | ||||||
| } | } | ||||||
|  |  | ||||||
| def uploadTasks = ["publish", "curseforge", "githubRelease"] | def uploadTasks = ["publish", "curseforge", "publishModrinth", "githubRelease"] | ||||||
| uploadTasks.forEach { tasks.getByName(it).dependsOn checkRelease } | uploadTasks.forEach { tasks.getByName(it).dependsOn checkRelease } | ||||||
|  |  | ||||||
| task uploadAll(dependsOn: uploadTasks) { | task uploadAll(dependsOn: uploadTasks) { | ||||||
|     group "upload" |     group "upload" | ||||||
|     description "Uploads to all repositories (Maven, Curse, GitHub release)" |     description "Uploads to all repositories (Maven, Curse, Modrinth, GitHub release)" | ||||||
| } | } | ||||||
|   | |||||||
							
								
								
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
								
							| @@ -1,5 +1,5 @@ | |||||||
| distributionBase=GRADLE_USER_HOME | distributionBase=GRADLE_USER_HOME | ||||||
| distributionPath=wrapper/dists | distributionPath=wrapper/dists | ||||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip | distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip | ||||||
| zipStoreBase=GRADLE_USER_HOME | zipStoreBase=GRADLE_USER_HOME | ||||||
| zipStorePath=wrapper/dists | zipStorePath=wrapper/dists | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jonathan Coates
					Jonathan Coates