use of com.intellij.compiler.ant.taskdefs.Include in project intellij-community by JetBrains.
the class ExtractedDirectoryPackagingElement method computeAntInstructions.
@Override
public List<? extends Generator> computeAntInstructions(@NotNull PackagingElementResolvingContext resolvingContext, @NotNull AntCopyInstructionCreator creator, @NotNull ArtifactAntGenerationContext generationContext, @NotNull ArtifactType artifactType) {
final String jarPath = generationContext.getSubstitutedPath(myFilePath);
final String pathInJar = StringUtil.trimStart(myPathInJar, "/");
if (pathInJar.length() == 0) {
return Collections.singletonList(creator.createExtractedDirectoryInstruction(jarPath));
}
final String archiveName = PathUtil.getFileName(myFilePath);
final String tempDirProperty = generationContext.createNewTempFileProperty("temp.unpacked.path." + archiveName, archiveName);
final String tempDirPath = BuildProperties.propertyRef(tempDirProperty);
generationContext.runBeforeCurrentArtifact(new Mkdir(tempDirPath));
final Unzip unzip = new Unzip(jarPath, tempDirPath);
final PatternSet patterns = new PatternSet(null);
patterns.add(new Include(pathInJar + "**"));
unzip.add(patterns);
generationContext.runBeforeCurrentArtifact(unzip);
return Collections.singletonList(creator.createDirectoryContentCopyInstruction(tempDirPath + "/" + pathInJar));
}
Aggregations