Skip to content

Commit 4a80df0

Browse files
committed
U shortcut to vbs generation
1 parent 8777557 commit 4a80df0

File tree

5 files changed

+186
-123
lines changed

5 files changed

+186
-123
lines changed

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,13 @@ protected File doApply(WindowsPackager packager) throws Exception {
9393
// generates startup VBS script file
9494
File vbsFile = new File(appFolder, name + ".vbs");
9595
VelocityUtils.render(Platform.windows + "/startup.vbs.vtl", vbsFile, packager);
96-
executable = vbsFile;
9796

97+
// creates shortcut to VBS script
98+
File lnk = new File(appFolder, name + ".lnk");
99+
createShortcut(lnk, vbsFile, executable);
100+
101+
executable = vbsFile;
102+
98103
}
99104

100105
return executable;

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

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,13 @@
1717
import org.apache.commons.lang3.StringUtils;
1818
import org.twdata.maven.mojoexecutor.MojoExecutor.Element;
1919

20+
import io.github.fvarrui.javapackager.model.Platform;
2021
import io.github.fvarrui.javapackager.model.WindowsConfig;
2122
import io.github.fvarrui.javapackager.packagers.Context;
2223
import io.github.fvarrui.javapackager.packagers.WindowsArtifactGenerator;
2324
import io.github.fvarrui.javapackager.packagers.WindowsPackager;
2425
import io.github.fvarrui.javapackager.utils.FileUtils;
26+
import io.github.fvarrui.javapackager.utils.VelocityUtils;
2527

2628
/**
2729
* Copies all dependencies to app folder on Maven context
@@ -39,7 +41,7 @@ public CreateWindowsExe() {
3941
}
4042

4143
@Override
42-
protected File doApply(WindowsPackager packager) {
44+
protected File doApply(WindowsPackager packager) throws Exception {
4345

4446
List<String> vmArgs = packager.getVmArgs();
4547
WindowsConfig winConfig = packager.getWinConfig();
@@ -51,6 +53,8 @@ protected File doApply(WindowsPackager packager) {
5153
String classpath = packager.getClasspath();
5254
String jreMinVersion = packager.getJreMinVersion();
5355
File jarFile = packager.getJarFile();
56+
File appFolder = packager.getAppFolder();
57+
String name = packager.getName();
5458

5559
try {
5660
// creates a folder only for launch4j assets
@@ -123,7 +127,22 @@ protected File doApply(WindowsPackager packager) {
123127

124128
} catch (Exception ex) {
125129
throw new RuntimeException(ex);
126-
}
130+
}
131+
132+
// bootstrap script specified
133+
if (FileUtils.exists(packager.getScripts().getBootstrap())) {
134+
135+
// generates startup VBS script file
136+
File vbsFile = new File(appFolder, name + ".vbs");
137+
VelocityUtils.render(Platform.windows + "/startup.vbs.vtl", vbsFile, packager);
138+
139+
// creates shortcut to VBS script
140+
File lnk = new File(appFolder, name + ".lnk");
141+
createShortcut(lnk, vbsFile, executable);
142+
143+
executable = vbsFile;
144+
145+
}
127146

128147
return executable;
129148
}

0 commit comments

Comments
 (0)