Skip to content

Commit d25dab9

Browse files
committed
start work on GenerateNativeImage
1 parent 813fdef commit d25dab9

File tree

3 files changed

+61
-1
lines changed

3 files changed

+61
-1
lines changed

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,10 @@ public Context() {
2828
getInstallerGenerators(Platform.windows).add(new GenerateSetup());
2929
getInstallerGenerators(Platform.windows).add(new GenerateMsm());
3030
getInstallerGenerators(Platform.windows).add(new GenerateMsi());
31-
31+
32+
getInstallerGenerators(Platform.linux).add(new GenerateNativeImage());
33+
getInstallerGenerators(Platform.mac).add(new GenerateNativeImage());
34+
getInstallerGenerators(Platform.windows).add(new GenerateNativeImage());
3235
}
3336

3437
// common properties
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package io.github.fvarrui.javapackager.packagers;
2+
3+
import io.github.fvarrui.javapackager.utils.Const;
4+
import io.github.fvarrui.javapackager.utils.Logger;
5+
import io.github.fvarrui.javapackager.utils.VelocityUtils;
6+
import io.github.fvarrui.javapackager.utils.XMLUtils;
7+
8+
import java.io.File;
9+
import java.util.Objects;
10+
11+
import static io.github.fvarrui.javapackager.utils.CommandUtils.execute;
12+
13+
/**
14+
* Creates a MSI file including all app folder's content only for
15+
* Windows so app could be easily distributed
16+
*/
17+
public class GenerateNativeImage extends ArtifactGenerator<Packager> {
18+
19+
public GenerateNativeImage() {
20+
super("Native Image");
21+
}
22+
23+
@Override
24+
public boolean skip(Packager packager) {
25+
26+
if (!packager.task.isNativeImage()) {
27+
return true;
28+
}
29+
30+
if (!Objects.equals(packager.task.getJdkVendor(), Const.graalvm)) {
31+
Logger.warn(getArtifactName() + " cannot be generated because '"+Const.graalvm +"' was expected as jdkVendor, but provided '"+packager.task.getJdkVendor()+"'!");
32+
return true;
33+
}
34+
35+
return false;
36+
}
37+
38+
@Override
39+
protected File doApply(Packager packager) throws Exception {
40+
41+
File assetsFolder = packager.getAssetsFolder();
42+
String name = packager.task.getAppName();
43+
File outputDirectory = packager.task.getOutputDirectory();
44+
String version = packager.task.getVersion();
45+
46+
//TODO
47+
48+
return null;
49+
}
50+
51+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package io.github.fvarrui.javapackager.utils;
2+
3+
public class Const {
4+
public static final String graalvm = "graalvm";
5+
public static final String adoptium = "adoptium";
6+
}

0 commit comments

Comments
 (0)