use of org.jreleaser.model.Glob in project jreleaser by jreleaser.
the class Artifacts method resolveFiles.
public static Set<Artifact> resolveFiles(JReleaserContext context) throws JReleaserException {
Files files = context.getModel().getFiles();
Set<Artifact> paths = new LinkedHashSet<>();
if (!files.isEnabled())
return paths;
if (files.arePathsResolved()) {
return files.getPaths();
}
// resolve artifacts
for (Artifact artifact : files.getArtifacts()) {
if (!context.isPlatformSelected(artifact))
continue;
artifact.activate();
artifact.getEffectivePath(context);
paths.add(artifact);
}
// resolve globs
for (Glob glob : files.getGlobs()) {
for (Artifact artifact : glob.getResolvedArtifacts(context)) {
if (!artifact.isActive())
continue;
paths.add(artifact);
}
}
files.setPaths(Artifact.sortArtifacts(paths));
return files.getPaths();
}
use of org.jreleaser.model.Glob in project jreleaser by jreleaser.
the class AbstractJavaAssemblerProcessor method copyFiles.
protected Set<Path> copyFiles(JReleaserContext context, Path destination) throws AssemblerProcessingException {
Set<Path> paths = new LinkedHashSet<>();
// resolve all first
for (Glob glob : assembler.getFiles()) {
glob.getResolvedArtifacts(context).stream().map(artifact -> artifact.getResolvedPath(context, assembler)).forEach(paths::add);
}
// copy all next
try {
Files.createDirectories(destination);
for (Path path : paths) {
context.getLogger().debug(RB.$("assembler.copying"), path.getFileName());
Files.copy(path, destination.resolve(path.getFileName()), REPLACE_EXISTING);
}
} catch (IOException e) {
throw new AssemblerProcessingException(RB.$("ERROR_assembler_copying_files"), e);
}
return paths;
}
use of org.jreleaser.model.Glob in project jreleaser by jreleaser.
the class AssemblerUtils method copyJars.
public static Set<Path> copyJars(JReleaserContext context, JavaAssembler assembler, Path jarsDirectory, String platform) throws AssemblerProcessingException {
Set<Path> paths = new LinkedHashSet<>();
// resolve all first
if (isBlank(platform)) {
paths.add(assembler.getMainJar().getEffectivePath(context, assembler));
}
for (Glob glob : assembler.getJars()) {
if ((isBlank(platform) && isBlank(glob.getPlatform())) || (isNotBlank(platform) && PlatformUtils.isCompatible(platform, glob.getPlatform()))) {
glob.getResolvedArtifacts(context).stream().map(artifact -> artifact.getResolvedPath(context, assembler)).forEach(paths::add);
}
}
// copy all next
try {
Files.createDirectories(jarsDirectory);
for (Path path : paths) {
context.getLogger().debug(RB.$("assembler.copying"), path.getFileName());
Files.copy(path, jarsDirectory.resolve(path.getFileName()), REPLACE_EXISTING);
}
} catch (IOException e) {
throw new AssemblerProcessingException(RB.$("ERROR_assembler_copying_jars"), e);
}
return paths;
}
Aggregations