Class ModConfigurationRemapper

java.lang.Object
net.fabricmc.loom.configuration.mods.ModConfigurationRemapper

public class ModConfigurationRemapper extends Object
  • Field Details

  • Constructor Details

    • ModConfigurationRemapper

      public ModConfigurationRemapper()
  • Method Details

    • supplyModConfigurations

      public static void supplyModConfigurations(org.gradle.api.Project project, ServiceFactory serviceFactory, String mappingsSuffix, LoomGradleExtension extension, SourceRemapper sourceRemapper)
    • downloadAllSources

      public static Map<org.gradle.api.artifacts.ResolvedArtifact,Path> downloadAllSources(org.gradle.api.Project project, Set<org.gradle.api.artifacts.ResolvedArtifact> resolvedArtifacts)
    • replaceIfNullOrEmpty

      public static String replaceIfNullOrEmpty(@Nullable String s, Supplier<String> fallback)
    • isCIBuild

      public static boolean isCIBuild()
    • shouldRemapSourcesInConfigurationPhase

      public static boolean shouldRemapSourcesInConfigurationPhase(org.gradle.api.Project project)
      Returns 是否在配置阶段加工依赖的 remapped sources..

      remapped sources 的唯一消费者是 IDE 附加源码;编译、测试、打包都不需要它。 而配置阶段写出新文件会让配置缓存把「文件被创建」记入指纹,导致下一次构建 因「文件系统条目已改变」而失效——表现为产物落盘后仍要完整重配置一轮。

      因此默认只在 IDE 同步时加工(此时 IDE 确实要拿源码去索引), 其余场景一律跳过。需要 sources 的非 IDE 场景可用 -Dfabric.loom.remapSources=true 显式开启。

      注意:本判断只决定「是否加工」,不改变 IDE 同步时的行为, 因此不影响既有 IDE 用例(见 IdeaDownloadSourcesHookTest)。

      Returns:
      是否在配置阶段加工依赖的 remapped sources