aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom
diff options
context:
space:
mode:
authormodmuss50 <modmuss50@gmail.com>2020-07-26 20:57:58 +0100
committerGitHub <noreply@github.com>2020-07-26 20:57:58 +0100
commit9d318dd859dc8a4c8f034c56b23111a6a9399377 (patch)
tree06e731fc95661dc7918ed8d60b55dde3710fad4a /src/main/java/net/fabricmc/loom
parentbc3ff0180af1983d0ac8bc265d42e37f6e7e8077 (diff)
downloadarchitectury-loom-9d318dd859dc8a4c8f034c56b23111a6a9399377.tar.gz
architectury-loom-9d318dd859dc8a4c8f034c56b23111a6a9399377.tar.bz2
architectury-loom-9d318dd859dc8a4c8f034c56b23111a6a9399377.zip
Use jetbrains annotations by default. (#240)
Minecraft is also remapped to use them. Any use of jsr should be removed.
Diffstat (limited to 'src/main/java/net/fabricmc/loom')
-rw-r--r--src/main/java/net/fabricmc/loom/providers/LaunchProvider.java1
-rw-r--r--src/main/java/net/fabricmc/loom/providers/MinecraftMappedProvider.java9
-rw-r--r--src/main/java/net/fabricmc/loom/util/Constants.java1
3 files changed, 11 insertions, 0 deletions
diff --git a/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java b/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java
index 94dd0e7d..252847dc 100644
--- a/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java
+++ b/src/main/java/net/fabricmc/loom/providers/LaunchProvider.java
@@ -74,6 +74,7 @@ public class LaunchProvider extends DependencyProvider {
addDependency("net.fabricmc:dev-launch-injector:" + Constants.DEV_LAUNCH_INJECTOR_VERSION, "runtimeOnly");
addDependency("net.minecrell:terminalconsoleappender:" + Constants.TERMINAL_CONSOLE_APPENDER_VERSION, "runtimeOnly");
+ addDependency("org.jetbrains:annotations:" + Constants.JETBRAINS_ANNOTATIONS_VERSION, "compileOnly");
}
private File getLog4jConfigFile() {
diff --git a/src/main/java/net/fabricmc/loom/providers/MinecraftMappedProvider.java b/src/main/java/net/fabricmc/loom/providers/MinecraftMappedProvider.java
index 75eda8bb..4015fac9 100644
--- a/src/main/java/net/fabricmc/loom/providers/MinecraftMappedProvider.java
+++ b/src/main/java/net/fabricmc/loom/providers/MinecraftMappedProvider.java
@@ -29,8 +29,10 @@ import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Map;
import java.util.function.Consumer;
+import com.google.common.collect.ImmutableMap;
import org.gradle.api.Project;
import net.fabricmc.loom.util.TinyRemapperMappingsHelper;
@@ -40,6 +42,12 @@ import net.fabricmc.loom.util.Constants;
import net.fabricmc.loom.util.DependencyProvider;
public class MinecraftMappedProvider extends DependencyProvider {
+ private static final Map<String, String> JSR_TO_JETBRAINS = new ImmutableMap.Builder<String, String>()
+ .put("javax/annotation/Nullable", "org/jetbrains/annotations/Nullable")
+ .put("javax/annotation/Nonnull", "org/jetbrains/annotations/NotNull")
+ .put("javax/annotation/concurrent/Immutable", "org/jetbrains/annotations/Unmodifiable")
+ .build();
+
private File minecraftMappedJar;
private File minecraftIntermediaryJar;
@@ -120,6 +128,7 @@ public class MinecraftMappedProvider extends DependencyProvider {
public TinyRemapper getTinyRemapper(String fromM, String toM) throws IOException {
return TinyRemapper.newRemapper()
.withMappings(TinyRemapperMappingsHelper.create(getExtension().getMappingsProvider().getMappings(), fromM, toM, true))
+ .withMappings(out -> JSR_TO_JETBRAINS.forEach(out::acceptClass))
.renameInvalidLocals(true)
.rebuildSourceFilenames(true)
.build();
diff --git a/src/main/java/net/fabricmc/loom/util/Constants.java b/src/main/java/net/fabricmc/loom/util/Constants.java
index 933503af..cfd05666 100644
--- a/src/main/java/net/fabricmc/loom/util/Constants.java
+++ b/src/main/java/net/fabricmc/loom/util/Constants.java
@@ -57,4 +57,5 @@ public class Constants {
public static final String MIXIN_COMPILE_EXTENSIONS_VERSION = "0.3.1.5";
public static final String DEV_LAUNCH_INJECTOR_VERSION = "0.2.1+build.8";
public static final String TERMINAL_CONSOLE_APPENDER_VERSION = "1.2.0";
+ public static final String JETBRAINS_ANNOTATIONS_VERSION = "19.0.0";
}