Skip to content

Commit 622c110

Browse files
committed
U rpm generation 1st test
1 parent 3c2c8a1 commit 622c110

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ dependencies {
5454
implementation 'io.github.fvarrui:gradle-launch4j:2.4.7'
5555
implementation 'org.vafer:jdeb:1.9'
5656
implementation 'net.jsign:jsign-core:3.1'
57+
implementation 'com.netflix.nebula:gradle-ospackage-plugin:8.5.6'
5758

5859
testImplementation 'junit:junit:4.12'
5960

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

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,13 @@
22

33
import java.io.File;
44

5+
import org.redline_rpm.header.Architecture;
6+
import org.redline_rpm.header.Os;
7+
8+
import com.netflix.gradle.plugins.rpm.Rpm;
9+
510
import io.github.fvarrui.javapackager.packagers.ArtifactGenerator;
11+
import io.github.fvarrui.javapackager.packagers.LinuxPackager;
612
import io.github.fvarrui.javapackager.packagers.Packager;
713
import io.github.fvarrui.javapackager.utils.Logger;
814

@@ -24,9 +30,27 @@ public boolean skip(Packager packager) {
2430
@Override
2531
protected File doApply(Packager packager) throws Exception {
2632

27-
Logger.warn("Sorry! " + getArtifactName() + " generation is not yet available");
33+
LinuxPackager linuxPackager = (LinuxPackager) packager;
34+
35+
File appFolder = linuxPackager.getAppFolder();
36+
String name = linuxPackager.getName();
37+
String version = linuxPackager.getVersion();
38+
String description = linuxPackager.getDescription();
39+
String organizationName = linuxPackager.getOrganizationName();
40+
File outputDirectory = linuxPackager.getOutputDirectory();
41+
42+
Rpm rpmTask = new Rpm();
43+
rpmTask.setPackageName(name);
44+
rpmTask.setPackageDescription(description);
45+
rpmTask.setRelease("1");
46+
rpmTask.setArch(Architecture.X86_64);
47+
rpmTask.setPackager(organizationName);
48+
rpmTask.setOs(Os.LINUX);
49+
rpmTask.into("/opt/" + name);
50+
rpmTask.from(appFolder);
51+
rpmTask.getActions().forEach(action -> action.execute(rpmTask));
2852

29-
return null;
53+
return new File(outputDirectory, name + "_" + version + ".rpm");
3054
}
3155

3256
}

0 commit comments

Comments
 (0)