FriedrichLP

Untitled

Mar 26th, 2019
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.84 KB | None | 0 0
  1. buildscript {
  2. repositories {
  3. jcenter()
  4. maven {
  5. name = "forge"
  6. url = "http://files.minecraftforge.net/maven"
  7. }
  8. maven {
  9. name = 'SpongePowered'
  10. url = 'http://repo.spongepowered.org/maven'
  11. }
  12. }
  13. dependencies {
  14. classpath "net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT"
  15. classpath 'org.spongepowered:mixingradle:0.4-SNAPSHOT'
  16. classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
  17. }
  18. }
  19.  
  20. apply plugin: "net.minecraftforge.gradle.forge"
  21. apply plugin: 'org.spongepowered.mixin'
  22. apply plugin: 'com.github.johnrengelman.shadow'
  23.  
  24. version = "1.2-ASM-14"
  25. group = "friedrichlp.tsc"
  26. archivesBaseName = "tsc"
  27.  
  28. minecraft {
  29. version = "1.12.2-14.23.5.2808"
  30. runDir = "run"
  31. mappings = "snapshot_20171003"
  32. coreMod = "friedrichlp.tsc.asm.mixins.MixinLoaderForge"
  33. }
  34.  
  35. configurations.all {
  36. resolutionStrategy {
  37. force("com.google.guava:guava:21.0")
  38. }
  39. }
  40.  
  41. repositories {
  42. mavenLocal()
  43. maven {
  44. name = 'spongepowered-repo'
  45. url = 'http://repo.spongepowered.org/maven/'
  46. }
  47. mavenCentral()
  48. }
  49.  
  50. dependencies {
  51. // mixin needs to be distributed with the mod, very important
  52. compile("org.spongepowered:mixin:0.7.10-SNAPSHOT") {
  53. exclude module: "launchwrapper"
  54. }
  55. // We want to prevent any conflicts with SpongeForge
  56. compile("org.spongepowered:spongeforge:1.12.2-2611-7.1.0-BETA-3002:dev") {
  57. exclude group: "org.apache.logging.log4j"
  58. }
  59.  
  60. compile files(
  61. 'libraries/ImmersiveRailroading-1.5.0_1.12-402.jar',
  62. 'libraries/harvestcraft.jar',
  63. 'libraries/Pastebin-0.2.1.jar',
  64. 'libraries/ImmersiveEngineering-0.12-88.jar',
  65. 'libraries/TrackAPI-1.1_1.12.jar',
  66. 'libraries/Decocraft-2.6.2_1.12.2.jar',
  67. 'libraries/OpenComputers-MC1.12.2-1.7.4.153.jar',
  68. 'libraries/ProjectRed-1.12.2-4.9.1.92-Base.jar',
  69. 'libraries/ProjectRed-1.12.2-4.9.1.92-integration.jar',
  70. 'libraries/ForgeMultipart-1.12.2-2.6.1.81-universal.jar',
  71. 'libraries/CodeChickenLib-1.12.2-3.2.2.353-universal.jar',
  72. 'libraries/ChickenASM-1.12-1.0.2.7.jar',
  73. 'libraries/MrTJPCore-1.12.2-2.1.3.35-universal.jar',
  74. 'libraries/PTRLib-1.0.3.jar'
  75. )
  76. }
  77.  
  78. processResources {
  79. // this will ensure that this task is redone when the versions change.
  80. inputs.property "version", project.version
  81. inputs.property "mcversion", project.minecraft.version
  82.  
  83. // replace stuff in mcmod.info, nothing else
  84. from(sourceSets.main.resources.srcDirs) {
  85. include "mcmod.info"
  86.  
  87. // replace version and mcversion
  88. expand "version": project.version, "mcversion": project.minecraft.version
  89. }
  90.  
  91. // copy everything else, thats not the mcmod.info
  92. from(sourceSets.main.resources.srcDirs) {
  93. exclude "mcmod.info"
  94. }
  95. }
  96.  
  97. mixin {
  98. defaultObfuscationEnv searge
  99. add sourceSets.main, "mixins.tsc.refmap.json"
  100. }
  101.  
  102. reobf {
  103. shadowJar {
  104. mappingType = 'SEARGE'
  105. classpath = sourceSets.main.compileClasspath
  106. }
  107. }
  108.  
  109. import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
  110.  
  111. task shadowDevJar(type: ShadowJar) {
  112. zip64 true
  113. classifier = 'dev-shaded'
  114.  
  115. from sourceSets.main.output
  116. //from sourceSets.java8.output
  117.  
  118. // Default settings for shadow tasks
  119. configurations = [project.configurations.runtime]
  120. manifest.inheritFrom tasks.jar.manifest
  121. exclude 'META-INF/INDEX.LIST', 'META-INF/*.SF', 'META-INF/*.DSA', 'META-INF/*.RSA'
  122. }
  123.  
  124. allprojects {
  125. // Re-obfuscate only after creating the shadowDevJar
  126. tasks.findByName('reobfJar')?.mustRunAfter rootProject.tasks.shadowDevJar
  127. }
  128.  
  129. shadowJar {
  130. zip64 true
  131.  
  132. dependencies {
  133. include(dependency('org.spongepowered:mixin'))
  134. }
  135. exclude 'dummyThing'
  136. exclude 'LICENSE.txt'
  137. classifier = 'full'
  138. }
  139.  
  140. build.dependsOn(shadowJar)
  141.  
  142. jar {
  143. manifest {
  144. attributes(
  145. "MixinConfigs": 'mixins.tsc.json',
  146. "tweakClass": 'org.spongepowered.asm.launch.MixinTweaker',
  147. "TweakOrder": 0,
  148. 'FMLCorePluginContainsFMLMod': 'true',
  149. 'FMLCorePlugin': 'friedrichlp.tsc.asm.mixins.MixinLoaderForge',
  150. 'ForceLoadAsMod': 'true'
  151. )
  152. }
  153. }
  154. sourceCompatibility = targetCompatibility = "1.8"
  155.  
  156. task signJar(type: SignJar, dependsOn: shadowJar) {
  157. onlyIf { // Skip the task if our secret data isn't available
  158. project.hasProperty('keyStore')
  159. }
  160.  
  161. if (project.hasProperty('keyStore')) {
  162. keyStore = project.findProperty('keyStore')
  163. alias = project.findProperty('keyStoreAlias')
  164. storePass = project.findProperty('keyStorePass')
  165. keyPass = project.findProperty('keyStoreKeyPass')
  166. inputFile = shadowJar.archivePath
  167. outputFile = shadowJar.archivePath
  168. }
  169. }
  170.  
  171. build.dependsOn signJar
Advertisement
Add Comment
Please, Sign In to add comment