build.gradle 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. plugins {
  2. id "java"
  3. id "eclipse"
  4. id "maven-publish"
  5. }
  6. sourceCompatibility = targetCompatibility = 1.8
  7. compileJava {
  8. sourceCompatibility = targetCompatibility = 1.8
  9. }
  10. version = "${fw_version}${-> getVersionSuffix()}"
  11. group = "io.github.zekerzhayard"
  12. archivesBaseName = rootProject.name
  13. configurations {
  14. provided {
  15. implementation.extendsFrom provided
  16. }
  17. multirelase {
  18. implementation.extendsFrom multirelase
  19. }
  20. }
  21. repositories {
  22. mavenCentral()
  23. maven {
  24. name = "forge"
  25. url = "https://maven.minecraftforge.net/"
  26. }
  27. }
  28. dependencies {
  29. compileOnly "com.google.code.gson:gson:2.8.7"
  30. compileOnly "cpw.mods:modlauncher:8.0.9"
  31. compileOnly "net.minecraftforge:installer:2.1.9"
  32. compileOnly "net.sf.jopt-simple:jopt-simple:5.0.4"
  33. provided project(":common")
  34. provided project(":legacy")
  35. multirelase project(":jigsaw")
  36. }
  37. java {
  38. withSourcesJar()
  39. }
  40. jar {
  41. manifest.attributes([
  42. "Specification-Title": "${project.name}",
  43. "Specification-Vendor": "ZekerZhayard",
  44. "Specification-Version": "${project.version}".split("-")[0],
  45. "Implementation-Title": "${project.name}",
  46. "Implementation-Version": "${project.version}",
  47. "Implementation-Vendor" :"ZekerZhayard",
  48. "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
  49. "Automatic-Module-Name": "${project.group}.${project.archivesBaseName}".toString().toLowerCase(),
  50. "Multi-Release": "true",
  51. "GitCommit": String.valueOf(System.getenv("GITHUB_SHA"))
  52. ])
  53. from configurations.provided.files.collect {
  54. zipTree(it)
  55. }
  56. into "META-INF/versions/9", {
  57. from configurations.multirelase.files.collect {
  58. zipTree(it)
  59. }
  60. exclude "META-INF/**"
  61. }
  62. }
  63. publishing {
  64. publications {
  65. maven(MavenPublication) {
  66. groupId "${project.group}"
  67. artifactId "${project.archivesBaseName}"
  68. version "${project.version}"
  69. from components.java
  70. }
  71. }
  72. repositories {
  73. maven {
  74. url = layout.buildDirectory.dir("maven")
  75. }
  76. }
  77. }
  78. tasks.publish.dependsOn build
  79. static String getVersionSuffix() {
  80. return ""
  81. }