本文整理汇总了Java中org.eclipse.aether.artifact.Artifact.setFile方法的典型用法代码示例。如果您正苦于以下问题:Java Artifact.setFile方法的具体用法?Java Artifact.setFile怎么用?Java Artifact.setFile使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.eclipse.aether.artifact.Artifact
的用法示例。
在下文中一共展示了Artifact.setFile方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: resolve
import org.eclipse.aether.artifact.Artifact; //导入方法依赖的package包/类
public @Override File resolve(Artifact artifact) {
if (!artifact.getExtension().equals(NbMavenProject.TYPE_POM)) {
return null;
}
if (!artifact.getClassifier().isEmpty()) {
return null;
}
ArtifactRepository local = EmbedderFactory.getProjectEmbedder().getLocalRepository();
if (local.getLayout() != null) { // #189807: for unknown reasons, there is no layout when running inside MavenCommandLineExecutor.run
//the special snapshot handling is important in case of SNAPSHOT or x-SNAPSHOT versions, for some reason aether has slightly different
//handling of baseversion compared to maven artifact. we need to manually set the baseversion here..
boolean isSnapshot = artifact.isSnapshot();
DefaultArtifact art = new DefaultArtifact(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), null, artifact.getExtension(), artifact.getClassifier(), new DefaultArtifactHandler(artifact.getExtension()));
if (isSnapshot) {
art.setBaseVersion(artifact.getBaseVersion());
}
String path = local.pathOf(art);
if (new File(local.getBasedir(), path).exists()) {
return null; // for now, we prefer the repository version when available
}
}
//#234586
Set<String> gavSet = gav.get();
if (gavSet == null) {
gavSet = new HashSet<String>();
gav.set(gavSet);
}
String id = artifact.getGroupId() + ":" + artifact.getArtifactId() + ":" + artifact.getVersion();
if (!gavSet.contains(id)) {
try {
gavSet.add(id); //#234586
File pom = MavenFileOwnerQueryImpl.getInstance().getOwnerPOM(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion());
if (pom != null) {
//instead of workarounds down the road, we set the artifact's file here.
// some stacktraces to maven/aether do set it after querying our code, but some don't for reasons unknown to me.
artifact.setFile(pom);
return pom;
}
} finally {
gavSet.remove(id); //#234586
if (gavSet.isEmpty()) {
gav.remove();
}
}
} else {
LOG.log(Level.INFO, "Cycle in NbArtifactFixer resolution (issue #234586): {0}", Arrays.toString(gavSet.toArray()));
}
try {
File f = createFallbackPOM(artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion());
//instead of workarounds down the road, we set the artifact's file here.
// some stacktraces to maven/aether do set it after querying our code, but some don't for reasons unknown to me.
artifact.setFile(f);
return f;
} catch (IOException x) {
Exceptions.printStackTrace(x);
return null;
}
}