|
1 | | -buildscript { |
2 | | - repositories { |
3 | | - mavenLocal() |
4 | | - jcenter() |
5 | | - maven { url "https://maven.minecraftforge.net/" } |
6 | | - } |
7 | | - dependencies { |
8 | | - classpath 'net.minecraftforge.gradleutils:GradleUtils:1.0.+' |
9 | | - } |
10 | | -} |
11 | | - |
12 | 1 | plugins { |
13 | | - id 'java' |
14 | | - id 'eclipse' |
| 2 | + id 'java-library' |
15 | 3 | id 'maven-publish' |
| 4 | + alias libs.plugins.licenser |
| 5 | + alias libs.plugins.gitversion |
| 6 | + alias libs.plugins.gradleutils |
| 7 | + alias libs.plugins.forgegradle |
16 | 8 | } |
17 | 9 |
|
18 | | -apply plugin: 'net.minecraftforge.gradleutils' |
19 | | - |
20 | | -java.toolchain.languageVersion = JavaLanguageVersion.of(7) |
21 | | - |
22 | | -version = gradleutils.tagOffsetVersion |
| 10 | +gradleutils.displayName = 'Legacy Java Fixer' |
| 11 | +description = 'A tweaker that fixes legacy Forge versions for the sorting change in java 8u20' |
| 12 | +version = gitversion.tagOffset |
23 | 13 | group = 'net.minecraftforge' |
24 | | -archivesBaseName = 'legacyjavafixer' |
| 14 | +println "Version: $version" |
| 15 | + |
| 16 | +java { |
| 17 | + toolchain.languageVersion = JavaLanguageVersion.of(8) |
| 18 | +} |
25 | 19 |
|
26 | 20 | repositories { |
| 21 | + minecraft.mavenizer(it) |
27 | 22 | mavenCentral() |
28 | | - maven { |
29 | | - url = 'https://maven.minecraftforge.net/' |
30 | | - metadataSources { |
31 | | - gradleMetadata() |
32 | | - mavenPom() |
33 | | - artifact() |
| 23 | + maven gradleutils.forgeMaven |
| 24 | + maven { url = 'https://libraries.minecraft.net/' } |
| 25 | +} |
| 26 | + |
| 27 | +minecraft { |
| 28 | + runs { |
| 29 | + configureEach { |
| 30 | + systemProperty 'fml.coreMods.load', 'net.minecraftforge.legacyjavafixer.LoadingPlugin' |
| 31 | + } |
| 32 | + register('client') { |
| 33 | + workingDir = file('runs/main/client/') |
| 34 | + systemProperty 'fml.ignoreInvalidMinecraftCertificates', 'true' |
34 | 35 | } |
35 | 36 | } |
36 | | - maven { url = 'https://libraries.minecraft.net/' } |
37 | 37 | } |
38 | 38 |
|
39 | 39 | dependencies { |
40 | | - implementation 'net.minecraft:launchwrapper:1.11' |
41 | | - implementation 'com.google.guava:guava:16.0' |
42 | | - implementation 'net.minecraftforge:forge:1.7.10-10.13.1.1225:universal' |
| 40 | + // We just need the classes to compile against, but include the full thing so we can test run configs |
| 41 | + implementation minecraft.dependency(libs.forge) |
43 | 42 | } |
44 | 43 |
|
| 44 | +license { |
| 45 | + header rootProject.file('LICENSE-header.txt') |
| 46 | + newLine false |
| 47 | +} |
| 48 | + |
| 49 | +tasks.withType(JavaCompile).configureEach { |
| 50 | + options.encoding = 'UTF-8' |
| 51 | +} |
| 52 | + |
| 53 | + |
| 54 | +tasks.named('jar', Jar) { |
| 55 | + manifest { |
| 56 | + attributes( |
| 57 | + 'TweakClass': 'net.minecraftforge.legacyjavafixer.Tweaker', |
| 58 | + 'TweakOrder': -2147483648 |
| 59 | + ) |
| 60 | + } |
| 61 | +} |
45 | 62 |
|
46 | 63 | publishing { |
47 | | - publications { |
48 | | - mavenJava(MavenPublication) { |
49 | | - groupId project.group |
50 | | - artifactId project.archivesBaseName |
51 | | - version project.version |
52 | | - artifact jar |
| 64 | + publications.register('mavenJava', MavenPublication) { |
| 65 | + // This causes it to skip any transitive dependencies in the pom |
| 66 | + artifact tasks.named('jar') |
| 67 | + |
| 68 | + gradleutils.promote(it) |
| 69 | + |
| 70 | + pom { pom -> |
| 71 | + name = gradleutils.displayName |
| 72 | + description = project.description |
| 73 | + |
| 74 | + gradleutils.pom.addRemoteDetails(pom) |
| 75 | + |
| 76 | + licenses { |
| 77 | + license gradleutils.pom.licenses.MIT |
| 78 | + } |
| 79 | + |
| 80 | + developers { |
| 81 | + developer gradleutils.pom.developers.LexManos |
| 82 | + } |
53 | 83 | } |
54 | 84 | } |
| 85 | + |
55 | 86 | repositories { |
56 | | - maven { |
57 | | - if (project.hasProperty('forgeMavenPassword')) { |
58 | | - credentials { |
59 | | - username project.properties.forgeMavenUser |
60 | | - password project.properties.forgeMavenPassword |
61 | | - } |
62 | | - url 'https://files.minecraftforge.net/maven/manage/upload' |
63 | | - } else { |
64 | | - url 'file://' + rootProject.file('repo').getAbsolutePath() |
65 | | - } |
66 | | - } |
| 87 | + maven gradleutils.publishingForgeMaven |
67 | 88 | } |
68 | 89 | } |
| 90 | + |
0 commit comments