Yet another attempt to fix the annotation processor issue.

dev/0.11
modmuss50 2019-12-13 18:24:01 +00:00
parent 5c2b669bb5
commit c2d61875e1
4 changed files with 15 additions and 5 deletions

View File

@ -241,7 +241,7 @@ public class AbstractPlugin implements Plugin<Project> {
Javadoc javadoc = (Javadoc) project.getTasks().getByName(JavaPlugin.JAVADOC_TASK_NAME);
javadoc.setClasspath(main.getOutput().plus(main.getCompileClasspath()));
if (!Boolean.parseBoolean(System.getProperty("idea.sync.active", "false"))) {
if (!project.getExtensions().getByType(LoomGradleExtension.class).ideSync()) {
// Add Mixin dependencies
project.getDependencies().add(JavaPlugin.ANNOTATION_PROCESSOR_CONFIGURATION_NAME, "net.fabricmc:fabric-mixin-compile-extensions:" + Constants.MIXIN_COMPILE_EXTENSIONS_VERSION);
}

View File

@ -290,4 +290,8 @@ public class LoomGradleExtension {
return refmapName;
}
public boolean ideSync() {
return Boolean.parseBoolean(System.getProperty("idea.sync.active", "false"));
}
}

View File

@ -156,6 +156,8 @@ public class LoomDependencyManager {
}
private static void handleInstallerJson(JsonObject jsonObject, Project project) {
LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class);
JsonObject libraries = jsonObject.get("libraries").getAsJsonObject();
Configuration mcDepsConfig = project.getConfigurations().getByName(Constants.MINECRAFT_DEPENDENCIES);
Configuration apDepsConfig = project.getConfigurations().getByName("annotationProcessor");
@ -166,7 +168,10 @@ public class LoomDependencyManager {
ExternalModuleDependency modDep = (ExternalModuleDependency) project.getDependencies().create(name);
modDep.setTransitive(false);
mcDepsConfig.getDependencies().add(modDep);
if (!extension.ideSync()) {
apDepsConfig.getDependencies().add(modDep);
}
project.getLogger().debug("Loom adding " + name + " from installer JSON");

View File

@ -59,9 +59,10 @@ public class SetupIntelijRunConfigs {
}
private static void generate(Project project) throws IOException {
//Ensures the assets are downloaded when idea is syncing a project
if (Boolean.parseBoolean(System.getProperty("idea.sync.active", "false"))) {
LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class);
if (extension.ideSync()) {
//Ensures the assets are downloaded when idea is syncing a project
MinecraftAssetsProvider.provide(extension.getMinecraftProvider(), project);
MinecraftNativesProvider.provide(extension.getMinecraftProvider(), project);
}