Class ModDependency
java.lang.Object
net.fabricmc.loom.configuration.mods.dependency.ModDependency
- Direct Known Subclasses:
SimpleModDependency,SplitModDependency
public abstract sealed class ModDependency
extends Object
permits SplitModDependency, SimpleModDependency
-
Constructor Summary
ConstructorsConstructorDescriptionModDependency(ArtifactRef artifact, ArtifactMetadata metadata, ModDependencyOptions options) -
Method Summary
Modifier and TypeMethodDescriptionabstract voidapplyToProject(org.gradle.api.Project project, RemappedModArtifacts artifacts) 把本依赖注入目标配置.abstract voidcopyToCache(org.gradle.api.Project project, Path path, @Nullable String variant) Write an artifact to the local cache.protected LocalMavenHelpercreateMavenHelper(org.gradle.api.Project project, @Nullable String type) Create a maven helper for the local cache.getCacheArtifactPaths(org.gradle.api.Project project) Returns 本依赖的重映射产物落在共享仓库里的**全部**路径.@Nullable String产出坐标分类器;同上.getGroup()产出坐标组;同上.getName()产出坐标名(含 cache key);L3 任务据此定位产出路径,故为 public(见架构 §5.1.1).产出坐标版本;同上.getWorkingFile(org.gradle.api.Project project, @Nullable String classifier) abstract booleanisCacheInvalid(org.gradle.api.Project project, @Nullable String variant) Returns true when the cache is invalid.toString()
-
Constructor Details
-
ModDependency
-
-
Method Details
-
isCacheInvalid
Returns true when the cache is invalid. -
copyToCache
public abstract void copyToCache(org.gradle.api.Project project, Path path, @Nullable String variant) throws IOException Write an artifact to the local cache.- Throws:
IOException
-
applyToProject
把本依赖注入目标配置.- Parameters:
artifacts- 本批 remapped mod 产物各自的生产位置(见RemappedModArtifacts); 产出方未必是本项目的任务,故不传任务实例而传「按路径查生产者」的解析器
-
getCacheArtifactPaths
Returns 本依赖的重映射产物落在共享仓库里的**全部**路径..与消费方找产物走的是同一处计算(
createMavenHelper(org.gradle.api.Project, java.lang.String)),因为 L3 任务按这些路径写出、 消费方按这些路径读取:两处各自算一遍布局,会在快照版本这类「目录名与文件名不同源」的用例上分叉成 「任务写一条、消费方读另一条」的静默缺失。返回列表而不是单条路径,是因为依赖的产物数不止一条:拆分依赖(
SplitModDependency) 会产出 common/client 两条各自落位的变体(见 override)。生产与消费都按**这一处**结果走, 「谁产出某条路径」才不会漏掉其中一条。- Parameters:
project- 所在项目(决定共享仓库根)- Returns:
- 本依赖的重映射产物落在共享仓库里的**全部**路径
-
createMavenHelper
Create a maven helper for the local cache.- Parameters:
type- The jar type, e.g "common" or "client" for split dependencies.
-
getInputArtifact
-
getMetadata
-
getName
产出坐标名(含 cache key);L3 任务据此定位产出路径,故为 public(见架构 §5.1.1). -
getGroup
产出坐标组;同上. -
getVersion
产出坐标版本;同上. -
getClassifier
产出坐标分类器;同上. -
getInputFile
-
getWorkingFile
-
getOptions
-
toString
-