Advertisement
Guest User

EMC Build Gradle

a guest
Jun 25th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.86 KB | None | 0 0
  1. import org.gradle.internal.os.OperatingSystem
  2.  
  3. plugins {
  4. id 'fabric-loom' version '0.2.0-SNAPSHOT'
  5. }
  6.  
  7. apply plugin: 'maven'
  8.  
  9. sourceCompatibility = targetCompatibility = 1.8
  10.  
  11. def getVersionFromJava() {
  12. def ver = 0.0, patch = 0
  13. def versionClass = file("src/main/java/me/deftware/client/framework/FrameworkConstants.java").text
  14. (versionClass =~ ~/double\s+([_a-zA-Z\u0024][_a-zA-Z0-9\u0024]*)\s+=\s+(([0-9]+)\.([0-9]+))/).each {
  15. ver = it[2]
  16. }
  17. (versionClass =~ ~/int\s+([_a-zA-Z$][_a-zA-Z0-9$]*)\s+=\s+([0-9]+)/).each {
  18. if (it[1].toString() == "PATCH") {
  19. patch = it[2]
  20. }
  21. }
  22. return "${ver}.${patch}".toString()
  23. }
  24.  
  25. def minecraftRoot = System.getenv('APPDATA') + "/.minecraft"
  26. if (OperatingSystem.current().isMacOsX()) {
  27. minecraftRoot = System.getenv('HOME') + "/Library/Application Support/minecraft"
  28. }
  29. def mcVersion = "${project.minecraftVersion}"
  30. def mappingsVer = "${mcVersion}${project.mappingsVer}"
  31. archivesBaseName = "EMC"
  32. version = getVersionFromJava()
  33.  
  34. repositories {
  35. mavenCentral()
  36. }
  37.  
  38. dependencies {
  39. minecraft "com.mojang:minecraft:${mcVersion}"
  40. mappings "net.fabricmc:yarn:${mappingsVer}"
  41. modCompile "net.fabricmc:fabric-loader:0.4.4+build.139"
  42. //compile files("${minecraftRoot}/versions/1.13.2/1.13.2.jar")
  43. }
  44.  
  45. //noinspection GroovyAssignabilityCheck
  46. task createPom {
  47. doLast {
  48. pom {
  49. //noinspection GroovyAssignabilityCheck
  50. project {
  51. groupId "me.deftware"
  52. artifactId "EMC-F"
  53. version "${version}-${mcVersion}"
  54. }
  55. }.writeTo("maven/me/deftware/EMC-F/${version}-${mcVersion}/EMC-F-${version}-${mcVersion}.pom")
  56. }
  57. }
  58.  
  59. //noinspection GroovyAssignabilityCheck
  60. task generateApiDocumentation(type: Javadoc) {
  61. source = ['src/main/java/me/deftware/client']
  62. title = "EMC Framework Documentation"
  63. destinationDir = file("docs")
  64. failOnError false
  65. }
  66.  
  67. //noinspection GroovyAssignabilityCheck
  68. task sourcesJar(type: Jar, dependsOn: classes) {
  69. classifier = 'sources'
  70. from sourceSets.main.allSource
  71. }
  72.  
  73. //noinspection GroovyAssignabilityCheck
  74. task copyBuilds(type: Copy) {
  75. from "$rootDir/build/libs/EMC-${version}.jar"
  76. into "$rootDir/maven/me/deftware/EMC-F/${version}-${mcVersion}/"
  77. rename { String fileName ->
  78. fileName.replace("${version}", "${version}-${mcVersion}").replace("EMC", "EMC-F")
  79. }
  80. doLast {
  81. project.ant.checksum(file: "$rootDir/maven/me/deftware/EMC-F/${version}-${mcVersion}/EMC-F-${version}-${mcVersion}.jar", algorithm: "sha1", todir: "$rootDir/maven/me/deftware/EMC-F/${version}-${mcVersion}/")
  82. }
  83. }
  84.  
  85. //noinspection GroovyAssignabilityCheck
  86. task copyToMinecraft(type: Copy) {
  87. from "$rootDir/build/libs/EMC-${version}.jar"
  88. into "${minecraftRoot}/libraries/me/deftware/EMC-F/${version}-${mcVersion}/"
  89. rename { String fileName ->
  90. fileName.replace("${version}", "${version}-${mcVersion}").replace("EMC", "EMC-F")
  91. }
  92. }
  93.  
  94. build.dependsOn(createPom)
  95. build.finalizedBy(copyBuilds)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement