Skip to content

Commit e395c51

Browse files
authored
Merge pull request #265 from zfqjava/master
add arch config property
2 parents cf3bfe7 + 77163b3 commit e395c51

File tree

6 files changed

+60
-24
lines changed

6 files changed

+60
-24
lines changed

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

Lines changed: 7 additions & 9 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 io.github.fvarrui.javapackager.model.*;
1011
import org.apache.maven.execution.MavenSession;
1112
import org.apache.maven.plugin.AbstractMojo;
1213
import org.apache.maven.plugin.BuildPluginManager;
@@ -18,13 +19,6 @@
1819
import org.apache.maven.plugins.annotations.ResolutionScope;
1920
import org.apache.maven.project.MavenProject;
2021

21-
import io.github.fvarrui.javapackager.model.FileAssociation;
22-
import io.github.fvarrui.javapackager.model.LinuxConfig;
23-
import io.github.fvarrui.javapackager.model.MacConfig;
24-
import io.github.fvarrui.javapackager.model.Manifest;
25-
import io.github.fvarrui.javapackager.model.Platform;
26-
import io.github.fvarrui.javapackager.model.Scripts;
27-
import io.github.fvarrui.javapackager.model.WindowsConfig;
2822
import io.github.fvarrui.javapackager.packagers.Context;
2923
import io.github.fvarrui.javapackager.packagers.Packager;
3024
import io.github.fvarrui.javapackager.packagers.PackagerFactory;
@@ -314,7 +308,10 @@ public class PackageMojo extends AbstractMojo {
314308
*/
315309
@Parameter(property = "scripts", required = false)
316310
private Scripts scripts;
317-
311+
312+
@Parameter(property = "arch", required = false, defaultValue="x64")
313+
private JavaArch arch;
314+
318315
public void execute() throws MojoExecutionException {
319316

320317
Context.setContext(
@@ -370,7 +367,8 @@ public void execute() throws MojoExecutionException {
370367
.url(url)
371368
.version(version)
372369
.vmArgs(vmArgs)
373-
.winConfig(winConfig);
370+
.winConfig(winConfig)
371+
.arch(arch);
374372

375373
// generate app, installers and bundles
376374
packager.createApp();
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package io.github.fvarrui.javapackager.model;
2+
3+
public enum JavaArch {
4+
aarch64("arm64", "AARCH64"),
5+
x64("amd64", "X86_64");
6+
7+
private String deb;
8+
private String rpm;
9+
10+
JavaArch(String deb, String rpm) {
11+
this.deb = deb;
12+
this.rpm = rpm;
13+
}
14+
15+
public String getDeb() {
16+
return deb;
17+
}
18+
19+
public String getRpm() {
20+
return rpm;
21+
}
22+
}

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

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ protected File doApply(LinuxPackager packager) throws Exception {
5353

5454
Builder builder = new Builder();
5555
builder.setType(RpmType.BINARY);
56-
builder.setPlatform(Architecture.X86_64, Os.LINUX);
56+
Architecture archForRpm = packager.getArchForRpm();
57+
builder.setPlatform(archForRpm, Os.LINUX);
5758
builder.setPackage(name, version, "1");
5859
builder.setPackager(organizationName);
5960
builder.setDescription(description);
@@ -76,7 +77,9 @@ protected File doApply(LinuxPackager packager) throws Exception {
7677

7778
builder.build(outputDirectory);
7879

79-
File originalRpm = new File(outputDirectory, name + "-" + version + "-1.x86_64.rpm");
80+
String arch = archForRpm.name().toLowerCase();
81+
String suffix = "-1."+arch+".rpm";
82+
File originalRpm = new File(outputDirectory, name + "-" + version + suffix);
8083
File rpm = null;
8184
if (originalRpm.exists()) {
8285
rpm = new File(outputDirectory, name + "_" + version + ".rpm");

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

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,9 @@
66
import java.util.Map;
77
import java.util.stream.Collectors;
88

9+
import io.github.fvarrui.javapackager.model.*;
910
import org.apache.commons.lang3.StringUtils;
10-
11-
import io.github.fvarrui.javapackager.model.FileAssociation;
12-
import io.github.fvarrui.javapackager.model.LinuxConfig;
13-
import io.github.fvarrui.javapackager.model.MacConfig;
14-
import io.github.fvarrui.javapackager.model.Manifest;
15-
import io.github.fvarrui.javapackager.model.Platform;
16-
import io.github.fvarrui.javapackager.model.Scripts;
17-
import io.github.fvarrui.javapackager.model.WindowsConfig;
11+
import org.redline_rpm.header.Architecture;
1812

1913
/**
2014
* Common packagers' settings
@@ -65,6 +59,7 @@ public class PackagerSettings {
6559
protected File packagingJdk;
6660
protected Scripts scripts;
6761

62+
private JavaArch arch;
6863
/**
6964
* Get packaging JDK
7065
* @return Packaging JDK
@@ -861,6 +856,23 @@ public String getMimeTypesListAsString(String separator) {
861856
separator);
862857
}
863858

859+
public JavaArch getArch() {
860+
return arch;
861+
}
862+
863+
public PackagerSettings arch(JavaArch arch) {
864+
this.arch = arch;
865+
return this;
866+
}
867+
868+
public String getArchForDeb() {
869+
return arch.getDeb();
870+
}
871+
872+
public Architecture getArchForRpm() {
873+
return Architecture.valueOf(arch.getRpm());
874+
}
875+
864876
@Override
865877
public String toString() {
866878
return "PackagerSettings [outputDirectory=" + outputDirectory + ", licenseFile=" + licenseFile + ", iconFile="
@@ -878,5 +890,6 @@ public String toString() {
878890
+ extra + ", useResourcesAsWorkingDir=" + useResourcesAsWorkingDir + ", assetsDir=" + assetsDir
879891
+ ", classpath=" + classpath + ", jreMinVersion=" + jreMinVersion + ", manifest=" + manifest
880892
+ ", additionalModulePaths=" + additionalModulePaths + ", fileAssociations=" + fileAssociations
881-
+ ", packagingJdk=" + packagingJdk + ", scripts=" + scripts + "]";
882-
}}
893+
+ ", packagingJdk=" + packagingJdk + ", scripts=" + scripts + ", arch=" + arch + "]";
894+
}
895+
}

src/main/resources/linux/control.vtl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Package: ${info.name}
22
Version: ${info.version}
33
Section: misc
44
Priority: optional
5-
Architecture: amd64
5+
Architecture: ${info.archForDeb}
66
Maintainer: ${info.organizationName} <$!{info.organizationEmail}>
77
Description: ${info.description}
88
Distribution: development

src/main/resources/linux/startup.sh.vtl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,8 @@ Bootstrap="$SCRIPTPATH/scripts/${info.bootstrapFile.name}" && [ -x "$Bootstrap"
8282
#end
8383

8484
#if ($info.administratorRequired)
85-
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY GDKBACKEND=x11 "${JAVA}" ${JVMDefaultOptions} -cp "${JVMClassPath}" ${info.mainClass} $@
85+
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY GDKBACKEND=x11 "${JAVA}" ${JVMDefaultOptions} -jar "${JVMClassPath}" $@
8686
#else
87-
"${JAVA}" ${JVMDefaultOptions} -cp "${JVMClassPath}" ${info.mainClass} $@
87+
"${JAVA}" ${JVMDefaultOptions} -jar "${JVMClassPath}" $@
8888
#end
8989
exit 0

0 commit comments

Comments
 (0)