Skip to content

Commit c0b3338

Browse files
authored
Merge pull request #118 from keastrid/issue-112-workaround
Workaround for `afterEvaluate` call in gradle-launch4j
2 parents 365f957 + e3408c7 commit c0b3338

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.io.File;
44
import java.util.HashSet;
55
import java.util.List;
6-
import java.util.UUID;
76

87
import org.apache.commons.lang3.StringUtils;
98

@@ -53,7 +52,8 @@ protected File doApply(Packager packager) throws Exception {
5352

5453
String jarPath = winConfig.isWrapJar() ? genericJar.getAbsolutePath() : jarFile.getName();
5554

56-
Launch4jLibraryTask l4jTask = createLaunch4jTask();
55+
Launch4jLibraryTask l4jTask = Context.getGradleContext().getLibraryTask();
56+
l4jTask.getOutputs().upToDateWhen(task -> false);
5757
l4jTask.setHeaderType(winConfig.getHeaderType().toString());
5858
l4jTask.setJar(jarPath);
5959
l4jTask.setDontWrapJar(!winConfig.isWrapJar());
@@ -87,10 +87,6 @@ protected File doApply(Packager packager) throws Exception {
8787
return executable;
8888
}
8989

90-
private Launch4jLibraryTask createLaunch4jTask() {
91-
return Context.getGradleContext().getProject().getTasks().create("launch4j_" + UUID.randomUUID(), Launch4jLibraryTask.class);
92-
}
93-
9490
private void createAssets(WindowsPackager packager) throws Exception {
9591

9692
File manifestFile = packager.getManifestFile();

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

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package io.github.fvarrui.javapackager.gradle;
22

33
import java.io.File;
4+
import java.util.HashMap;
5+
import java.util.Map;
46

7+
import edu.sc.seis.launch4j.tasks.Launch4jLibraryTask;
58
import org.gradle.api.Project;
69
import org.gradle.api.logging.Logger;
710

@@ -14,6 +17,8 @@
1417
public class GradleContext extends Context<Logger> {
1518

1619
private Project project;
20+
21+
private Launch4jLibraryTask libraryTask;
1722

1823
public GradleContext(Project project) {
1924
super();
@@ -69,4 +74,12 @@ public File createWindowsExe(Packager packager) throws Exception {
6974
return new CreateWindowsExe().apply(packager);
7075
}
7176

77+
public Launch4jLibraryTask getLibraryTask() {
78+
return libraryTask;
79+
}
80+
81+
public void setLibraryTask(Launch4jLibraryTask libraryTask) {
82+
this.libraryTask = libraryTask;
83+
}
84+
7285
}

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package io.github.fvarrui.javapackager.gradle;
22

3+
import edu.sc.seis.launch4j.tasks.Launch4jLibraryTask;
4+
import io.github.fvarrui.javapackager.packagers.Context;
35
import org.gradle.api.Plugin;
46
import org.gradle.api.Project;
57

6-
import io.github.fvarrui.javapackager.packagers.Context;
8+
import java.util.UUID;
79

810
/**
911
* JavaPackager Gradle plugin
@@ -25,6 +27,8 @@ public void apply(Project project) {
2527
project.getExtensions().create(SETTINGS_EXT_NAME, PackagePluginExtension.class, project);
2628
project.getTasks().create(PACKAGE_TASK_NAME, DefaultPackageTask.class).dependsOn("build");
2729

30+
Context.getGradleContext().setLibraryTask(project.getTasks().create("launch4j_" + UUID.randomUUID(), Launch4jLibraryTask.class));
31+
2832
}
2933

3034
}

0 commit comments

Comments
 (0)