From 2afc235af7e4c985b828e74e3ad717109f880b67 Mon Sep 17 00:00:00 2001 From: Nicholas Ignoffo Date: Wed, 14 Feb 2018 23:37:23 -0800 Subject: [PATCH] Move API to it's own source set --- build.gradle | 36 +++++++++++-------- .../bloodmagic/api/BloodMagicPlugin.java | 0 .../bloodmagic/api/IBloodMagicAPI.java | 0 .../bloodmagic/api/IBloodMagicBlacklist.java | 0 .../bloodmagic/api/IBloodMagicPlugin.java | 0 .../api/IBloodMagicRecipeRegistrar.java | 0 .../api/IBloodMagicValueManager.java | 0 .../api/event/BloodMagicCraftedEvent.java | 12 +++---- .../bloodmagic/api/package-info.java | 4 +++ .../bloodmagic/altar/BloodAltar.java | 2 +- .../bloodmagic/api/package-info.java | 5 --- 11 files changed, 32 insertions(+), 27 deletions(-) rename src/{main => api}/java/WayofTime/bloodmagic/api/BloodMagicPlugin.java (100%) rename src/{main => api}/java/WayofTime/bloodmagic/api/IBloodMagicAPI.java (100%) rename src/{main => api}/java/WayofTime/bloodmagic/api/IBloodMagicBlacklist.java (100%) rename src/{main => api}/java/WayofTime/bloodmagic/api/IBloodMagicPlugin.java (100%) rename src/{main => api}/java/WayofTime/bloodmagic/api/IBloodMagicRecipeRegistrar.java (100%) rename src/{main => api}/java/WayofTime/bloodmagic/api/IBloodMagicValueManager.java (100%) rename src/{main => api}/java/WayofTime/bloodmagic/api/event/BloodMagicCraftedEvent.java (76%) create mode 100644 src/api/java/WayofTime/bloodmagic/api/package-info.java delete mode 100644 src/main/java/WayofTime/bloodmagic/api/package-info.java diff --git a/build.gradle b/build.gradle index b11e08ca..8d66bf41 100644 --- a/build.gradle +++ b/build.gradle @@ -11,7 +11,7 @@ buildscript { plugins { id "net.minecraftforge.gradle.forge" version "2.0.2" - id 'com.matthewprenger.cursegradle' version '1.0.9' + id 'com.matthewprenger.cursegradle' version '1.0.10' id 'io.franzbecker.gradle-lombok' version '1.6' id 'maven-publish' } @@ -69,16 +69,16 @@ processResources { } } -if (JavaVersion.current().isJava8Compatible()) { - allprojects { - tasks.withType(Javadoc) { - options.addStringOption('Xdoclint:none', '-quiet') - } +allprojects { + tasks.withType(Javadoc) { + options.addStringOption('Xdoclint:none', '-quiet') } } jar { classifier = '' + from sourceSets.main.output + from sourceSets.api.output manifest.mainAttributes( "Built-By": System.getProperty('user.name'), "Created-By": "${System.getProperty('java.vm.version')} + (${System.getProperty('java.vm.vendor')})", @@ -88,22 +88,28 @@ jar { ) } -// API jar task apiJar(type: Jar) { - from sourceSets.main.allSource - from sourceSets.main.output - include 'WayofTime/bloodmagic/api/**/*' - exclude 'WayofTime/bloodmagic/api/impl/**/*' classifier = 'api' + from sourceSets.api.output + + // TODO: when FG bug is fixed, remove allJava from the api jar. + // https://github.com/MinecraftForge/ForgeGradle/issues/369 + // Gradle should be able to pull them from the -sources jar. + from sourceSets.api.allJava } -// Javadoc jar task javadocJar(type: Jar, dependsOn: javadoc) { from javadoc.destinationDir classifier = 'javadoc' } -tasks.build.dependsOn javadoc, javadocJar, apiJar +task sourcesJar(type: Jar) { + classifier = 'sources' + from sourceSets.main.allJava + from sourceSets.api.allJava +} + +tasks.build.dependsOn javadoc, javadocJar, apiJar, sourcesJar tasks.withType(JavaCompile) { task -> task.options.encoding = 'UTF-8' @@ -115,7 +121,7 @@ publishing { mavenJava(MavenPublication) { artifact jar artifact javadocJar - artifact sourceJar + artifact sourcesJar artifact apiJar } } @@ -169,7 +175,7 @@ curseforge { relations curseRelations addArtifact javadocJar - addArtifact sourceJar + addArtifact sourcesJar addArtifact apiJar } } diff --git a/src/main/java/WayofTime/bloodmagic/api/BloodMagicPlugin.java b/src/api/java/WayofTime/bloodmagic/api/BloodMagicPlugin.java similarity index 100% rename from src/main/java/WayofTime/bloodmagic/api/BloodMagicPlugin.java rename to src/api/java/WayofTime/bloodmagic/api/BloodMagicPlugin.java diff --git a/src/main/java/WayofTime/bloodmagic/api/IBloodMagicAPI.java b/src/api/java/WayofTime/bloodmagic/api/IBloodMagicAPI.java similarity index 100% rename from src/main/java/WayofTime/bloodmagic/api/IBloodMagicAPI.java rename to src/api/java/WayofTime/bloodmagic/api/IBloodMagicAPI.java diff --git a/src/main/java/WayofTime/bloodmagic/api/IBloodMagicBlacklist.java b/src/api/java/WayofTime/bloodmagic/api/IBloodMagicBlacklist.java similarity index 100% rename from src/main/java/WayofTime/bloodmagic/api/IBloodMagicBlacklist.java rename to src/api/java/WayofTime/bloodmagic/api/IBloodMagicBlacklist.java diff --git a/src/main/java/WayofTime/bloodmagic/api/IBloodMagicPlugin.java b/src/api/java/WayofTime/bloodmagic/api/IBloodMagicPlugin.java similarity index 100% rename from src/main/java/WayofTime/bloodmagic/api/IBloodMagicPlugin.java rename to src/api/java/WayofTime/bloodmagic/api/IBloodMagicPlugin.java diff --git a/src/main/java/WayofTime/bloodmagic/api/IBloodMagicRecipeRegistrar.java b/src/api/java/WayofTime/bloodmagic/api/IBloodMagicRecipeRegistrar.java similarity index 100% rename from src/main/java/WayofTime/bloodmagic/api/IBloodMagicRecipeRegistrar.java rename to src/api/java/WayofTime/bloodmagic/api/IBloodMagicRecipeRegistrar.java diff --git a/src/main/java/WayofTime/bloodmagic/api/IBloodMagicValueManager.java b/src/api/java/WayofTime/bloodmagic/api/IBloodMagicValueManager.java similarity index 100% rename from src/main/java/WayofTime/bloodmagic/api/IBloodMagicValueManager.java rename to src/api/java/WayofTime/bloodmagic/api/IBloodMagicValueManager.java diff --git a/src/main/java/WayofTime/bloodmagic/api/event/BloodMagicCraftedEvent.java b/src/api/java/WayofTime/bloodmagic/api/event/BloodMagicCraftedEvent.java similarity index 76% rename from src/main/java/WayofTime/bloodmagic/api/event/BloodMagicCraftedEvent.java rename to src/api/java/WayofTime/bloodmagic/api/event/BloodMagicCraftedEvent.java index 507a3c30..1df4bb13 100644 --- a/src/main/java/WayofTime/bloodmagic/api/event/BloodMagicCraftedEvent.java +++ b/src/api/java/WayofTime/bloodmagic/api/event/BloodMagicCraftedEvent.java @@ -1,7 +1,7 @@ package WayofTime.bloodmagic.api.event; -import WayofTime.bloodmagic.api.impl.recipe.RecipeBloodAltar; import net.minecraft.item.ItemStack; +import net.minecraft.item.crafting.Ingredient; import net.minecraftforge.fml.common.eventhandler.Event; public class BloodMagicCraftedEvent extends Event { @@ -34,16 +34,16 @@ public class BloodMagicCraftedEvent extends Event { */ public static class Altar extends BloodMagicCraftedEvent { - private final RecipeBloodAltar recipe; + private final Ingredient input; - public Altar(RecipeBloodAltar recipe, ItemStack output) { + public Altar(Ingredient input, ItemStack output) { super(output, true); - this.recipe = recipe; + this.input = input; } - public RecipeBloodAltar getRecipe() { - return recipe; + public Ingredient getInput() { + return input; } } } diff --git a/src/api/java/WayofTime/bloodmagic/api/package-info.java b/src/api/java/WayofTime/bloodmagic/api/package-info.java new file mode 100644 index 00000000..9d563054 --- /dev/null +++ b/src/api/java/WayofTime/bloodmagic/api/package-info.java @@ -0,0 +1,4 @@ +@API(owner = "bloodmagic", provides = "bloodmagic-api", apiVersion = "2.0.0") +package WayofTime.bloodmagic.api; + +import net.minecraftforge.fml.common.API; \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/altar/BloodAltar.java b/src/main/java/WayofTime/bloodmagic/altar/BloodAltar.java index 2e94d54b..2002bfc5 100644 --- a/src/main/java/WayofTime/bloodmagic/altar/BloodAltar.java +++ b/src/main/java/WayofTime/bloodmagic/altar/BloodAltar.java @@ -314,7 +314,7 @@ public class BloodAltar implements IFluidHandler { if (progress >= liquidRequired * stackSize) { ItemStack result = recipe.getOutput().copy(); - BloodMagicCraftedEvent.Altar event = new BloodMagicCraftedEvent.Altar(recipe, result); + BloodMagicCraftedEvent.Altar event = new BloodMagicCraftedEvent.Altar(recipe.getInput(), result); MinecraftForge.EVENT_BUS.post(event); tileAltar.setInventorySlotContents(0, event.getOutput()); progress = 0; diff --git a/src/main/java/WayofTime/bloodmagic/api/package-info.java b/src/main/java/WayofTime/bloodmagic/api/package-info.java deleted file mode 100644 index d77cfda2..00000000 --- a/src/main/java/WayofTime/bloodmagic/api/package-info.java +++ /dev/null @@ -1,5 +0,0 @@ -@API(owner = BloodMagic.MODID, provides = BloodMagic.MODID + "|api", apiVersion = "2.0.0") -package WayofTime.bloodmagic.api; - -import WayofTime.bloodmagic.BloodMagic; -import net.minecraftforge.fml.common.API; \ No newline at end of file