Skip to content

Commit 465a6a9

Browse files
committed
refactoring and new duplicatesStrategy property on PackageTask
1 parent 8064350 commit 465a6a9

File tree

9 files changed

+40
-117
lines changed

9 files changed

+40
-117
lines changed

src/main/java/io/github/fvarrui/javapackager/gradle/CopyDependencies.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.io.File;
44

55
import org.gradle.api.Project;
6-
import org.gradle.api.file.DuplicatesStrategy;
76
import org.gradle.api.tasks.Copy;
87

98
import io.github.fvarrui.javapackager.packagers.ArtifactGenerator;
@@ -36,7 +35,7 @@ protected File doApply(Packager packager) {
3635
if (copyLibsTask == null) {
3736
copyLibsTask = project.getTasks().create("copyLibs", Copy.class);
3837
}
39-
copyLibsTask.setDuplicatesStrategy(DuplicatesStrategy.EXCLUDE);
38+
copyLibsTask.setDuplicatesStrategy(Context.getGradleContext().getDuplicatesStrategy());
4039
copyLibsTask.from(project.getConfigurations().getByName("runtimeClasspath"));
4140
copyLibsTask.into(project.file(libsFolder));
4241
copyLibsTask.getActions().forEach(action -> action.execute(copyLibsTask));

src/main/java/io/github/fvarrui/javapackager/gradle/CreateWindowsExeLaunch4j.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import java.util.List;
66

77
import org.apache.commons.lang3.StringUtils;
8-
import org.gradle.api.file.DuplicatesStrategy;
98

109
import edu.sc.seis.launch4j.tasks.Launch4jLibraryTask;
1110
import io.github.fvarrui.javapackager.model.WindowsConfig;
@@ -50,7 +49,7 @@ protected File doApply(WindowsPackager packager) throws Exception {
5049
}
5150

5251
Launch4jLibraryTask l4jTask = Context.getGradleContext().getLibraryTask();
53-
l4jTask.getDuplicatesStrategy().set(DuplicatesStrategy.EXCLUDE);
52+
l4jTask.getDuplicatesStrategy().set(Context.getGradleContext().getDuplicatesStrategy());
5453
l4jTask.getOutputs().upToDateWhen(task -> false);
5554
l4jTask.getHeaderType().set(winConfig.getHeaderType().toString());
5655
l4jTask.getJarFiles().set(Context.getGradleContext().getProject().files(jarPath));

src/main/java/io/github/fvarrui/javapackager/gradle/DefaultPackageTask.java

Lines changed: 0 additions & 67 deletions
This file was deleted.

src/main/java/io/github/fvarrui/javapackager/gradle/GradleContext.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import io.github.fvarrui.javapackager.packagers.*;
66
import org.gradle.api.Project;
7+
import org.gradle.api.file.DuplicatesStrategy;
78
import org.gradle.api.internal.provider.Providers;
89
import org.gradle.api.logging.Logger;
910
import org.gradle.api.plugins.JavaPluginExtension;
@@ -20,8 +21,8 @@
2021
public class GradleContext extends Context<Logger> {
2122

2223
private Project project;
23-
2424
private Launch4jLibraryTask libraryTask;
25+
private DuplicatesStrategy duplicatesStrategy;
2526

2627
public GradleContext(Project project) {
2728
super();
@@ -80,6 +81,14 @@ public void setLibraryTask(Launch4jLibraryTask libraryTask) {
8081
this.libraryTask = libraryTask;
8182
}
8283

84+
public DuplicatesStrategy getDuplicatesStrategy() {
85+
return duplicatesStrategy;
86+
}
87+
88+
public void setDuplicatesStrategy(DuplicatesStrategy duplicatesStrategy) {
89+
this.duplicatesStrategy = duplicatesStrategy;
90+
}
91+
8392
/**
8493
* Returns project's default toolchain
8594
*

src/main/java/io/github/fvarrui/javapackager/gradle/LinuxTaskConfig.java

Lines changed: 0 additions & 43 deletions
This file was deleted.

src/main/java/io/github/fvarrui/javapackager/gradle/PackagePlugin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public void apply(Project project) {
2525
project.getPluginManager().apply("edu.sc.seis.launch4j");
2626

2727
project.getExtensions().create(SETTINGS_EXT_NAME, PackagePluginExtension.class, project);
28-
project.getTasks().create(PACKAGE_TASK_NAME, DefaultPackageTask.class).dependsOn("build");
28+
project.getTasks().create(PACKAGE_TASK_NAME, PackageTask.class).dependsOn("build");
2929

3030
Context.getGradleContext().setLibraryTask(project.getTasks().create("launch4j_" + UUID.randomUUID(), Launch4jLibraryTask.class));
3131

src/main/java/io/github/fvarrui/javapackager/gradle/PackagePluginExtension.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import java.util.HashMap;
66

77
import org.gradle.api.Project;
8+
import org.gradle.api.file.DuplicatesStrategy;
89

910
import groovy.lang.Closure;
1011
import io.github.fvarrui.javapackager.model.Arch;
@@ -22,6 +23,7 @@
2223
public class PackagePluginExtension extends PackagerSettings {
2324

2425
private Project project;
26+
private DuplicatesStrategy duplicatesStrategy;
2527

2628
public PackagePluginExtension(Project project) {
2729
super();
@@ -54,6 +56,7 @@ public PackagePluginExtension(Project project) {
5456
this.scripts = new Scripts();
5557
this.forceInstaller = false;
5658
this.arch = Arch.getDefault();
59+
this.duplicatesStrategy = DuplicatesStrategy.WARN;
5760
}
5861

5962
public LinuxConfig linuxConfig(Closure<LinuxConfig> closure) {
@@ -85,5 +88,13 @@ public Scripts scripts(Closure<Scripts> closure) {
8588
project.configure(scripts, closure);
8689
return scripts;
8790
}
91+
92+
public void setDuplicatesStrategy(DuplicatesStrategy duplicatesStrategy) {
93+
this.duplicatesStrategy = duplicatesStrategy;
94+
}
95+
96+
public DuplicatesStrategy getDuplicatesStrategy() {
97+
return duplicatesStrategy;
98+
}
8899

89100
}

src/main/java/io/github/fvarrui/javapackager/gradle/PackageTask.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.List;
88
import java.util.Map;
99

10+
import org.gradle.api.file.DuplicatesStrategy;
1011
import org.gradle.api.tasks.Input;
1112
import org.gradle.api.tasks.InputDirectory;
1213
import org.gradle.api.tasks.InputFile;
@@ -585,6 +586,18 @@ public List<Template> getTemplates() {
585586
public void setTemplates(List<Template> templates) {
586587
this.templates = templates;
587588
}
589+
590+
@Input
591+
@Optional
592+
private DuplicatesStrategy duplicatesStrategy;
593+
594+
public DuplicatesStrategy getDuplicatesStrategy() {
595+
return duplicatesStrategy;
596+
}
597+
598+
public void setDuplicatesStrategy(DuplicatesStrategy duplicatesStrategy) {
599+
this.duplicatesStrategy = duplicatesStrategy;
600+
}
588601

589602
// ===============
590603
// create packager
@@ -596,6 +609,8 @@ protected Packager createPackager() throws Exception {
596609

597610
PackagePluginExtension extension = getProject().getExtensions().findByType(PackagePluginExtension.class);
598611

612+
Context.getGradleContext().setDuplicatesStrategy(defaultIfNull(duplicatesStrategy, extension.getDuplicatesStrategy()));
613+
599614
return
600615
(Packager) PackagerFactory
601616
.createPackager(defaultIfNull(platform, extension.getPlatform()))

src/main/java/io/github/fvarrui/javapackager/packagers/Context.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public static boolean isGradle() {
7979
return context instanceof GradleContext;
8080
}
8181

82-
public static MavenContext getMavenContext() {
82+
public static MavenContext getMavenContext() {
8383
return (MavenContext) context;
8484
}
8585

0 commit comments

Comments
 (0)