Skip to content

Commit 7835c86

Browse files
Fix to make PostImageScriptTest pass on Linux
1 parent d7fa3cc commit 7835c86

File tree

3 files changed

+26
-14
lines changed

3 files changed

+26
-14
lines changed

src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxDebBundler.java

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,11 +80,15 @@ protected List<ToolValidator> getToolValidators() {
8080
}
8181

8282
@Override
83-
protected Path buildPackageBundle(Map<String, String> replacementData, BuildEnv env,
84-
LinuxPackage pkg, Path outputParentDir) throws PackagerException, IOException {
85-
83+
protected void createConfigFiles(Map<String, String> replacementData,
84+
BuildEnv env, LinuxPackage pkg) throws IOException {
8685
prepareProjectConfig(replacementData, env, pkg);
8786
adjustPermissionsRecursive(env.appImageDir());
87+
}
88+
89+
@Override
90+
protected Path buildPackageBundle(BuildEnv env, LinuxPackage pkg,
91+
Path outputParentDir) throws PackagerException, IOException {
8892
return buildDeb(env, pkg, outputParentDir);
8993
}
9094

src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxPackageBundler.java

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,18 +107,18 @@ public final Path execute(Map<String, ? super Object> params,
107107

108108
LinuxPackagingPipeline.build()
109109
.excludeDirFromCopying(outputParentDir)
110+
.task(PackagingPipeline.PackageTaskID.CREATE_CONFIG_FILES)
111+
.packageAction(this::buildConfigFiles)
112+
.add()
110113
.task(PackagingPipeline.PackageTaskID.CREATE_PACKAGE_FILE)
111114
.packageAction(this::buildPackage)
112115
.add()
113-
.task(PackagingPipeline.PackageTaskID.RUN_POST_IMAGE_USER_SCRIPT)
114-
.noaction() // FIXME: implement post-app-image script execution on Linux
115-
.add()
116116
.create().execute(env, pkg, outputParentDir);
117117

118118
return outputParentDir.resolve(pkg.packageFileNameWithSuffix()).toAbsolutePath();
119119
}
120120

121-
private void buildPackage(PackageBuildEnv<LinuxPackage, AppImageLayout> env) throws PackagerException, IOException {
121+
private void buildConfigFiles(PackageBuildEnv<LinuxPackage, AppImageLayout> env) throws PackagerException, IOException {
122122
for (var ca : customActions) {
123123
ca.init(env.env(), env.pkg());
124124
}
@@ -131,8 +131,11 @@ private void buildPackage(PackageBuildEnv<LinuxPackage, AppImageLayout> env) thr
131131

132132
data.putAll(createReplacementData(env.env(), env.pkg()));
133133

134-
Path packageBundle = buildPackageBundle(Collections.unmodifiableMap(
135-
data), env.env(), env.pkg(), env.outputDir());
134+
createConfigFiles(Collections.unmodifiableMap(data), env.env(), env.pkg());
135+
}
136+
137+
private void buildPackage(PackageBuildEnv<LinuxPackage, AppImageLayout> env) throws PackagerException, IOException {
138+
Path packageBundle = buildPackageBundle(env.env(), env.pkg(), env.outputDir());
136139

137140
verifyOutputBundle(env.env(), env.pkg(), packageBundle).stream()
138141
.filter(Objects::nonNull)
@@ -202,8 +205,11 @@ protected abstract void doValidate(BuildEnv env, LinuxPackage pkg)
202205
protected abstract Map<String, String> createReplacementData(
203206
BuildEnv env, LinuxPackage pkg) throws IOException;
204207

205-
protected abstract Path buildPackageBundle(
208+
protected abstract void createConfigFiles(
206209
Map<String, String> replacementData,
210+
BuildEnv env, LinuxPackage pkg) throws IOException;
211+
212+
protected abstract Path buildPackageBundle(
207213
BuildEnv env, LinuxPackage pkg, Path outputParentDir) throws
208214
PackagerException, IOException;
209215

src/jdk.jpackage/linux/classes/jdk/jpackage/internal/LinuxRpmBundler.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,18 +91,20 @@ protected List<ToolValidator> getToolValidators() {
9191
return List.of(createRpmbuildToolValidator());
9292
}
9393

94-
@Override
95-
protected Path buildPackageBundle(Map<String, String> replacementData, BuildEnv env,
96-
LinuxPackage pkg, Path outputParentDir) throws PackagerException, IOException {
97-
94+
protected void createConfigFiles(Map<String, String> replacementData,
95+
BuildEnv env, LinuxPackage pkg) throws IOException {
9896
Path specFile = specFile(env, pkg);
9997

10098
// prepare spec file
10199
env.createResource(DEFAULT_SPEC_TEMPLATE)
102100
.setCategory(I18N.getString("resource.rpm-spec-file"))
103101
.setSubstitutionData(replacementData)
104102
.saveToFile(specFile);
103+
}
105104

105+
@Override
106+
protected Path buildPackageBundle(BuildEnv env, LinuxPackage pkg,
107+
Path outputParentDir) throws PackagerException, IOException {
106108
return buildRPM(env, pkg, outputParentDir);
107109
}
108110

0 commit comments

Comments
 (0)