Guest User

Untitled

a guest
Oct 30th, 2024
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.21 KB | None | 0 0
  1. plugins {
  2. id 'fabric-loom' version '1.8-SNAPSHOT'
  3. id 'maven-publish'
  4. id 'com.github.johnrengelman.shadow' version '7.1.2'
  5. }
  6.  
  7. version = project.mod_version
  8. group = project.maven_group
  9.  
  10. base {
  11. archivesName = project.archives_base_name
  12. }
  13.  
  14. loom {
  15. splitEnvironmentSourceSets()
  16.  
  17. mods {
  18. "streamtegration" {
  19. sourceSet sourceSets.main
  20. sourceSet sourceSets.client
  21. }
  22. }
  23. }
  24.  
  25. repositories {
  26. // You can add additional repositories here if needed.
  27. }
  28.  
  29. configurations {
  30. shadowImplementation {
  31. canBeResolved = true
  32. canBeConsumed = false
  33. }
  34. implementation.extendsFrom shadowImplementation
  35. }
  36.  
  37. dependencies {
  38. // Minecraft and Fabric dependencies
  39. minecraft "com.mojang:minecraft:${project.minecraft_version}"
  40. mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
  41. modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
  42. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
  43.  
  44. // Google API dependencies added to shadowImplementation instead of implementation
  45. shadowImplementation 'com.google.api-client:google-api-client:1.34.1'
  46. shadowImplementation 'com.google.http-client:google-http-client-jackson2:1.34.1'
  47. shadowImplementation 'com.google.apis:google-api-services-youtube:v3-rev222-1.25.0'
  48. }
  49.  
  50. // ShadowJar configuration
  51. shadowJar {
  52. configurations = [project.configurations.shadowImplementation]
  53.  
  54. // Relocate only Google dependencies
  55. relocate 'com.google.api.client', 'com.datcodemania.streamtegration.shaded.google.api.client'
  56. relocate 'com.google.http.client', 'com.datcodemania.streamtegration.shaded.google.http.client'
  57. relocate 'com.google.apis', 'com.datcodemania.streamtegration.shaded.google.apis'
  58.  
  59. // Prevent including any Minecraft or Fabric classes
  60. exclude 'net/minecraft/**'
  61. exclude 'net/fabricmc/**'
  62. }
  63.  
  64. processResources {
  65. inputs.property "version", project.version
  66. inputs.property "minecraft_version", project.minecraft_version
  67. inputs.property "loader_version", project.loader_version
  68. filteringCharset "UTF-8"
  69.  
  70. filesMatching("fabric.mod.json") {
  71. expand "version": project.version,
  72. "minecraft_version": project.minecraft_version,
  73. "loader_version": project.loader_version
  74. }
  75. }
  76.  
  77. def targetJavaVersion = 17
  78. tasks.withType(JavaCompile).configureEach {
  79. it.options.encoding = "UTF-8"
  80. if (targetJavaVersion >= 10 || JavaVersion.current().isJava10Compatible()) {
  81. it.options.release.set(targetJavaVersion)
  82. }
  83. }
  84.  
  85. java {
  86. def javaVersion = JavaVersion.toVersion(targetJavaVersion)
  87. if (JavaVersion.current() < javaVersion) {
  88. toolchain.languageVersion = JavaLanguageVersion.of(targetJavaVersion)
  89. }
  90. withSourcesJar()
  91. }
  92.  
  93. jar {
  94. from("LICENSE") {
  95. rename { "${it}_${project.archivesBaseName}" }
  96. }
  97. }
  98.  
  99. publishing {
  100. publications {
  101. create("mavenJava", MavenPublication) {
  102. artifactId = project.archives_base_name
  103. from components.java
  104. }
  105. }
  106.  
  107. repositories {
  108. // Define your publishing repositories here if needed.
  109. }
  110. }
Advertisement
Add Comment
Please, Sign In to add comment