Load custom extention for logging realm change
This commit is contained in:
parent
c0e6661d3d
commit
92b505dd56
39
scripts/build/downloadKeycloakifyLogging.ts
Normal file
39
scripts/build/downloadKeycloakifyLogging.ts
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import { downloadAndExtractArchive } from "../../src/bin/tools/downloadAndExtractArchive";
|
||||||
|
import { cacheDirPath } from "../shared/cacheDirPath";
|
||||||
|
import { getProxyFetchOptions } from "../../src/bin/tools/fetchProxyOptions";
|
||||||
|
import { getThisCodebaseRootDirPath } from "../../src/bin/tools/getThisCodebaseRootDirPath";
|
||||||
|
import { existsAsync } from "../../src/bin/tools/fs.existsAsync";
|
||||||
|
import * as fs from "fs/promises";
|
||||||
|
import {
|
||||||
|
KEYCLOAKIFY_LOGGING_VERSION,
|
||||||
|
KEYCLOAKIFY_LOGIN_JAR_BASENAME
|
||||||
|
} from "../../src/bin/shared/constants";
|
||||||
|
import { join as pathJoin } from "path";
|
||||||
|
|
||||||
|
export async function downloadKeycloakifyLogging(params: { distDirPath: string }) {
|
||||||
|
const { distDirPath } = params;
|
||||||
|
|
||||||
|
const jarFilePath = pathJoin(
|
||||||
|
distDirPath,
|
||||||
|
"src",
|
||||||
|
"bin",
|
||||||
|
"start-keycloak",
|
||||||
|
KEYCLOAKIFY_LOGIN_JAR_BASENAME
|
||||||
|
);
|
||||||
|
|
||||||
|
if (await existsAsync(jarFilePath)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { archiveFilePath } = await downloadAndExtractArchive({
|
||||||
|
cacheDirPath,
|
||||||
|
fetchOptions: getProxyFetchOptions({
|
||||||
|
npmConfigGetCwd: getThisCodebaseRootDirPath()
|
||||||
|
}),
|
||||||
|
url: `https://github.com/keycloakify/keycloakify-logging/releases/download/${KEYCLOAKIFY_LOGGING_VERSION}/keycloakify-logging-${KEYCLOAKIFY_LOGGING_VERSION}.jar`,
|
||||||
|
uniqueIdOfOnArchiveFile: "no extraction",
|
||||||
|
onArchiveFile: async () => {}
|
||||||
|
});
|
||||||
|
|
||||||
|
await fs.cp(archiveFilePath, jarFilePath);
|
||||||
|
}
|
@ -7,6 +7,7 @@ import { createAccountV1Dir } from "./createAccountV1Dir";
|
|||||||
import chalk from "chalk";
|
import chalk from "chalk";
|
||||||
import { run } from "../shared/run";
|
import { run } from "../shared/run";
|
||||||
import { vendorFrontendDependencies } from "./vendorFrontendDependencies";
|
import { vendorFrontendDependencies } from "./vendorFrontendDependencies";
|
||||||
|
import { downloadKeycloakifyLogging } from "./downloadKeycloakifyLogging";
|
||||||
|
|
||||||
(async () => {
|
(async () => {
|
||||||
console.log(chalk.cyan("Building Keycloakify..."));
|
console.log(chalk.cyan("Building Keycloakify..."));
|
||||||
@ -148,9 +149,6 @@ import { vendorFrontendDependencies } from "./vendorFrontendDependencies";
|
|||||||
fs.cpSync(dirBasename, destDirPath, { recursive: true });
|
fs.cpSync(dirBasename, destDirPath, { recursive: true });
|
||||||
}
|
}
|
||||||
|
|
||||||
await createPublicKeycloakifyDevResourcesDir();
|
|
||||||
await createAccountV1Dir();
|
|
||||||
|
|
||||||
transformCodebase({
|
transformCodebase({
|
||||||
srcDirPath: join("stories"),
|
srcDirPath: join("stories"),
|
||||||
destDirPath: join("dist", "stories"),
|
destDirPath: join("dist", "stories"),
|
||||||
@ -163,6 +161,12 @@ import { vendorFrontendDependencies } from "./vendorFrontendDependencies";
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
await createPublicKeycloakifyDevResourcesDir();
|
||||||
|
await createAccountV1Dir();
|
||||||
|
await downloadKeycloakifyLogging({
|
||||||
|
distDirPath: join(process.cwd(), "dist")
|
||||||
|
});
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
chalk.green(`✓ built in ${((Date.now() - startTime) / 1000).toFixed(2)}s`)
|
chalk.green(`✓ built in ${((Date.now() - startTime) / 1000).toFixed(2)}s`)
|
||||||
);
|
);
|
||||||
|
@ -81,3 +81,7 @@ export const CUSTOM_HANDLER_ENV_NAMES = {
|
|||||||
export const KEYCLOAK_THEME = "keycloak-theme";
|
export const KEYCLOAK_THEME = "keycloak-theme";
|
||||||
|
|
||||||
export const KEYCLOAKIFY_SPA_DEV_SERVER_PORT = "KEYCLOAKIFY_SPA_DEV_SERVER_PORT";
|
export const KEYCLOAKIFY_SPA_DEV_SERVER_PORT = "KEYCLOAKIFY_SPA_DEV_SERVER_PORT";
|
||||||
|
|
||||||
|
export const KEYCLOAKIFY_LOGGING_VERSION = "1.0.1";
|
||||||
|
|
||||||
|
export const KEYCLOAKIFY_LOGIN_JAR_BASENAME = `keycloakify-login-${KEYCLOAKIFY_LOGGING_VERSION}.jar`;
|
||||||
|
@ -1,7 +1,11 @@
|
|||||||
import type { BuildContext } from "../shared/buildContext";
|
import type { BuildContext } from "../shared/buildContext";
|
||||||
import { exclude } from "tsafe/exclude";
|
import { exclude } from "tsafe/exclude";
|
||||||
import { promptKeycloakVersion } from "../shared/promptKeycloakVersion";
|
import { promptKeycloakVersion } from "../shared/promptKeycloakVersion";
|
||||||
import { CONTAINER_NAME, KEYCLOAKIFY_SPA_DEV_SERVER_PORT } from "../shared/constants";
|
import {
|
||||||
|
CONTAINER_NAME,
|
||||||
|
KEYCLOAKIFY_SPA_DEV_SERVER_PORT,
|
||||||
|
KEYCLOAKIFY_LOGIN_JAR_BASENAME
|
||||||
|
} from "../shared/constants";
|
||||||
import { SemVer } from "../tools/SemVer";
|
import { SemVer } from "../tools/SemVer";
|
||||||
import { assert, type Equals } from "tsafe/assert";
|
import { assert, type Equals } from "tsafe/assert";
|
||||||
import * as fs from "fs";
|
import * as fs from "fs";
|
||||||
@ -214,17 +218,19 @@ export async function command(params: {
|
|||||||
})
|
})
|
||||||
);
|
);
|
||||||
|
|
||||||
const getRealmJsonFilePath_defaultForKeycloakMajor = (
|
const thisDirPath = pathJoin(
|
||||||
keycloakMajorVersionNumber: number
|
|
||||||
) =>
|
|
||||||
pathJoin(
|
|
||||||
getThisCodebaseRootDirPath(),
|
getThisCodebaseRootDirPath(),
|
||||||
"src",
|
"src",
|
||||||
"bin",
|
"bin",
|
||||||
"start-keycloak",
|
"start-keycloak"
|
||||||
`myrealm-realm-${keycloakMajorVersionNumber}.json`
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
extensionJarFilePaths.unshift(pathJoin(thisDirPath, KEYCLOAKIFY_LOGIN_JAR_BASENAME));
|
||||||
|
|
||||||
|
const getRealmJsonFilePath_defaultForKeycloakMajor = (
|
||||||
|
keycloakMajorVersionNumber: number
|
||||||
|
) => pathJoin(thisDirPath, `myrealm-realm-${keycloakMajorVersionNumber}.json`);
|
||||||
|
|
||||||
const realmJsonFilePath = await (async () => {
|
const realmJsonFilePath = await (async () => {
|
||||||
if (cliCommandOptions.realmJsonFilePath !== undefined) {
|
if (cliCommandOptions.realmJsonFilePath !== undefined) {
|
||||||
if (cliCommandOptions.realmJsonFilePath === "none") {
|
if (cliCommandOptions.realmJsonFilePath === "none") {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user