40 lines
1.4 KiB
TypeScript
40 lines
1.4 KiB
TypeScript
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);
|
|
}
|