build.gradle 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. plugins {
  2. id 'fabric-loom' version '1.8-SNAPSHOT'
  3. id 'maven-publish'
  4. }
  5. version = project.mod_version
  6. group = project.maven_group
  7. base {
  8. archivesName = project.archives_base_name
  9. }
  10. loom {
  11. splitEnvironmentSourceSets()
  12. mods {
  13. "mcreflect" {
  14. sourceSet sourceSets.main
  15. sourceSet sourceSets.client
  16. }
  17. }
  18. }
  19. repositories {
  20. // Add repositories to retrieve artifacts from in here.
  21. // You should only use this when depending on other mods because
  22. // Loom adds the essential maven repositories to download Minecraft and libraries from automatically.
  23. // See https://docs.gradle.org/current/userguide/declaring_repositories.html
  24. // for more information about repositories.
  25. }
  26. dependencies {
  27. // To change the versions see the gradle.properties file
  28. minecraft "com.mojang:minecraft:${project.minecraft_version}"
  29. mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
  30. modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
  31. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
  32. implementation 'org.reflections:reflections:0.10.2'
  33. }
  34. processResources {
  35. inputs.property "version", project.version
  36. inputs.property "minecraft_version", project.minecraft_version
  37. inputs.property "loader_version", project.loader_version
  38. filteringCharset "UTF-8"
  39. filesMatching("fabric.mod.json") {
  40. expand "version": project.version,
  41. "minecraft_version": project.minecraft_version,
  42. "loader_version": project.loader_version
  43. }
  44. }
  45. def targetJavaVersion = 21
  46. tasks.withType(JavaCompile).configureEach {
  47. // ensure that the encoding is set to UTF-8, no matter what the system default is
  48. // this fixes some edge cases with special characters not displaying correctly
  49. // see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html
  50. // If Javadoc is generated, this must be specified in that task too.
  51. it.options.encoding = "UTF-8"
  52. if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
  53. it.options.release.set(targetJavaVersion)
  54. }
  55. }
  56. java {
  57. def javaVersion = JavaVersion.toVersion(targetJavaVersion)
  58. if (JavaVersion.current() < javaVersion) {
  59. toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
  60. }
  61. // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task
  62. // if it is present.
  63. // If you remove this line, sources will not be generated.
  64. withSourcesJar()
  65. }
  66. jar {
  67. from("LICENSE") {
  68. rename { "${it}_${project.archivesBaseName}" }
  69. }
  70. }
  71. // configure the maven publication
  72. publishing {
  73. publications {
  74. create("mavenJava", MavenPublication) {
  75. artifactId = project.archives_base_name
  76. from components.java
  77. }
  78. }
  79. // See https://docs.gradle.org/current/userguide/publishing_maven.html for information on how to set up publishing.
  80. repositories {
  81. // Add repositories to publish to here.
  82. // Notice: This block does NOT have the same function as the block in the top level.
  83. // The repositories here will be used for publishing your artifact, not for
  84. // retrieving dependencies.
  85. }
  86. }