Use the configured jar file basename if any

This commit is contained in:
Joseph Garrone 2024-06-16 02:17:55 +02:00
parent 142efb4f99
commit 1f6edb3c0c
2 changed files with 41 additions and 16 deletions
src/bin

@ -463,7 +463,7 @@ export function getBuildContext(params: {
recordIsImplementedByThemeType,
themeSrcDirPath,
jarTargets: (() => {
const getJarFileBasename = (range: string) =>
const getDefaultJarFileBasename = (range: string) =>
`keycloak-theme-for-kc-${range}.jar`;
build_for_specific_keycloak_major_version: {
@ -536,10 +536,39 @@ export function getBuildContext(params: {
}
})();
const jarFileBasename = (() => {
use_custom_jar_basename: {
const { keycloakVersionTargets } = buildOptions;
if (keycloakVersionTargets === undefined) {
break use_custom_jar_basename;
}
const entry = objectEntries(keycloakVersionTargets).find(
([keycloakVersionRange_entry]) =>
keycloakVersionRange_entry === keycloakVersionRange
);
if (entry === undefined) {
break use_custom_jar_basename;
}
const maybeJarFileBasename = entry[1];
if (typeof maybeJarFileBasename !== "string") {
break use_custom_jar_basename;
}
return maybeJarFileBasename;
}
return getDefaultJarFileBasename(keycloakVersionRange);
})();
return [
{
keycloakVersionRange,
jarFileBasename: getJarFileBasename(keycloakVersionRange)
jarFileBasename
}
];
}
@ -562,7 +591,8 @@ export function getBuildContext(params: {
>(true);
jarTargets.push({
keycloakVersionRange,
jarFileBasename: getJarFileBasename(keycloakVersionRange)
jarFileBasename:
getDefaultJarFileBasename(keycloakVersionRange)
});
}
} else {
@ -578,7 +608,8 @@ export function getBuildContext(params: {
>(true);
jarTargets.push({
keycloakVersionRange,
jarFileBasename: getJarFileBasename(keycloakVersionRange)
jarFileBasename:
getDefaultJarFileBasename(keycloakVersionRange)
});
}
}
@ -667,7 +698,7 @@ export function getBuildContext(params: {
if (jarNameOrBoolean === true) {
jarTargets.push({
keycloakVersionRange: keycloakVersionRange,
jarFileBasename: getJarFileBasename(keycloakVersionRange)
jarFileBasename: getDefaultJarFileBasename(keycloakVersionRange)
});
continue;
}

@ -113,10 +113,6 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
const keycloakMajorVersionNumber = SemVer.parse(keycloakVersion).major;
const beforeBuildJarFileBasenames = fs
.readdirSync(buildContext.keycloakifyBuildDirPath)
.filter(fileBasename => fileBasename.endsWith(".jar"));
{
const { isAppBuildSuccess } = await appBuild({
buildContext
@ -270,13 +266,7 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
pathBasename(jarFilePath)
);
{
const fsFnName = beforeBuildJarFileBasenames.includes(pathBasename(jarFilePath))
? "copyFileSync"
: "renameSync";
fs[fsFnName](jarFilePath, jarFilePath_cacheDir);
}
fs.copyFileSync(jarFilePath, jarFilePath_cacheDir);
try {
child_process.execSync(`docker rm --force ${containerName}`, {
@ -376,6 +366,10 @@ export async function command(params: { cliCommandOptions: CliCommandOptions })
console.log(
[
"",
`The ftl files from ${chalk.bold(
`.${pathSep}${pathRelative(process.cwd(), pathJoin(buildContext.keycloakifyBuildDirPath, "theme"))}`
)} are mounted in the Keycloak container.`,
"",
`Keycloak Admin console: ${chalk.cyan.bold(
`http://localhost:${cliCommandOptions.port}`