keycloakify 7.16.0-rc.0 → 8.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/account/Template.js +5 -3
- package/account/Template.js.map +1 -1
- package/account/kcContext/kcContextMocks.js +0 -4
- package/account/kcContext/kcContextMocks.js.map +1 -1
- package/bin/copy-keycloak-resources-to-public.js +3 -2
- package/bin/copy-keycloak-resources-to-public.js.map +1 -1
- package/bin/download-builtin-keycloak-theme.d.ts +1 -1
- package/bin/download-builtin-keycloak-theme.js +84 -11
- package/bin/download-builtin-keycloak-theme.js.map +1 -1
- package/bin/initialize-email-theme.js +6 -5
- package/bin/initialize-email-theme.js.map +1 -1
- package/bin/keycloakify/BuildOptions.d.ts +18 -36
- package/bin/keycloakify/BuildOptions.js +71 -145
- package/bin/keycloakify/BuildOptions.js.map +1 -1
- package/bin/keycloakify/generateFtl/generateFtl.d.ts +5 -25
- package/bin/keycloakify/generateFtl/generateFtl.js +7 -11
- package/bin/keycloakify/generateFtl/generateFtl.js.map +1 -1
- package/bin/keycloakify/{generateJavaStackFiles/generateJavaStackFiles.d.ts → generateJavaStackFiles.d.ts} +3 -4
- package/bin/keycloakify/generateJavaStackFiles.js +103 -0
- package/bin/keycloakify/generateJavaStackFiles.js.map +1 -0
- package/bin/keycloakify/generateStartKeycloakTestingContainer.js +1 -5
- package/bin/keycloakify/generateStartKeycloakTestingContainer.js.map +1 -1
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.d.ts +5 -1
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js +24 -6
- package/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.js.map +1 -1
- package/bin/keycloakify/generateTheme/generateTheme.d.ts +8 -28
- package/bin/keycloakify/generateTheme/generateTheme.js +22 -33
- package/bin/keycloakify/generateTheme/generateTheme.js.map +1 -1
- package/bin/keycloakify/generateTheme/readFieldNameUsage.js +1 -2
- package/bin/keycloakify/generateTheme/readFieldNameUsage.js.map +1 -1
- package/bin/keycloakify/generateTheme/readStaticResourcesUsage.d.ts +17 -0
- package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js +172 -0
- package/bin/keycloakify/generateTheme/readStaticResourcesUsage.js.map +1 -0
- package/bin/keycloakify/keycloakify.js +17 -17
- package/bin/keycloakify/keycloakify.js.map +1 -1
- package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.d.ts +0 -11
- package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js +6 -27
- package/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.js.map +1 -1
- package/bin/keycloakify/replacers/replaceImportsInCssCode.js +1 -7
- package/bin/keycloakify/replacers/replaceImportsInCssCode.js.map +1 -1
- package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.d.ts +3 -13
- package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js +5 -12
- package/bin/keycloakify/replacers/replaceImportsInInlineCssCode.js.map +1 -1
- package/bin/tools/downloadAndUnzip.d.ts +13 -2
- package/bin/tools/downloadAndUnzip.js +81 -15
- package/bin/tools/downloadAndUnzip.js.map +1 -1
- package/bin/tools/transformCodebase.d.ts +1 -0
- package/bin/tools/transformCodebase.js +6 -5
- package/bin/tools/transformCodebase.js.map +1 -1
- package/bin/tools/unzip.d.ts +2 -1
- package/bin/tools/unzip.js +129 -11
- package/bin/tools/unzip.js.map +1 -1
- package/lib/usePrepareTemplate.d.ts +0 -5
- package/lib/usePrepareTemplate.js +4 -10
- package/lib/usePrepareTemplate.js.map +1 -1
- package/login/Template.js +5 -6
- package/login/Template.js.map +1 -1
- package/login/kcContext/KcContext.d.ts +1 -1
- package/login/kcContext/kcContextMocks.js +1 -5
- package/login/kcContext/kcContextMocks.js.map +1 -1
- package/login/pages/Login.js +16 -20
- package/login/pages/Login.js.map +1 -1
- package/login/pages/LoginOtp.js +1 -2
- package/login/pages/LoginOtp.js.map +1 -1
- package/package.json +11 -77
- package/src/account/Template.tsx +5 -3
- package/src/account/kcContext/kcContextMocks.ts +0 -4
- package/src/bin/copy-keycloak-resources-to-public.ts +3 -2
- package/src/bin/download-builtin-keycloak-theme.ts +71 -14
- package/src/bin/initialize-email-theme.ts +6 -4
- package/src/bin/keycloakify/BuildOptions.ts +99 -192
- package/src/bin/keycloakify/generateFtl/generateFtl.ts +16 -45
- package/src/bin/keycloakify/generateJavaStackFiles.ts +84 -0
- package/src/bin/keycloakify/generateStartKeycloakTestingContainer.ts +1 -6
- package/src/bin/keycloakify/generateTheme/downloadKeycloakStaticResources.ts +30 -6
- package/src/bin/keycloakify/generateTheme/generateTheme.ts +34 -69
- package/src/bin/keycloakify/generateTheme/readFieldNameUsage.ts +1 -4
- package/src/bin/keycloakify/generateTheme/readStaticResourcesUsage.ts +83 -0
- package/src/bin/keycloakify/keycloakify.ts +2 -1
- package/src/bin/keycloakify/replacers/replaceImportsFromStaticInJsCode.ts +9 -51
- package/src/bin/keycloakify/replacers/replaceImportsInCssCode.ts +1 -9
- package/src/bin/keycloakify/replacers/replaceImportsInInlineCssCode.ts +5 -29
- package/src/bin/tools/downloadAndUnzip.ts +99 -15
- package/src/bin/tools/transformCodebase.ts +7 -6
- package/src/bin/tools/unzip.ts +57 -8
- package/src/lib/usePrepareTemplate.ts +13 -24
- package/src/login/Template.tsx +5 -6
- package/src/login/kcContext/KcContext.ts +1 -1
- package/src/login/kcContext/kcContextMocks.ts +1 -5
- package/src/login/pages/Login.tsx +31 -34
- package/src/login/pages/LoginOtp.tsx +1 -2
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountPages.java +0 -33
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProvider.java +0 -76
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProviderFactory.java +0 -25
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountSpi.java +0 -50
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProvider.java +0 -424
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProviderFactory.java +0 -51
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/Templates.java +0 -51
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountBean.java +0 -91
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountFederatedIdentityBean.java +0 -157
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ApplicationsBean.java +0 -258
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AuthorizationBean.java +0 -515
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/FeaturesBean.java +0 -56
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/LogBean.java +0 -95
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/PasswordBean.java +0 -34
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/RealmBean.java +0 -75
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ReferrerBean.java +0 -38
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/SessionsBean.java +0 -93
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/TotpBean.java +0 -125
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/UrlBean.java +0 -121
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/AccountUrls.java +0 -115
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormService.java +0 -1320
- package/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormServiceFactory.java +0 -64
- package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js +0 -298
- package/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.js.map +0 -1
- package/bin/keycloakify/generateJavaStackFiles/index.d.ts +0 -1
- package/bin/keycloakify/generateJavaStackFiles/index.js +0 -18
- package/bin/keycloakify/generateJavaStackFiles/index.js.map +0 -1
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountPages.java +0 -33
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProvider.java +0 -76
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountProviderFactory.java +0 -25
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/AccountSpi.java +0 -50
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProvider.java +0 -424
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/FreeMarkerAccountProviderFactory.java +0 -51
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/Templates.java +0 -51
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountBean.java +0 -91
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AccountFederatedIdentityBean.java +0 -157
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ApplicationsBean.java +0 -258
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/AuthorizationBean.java +0 -515
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/FeaturesBean.java +0 -56
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/LogBean.java +0 -95
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/PasswordBean.java +0 -34
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/RealmBean.java +0 -75
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/ReferrerBean.java +0 -38
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/SessionsBean.java +0 -93
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/TotpBean.java +0 -125
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/forms/account/freemarker/model/UrlBean.java +0 -121
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/AccountUrls.java +0 -115
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormService.java +0 -1320
- package/src/bin/keycloakify/generateJavaStackFiles/account-v1-java/services/resources/account/AccountFormServiceFactory.java +0 -64
- package/src/bin/keycloakify/generateJavaStackFiles/generateJavaStackFiles.ts +0 -249
- package/src/bin/keycloakify/generateJavaStackFiles/index.ts +0 -1
@@ -1,64 +0,0 @@
|
|
1
|
-
package org.keycloak.services.resources.account;
|
2
|
-
|
3
|
-
import com.google.auto.service.AutoService;
|
4
|
-
import com.google.common.collect.ImmutableMap;
|
5
|
-
import com.google.common.collect.ImmutableSet;
|
6
|
-
import java.util.Map;
|
7
|
-
import lombok.extern.jbosslog.JBossLog;
|
8
|
-
import org.keycloak.Config.Scope;
|
9
|
-
import org.keycloak.events.EventBuilder;
|
10
|
-
import org.keycloak.models.ClientModel;
|
11
|
-
import org.keycloak.models.KeycloakSession;
|
12
|
-
import org.keycloak.models.KeycloakSessionFactory;
|
13
|
-
import org.keycloak.models.ProtocolMapperModel;
|
14
|
-
import org.keycloak.models.RealmModel;
|
15
|
-
import org.keycloak.provider.ProviderEvent;
|
16
|
-
import org.keycloak.services.resource.AccountResourceProvider;
|
17
|
-
import org.keycloak.services.resource.AccountResourceProviderFactory;
|
18
|
-
import jakarta.ws.rs.NotFoundException;
|
19
|
-
import org.keycloak.models.Constants;
|
20
|
-
|
21
|
-
@JBossLog
|
22
|
-
@AutoService(AccountResourceProviderFactory.class)
|
23
|
-
public class AccountFormServiceFactory implements AccountResourceProviderFactory {
|
24
|
-
|
25
|
-
public static final String ID = "account-v1";
|
26
|
-
|
27
|
-
@Override
|
28
|
-
public String getId() {
|
29
|
-
return ID;
|
30
|
-
}
|
31
|
-
|
32
|
-
private ClientModel getAccountManagementClient(RealmModel realm) {
|
33
|
-
ClientModel client = realm.getClientByClientId(Constants.ACCOUNT_MANAGEMENT_CLIENT_ID);
|
34
|
-
if (client == null || !client.isEnabled()) {
|
35
|
-
log.debug("account management not enabled");
|
36
|
-
throw new NotFoundException("account management not enabled");
|
37
|
-
}
|
38
|
-
return client;
|
39
|
-
}
|
40
|
-
|
41
|
-
@Override
|
42
|
-
public AccountResourceProvider create(KeycloakSession session) {
|
43
|
-
log.info("create");
|
44
|
-
RealmModel realm = session.getContext().getRealm();
|
45
|
-
ClientModel client = getAccountManagementClient(realm);
|
46
|
-
EventBuilder event = new EventBuilder(realm, session, session.getContext().getConnection());
|
47
|
-
return new AccountFormService(session, client, event);
|
48
|
-
}
|
49
|
-
|
50
|
-
@Override
|
51
|
-
public void init(Scope config) {
|
52
|
-
log.info("init");
|
53
|
-
}
|
54
|
-
|
55
|
-
@Override
|
56
|
-
public void postInit(KeycloakSessionFactory factory) {
|
57
|
-
log.info("postInit");
|
58
|
-
}
|
59
|
-
|
60
|
-
@Override
|
61
|
-
public void close() {
|
62
|
-
log.info("close");
|
63
|
-
}
|
64
|
-
}
|
@@ -1,249 +0,0 @@
|
|
1
|
-
import * as fs from "fs";
|
2
|
-
import { join as pathJoin, dirname as pathDirname, basename as pathBasename } from "path";
|
3
|
-
import { assert } from "tsafe/assert";
|
4
|
-
import { Reflect } from "tsafe/Reflect";
|
5
|
-
import type { BuildOptions } from "../BuildOptions";
|
6
|
-
import type { ThemeType } from "../generateFtl";
|
7
|
-
import { downloadBuiltinKeycloakTheme } from "../../download-builtin-keycloak-theme";
|
8
|
-
import { transformCodebase } from "../../tools/transformCodebase";
|
9
|
-
|
10
|
-
export type BuildOptionsLike = {
|
11
|
-
themeName: string;
|
12
|
-
extraThemeNames: string[];
|
13
|
-
groupId: string;
|
14
|
-
artifactId: string;
|
15
|
-
themeVersion: string;
|
16
|
-
};
|
17
|
-
|
18
|
-
{
|
19
|
-
const buildOptions = Reflect<BuildOptions>();
|
20
|
-
|
21
|
-
assert<typeof buildOptions extends BuildOptionsLike ? true : false>();
|
22
|
-
}
|
23
|
-
|
24
|
-
export const accountV1Keycloak = "account-v1-keycloak";
|
25
|
-
|
26
|
-
export async function generateJavaStackFiles(params: {
|
27
|
-
keycloakThemeBuildingDirPath: string;
|
28
|
-
implementedThemeTypes: Record<ThemeType | "email", boolean>;
|
29
|
-
buildOptions: BuildOptionsLike;
|
30
|
-
}): Promise<{
|
31
|
-
jarFilePath: string;
|
32
|
-
}> {
|
33
|
-
const {
|
34
|
-
buildOptions: { groupId, themeName, extraThemeNames, themeVersion, artifactId },
|
35
|
-
keycloakThemeBuildingDirPath,
|
36
|
-
implementedThemeTypes
|
37
|
-
} = params;
|
38
|
-
|
39
|
-
{
|
40
|
-
const { pomFileCode } = (function generatePomFileCode(): {
|
41
|
-
pomFileCode: string;
|
42
|
-
} {
|
43
|
-
const pomFileCode = [
|
44
|
-
`<?xml version="1.0"?>`,
|
45
|
-
`<project xmlns="http://maven.apache.org/POM/4.0.0"`,
|
46
|
-
` xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"`,
|
47
|
-
` xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">`,
|
48
|
-
` <modelVersion>4.0.0</modelVersion>`,
|
49
|
-
` <groupId>${groupId}</groupId>`,
|
50
|
-
` <artifactId>${artifactId}</artifactId>`,
|
51
|
-
` <version>${themeVersion}</version>`,
|
52
|
-
` <name>${artifactId}</name>`,
|
53
|
-
` <description />`,
|
54
|
-
` <packaging>jar</packaging>`,
|
55
|
-
` <properties>`,
|
56
|
-
` <java.version>17</java.version>`,
|
57
|
-
` <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>`,
|
58
|
-
` <keycloak.version>999.0.0-SNAPSHOT</keycloak.version>`,
|
59
|
-
` <guava.version>32.0.0-jre</guava.version>`,
|
60
|
-
` <lombok.version>1.18.28</lombok.version>`,
|
61
|
-
` <auto-service.version>1.1.1</auto-service.version>`,
|
62
|
-
` </properties>`,
|
63
|
-
` <build>`,
|
64
|
-
` <plugins>`,
|
65
|
-
` <plugin>`,
|
66
|
-
` <artifactId>maven-compiler-plugin</artifactId>`,
|
67
|
-
` <version>3.11.0</version>`,
|
68
|
-
` <configuration>`,
|
69
|
-
` <source>\${java.version}</source>`,
|
70
|
-
` <target>\${java.version}</target>`,
|
71
|
-
` <compilerArgument>-Xlint:unchecked</compilerArgument>`,
|
72
|
-
` <compilerArgument>-Xlint:deprecation</compilerArgument>`,
|
73
|
-
` <useIncrementalCompilation>false</useIncrementalCompilation>`,
|
74
|
-
` <annotationProcessorPaths>`,
|
75
|
-
` <path>`,
|
76
|
-
` <groupId>com.google.auto.service</groupId>`,
|
77
|
-
` <artifactId>auto-service</artifactId>`,
|
78
|
-
` <version>\${auto-service.version}</version>`,
|
79
|
-
` </path>`,
|
80
|
-
` <path>`,
|
81
|
-
` <groupId>org.projectlombok</groupId>`,
|
82
|
-
` <artifactId>lombok</artifactId>`,
|
83
|
-
` <version>\${lombok.version}</version>`,
|
84
|
-
` </path>`,
|
85
|
-
` </annotationProcessorPaths>`,
|
86
|
-
` </configuration>`,
|
87
|
-
` </plugin>`,
|
88
|
-
` <plugin>`,
|
89
|
-
` <groupId>org.apache.maven.plugins</groupId>`,
|
90
|
-
` <artifactId>maven-jar-plugin</artifactId>`,
|
91
|
-
` <version>3.2.0</version>`,
|
92
|
-
` <configuration>`,
|
93
|
-
` <archive>`,
|
94
|
-
` <manifestEntries>`,
|
95
|
-
` <Dependencies>`,
|
96
|
-
` <![CDATA[org.keycloak.keycloak-common,org.keycloak.keycloak-core,org.keycloak.keycloak-server-spi,org.keycloak.keycloak-server-spi-private,org.keycloak.keycloak-services,com.google.guava]]>`,
|
97
|
-
` </Dependencies>`,
|
98
|
-
` </manifestEntries>`,
|
99
|
-
` </archive>`,
|
100
|
-
` </configuration>`,
|
101
|
-
` </plugin>`,
|
102
|
-
` <plugin>`,
|
103
|
-
` <groupId>com.spotify.fmt</groupId>`,
|
104
|
-
` <artifactId>fmt-maven-plugin</artifactId>`,
|
105
|
-
` <version>2.20</version>`,
|
106
|
-
` </plugin>`,
|
107
|
-
` </plugins>`,
|
108
|
-
` </build>`,
|
109
|
-
` <dependencies>`,
|
110
|
-
` <dependency>`,
|
111
|
-
` <groupId>org.projectlombok</groupId>`,
|
112
|
-
` <artifactId>lombok</artifactId>`,
|
113
|
-
` <version>\${lombok.version}</version>`,
|
114
|
-
` <scope>provided</scope>`,
|
115
|
-
` </dependency>`,
|
116
|
-
` <dependency>`,
|
117
|
-
` <groupId>com.google.auto.service</groupId>`,
|
118
|
-
` <artifactId>auto-service</artifactId>`,
|
119
|
-
` <version>\${auto-service.version}</version>`,
|
120
|
-
` <scope>provided</scope>`,
|
121
|
-
` </dependency>`,
|
122
|
-
` <dependency>`,
|
123
|
-
` <groupId>org.keycloak</groupId>`,
|
124
|
-
` <artifactId>keycloak-server-spi</artifactId>`,
|
125
|
-
` <version>\${keycloak.version}</version>`,
|
126
|
-
` <scope>provided</scope>`,
|
127
|
-
` </dependency>`,
|
128
|
-
` <dependency>`,
|
129
|
-
` <groupId>org.keycloak</groupId>`,
|
130
|
-
` <artifactId>keycloak-server-spi-private</artifactId>`,
|
131
|
-
` <version>\${keycloak.version}</version>`,
|
132
|
-
` <scope>provided</scope>`,
|
133
|
-
` </dependency>`,
|
134
|
-
` <dependency>`,
|
135
|
-
` <groupId>org.keycloak</groupId>`,
|
136
|
-
` <artifactId>keycloak-services</artifactId>`,
|
137
|
-
` <version>\${keycloak.version}</version>`,
|
138
|
-
` <scope>provided</scope>`,
|
139
|
-
` </dependency>`,
|
140
|
-
` <dependency>`,
|
141
|
-
` <groupId>jakarta.ws.rs</groupId>`,
|
142
|
-
` <artifactId>jakarta.ws.rs-api</artifactId>`,
|
143
|
-
` <version>3.1.0</version>`,
|
144
|
-
` <scope>provided</scope>`,
|
145
|
-
` </dependency>`,
|
146
|
-
` <dependency>`,
|
147
|
-
` <groupId>com.google.guava</groupId>`,
|
148
|
-
` <artifactId>guava</artifactId>`,
|
149
|
-
` <version>\${guava.version}</version>`,
|
150
|
-
` <scope>provided</scope>`,
|
151
|
-
` </dependency>`,
|
152
|
-
` </dependencies>`,
|
153
|
-
`</project>`
|
154
|
-
].join("\n");
|
155
|
-
|
156
|
-
return { pomFileCode };
|
157
|
-
})();
|
158
|
-
|
159
|
-
fs.writeFileSync(pathJoin(keycloakThemeBuildingDirPath, "pom.xml"), Buffer.from(pomFileCode, "utf8"));
|
160
|
-
}
|
161
|
-
|
162
|
-
const accountV1 = "account-v1";
|
163
|
-
|
164
|
-
{
|
165
|
-
const builtinKeycloakThemeTmpDirPath = pathJoin(keycloakThemeBuildingDirPath, "..", "tmp_yxdE2_builtin_keycloak_theme");
|
166
|
-
|
167
|
-
await downloadBuiltinKeycloakTheme({
|
168
|
-
"destDirPath": builtinKeycloakThemeTmpDirPath,
|
169
|
-
"isSilent": true,
|
170
|
-
"keycloakVersion": "21.1.2"
|
171
|
-
});
|
172
|
-
|
173
|
-
transformCodebase({
|
174
|
-
"srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "base", "account"),
|
175
|
-
"destDirPath": pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", accountV1, "account")
|
176
|
-
});
|
177
|
-
|
178
|
-
transformCodebase({
|
179
|
-
"srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "keycloak", "common"),
|
180
|
-
"destDirPath": pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", accountV1Keycloak, "common")
|
181
|
-
});
|
182
|
-
|
183
|
-
transformCodebase({
|
184
|
-
"srcDirPath": pathJoin(builtinKeycloakThemeTmpDirPath, "keycloak", "account"),
|
185
|
-
"destDirPath": pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "theme", accountV1Keycloak, "account"),
|
186
|
-
"transformSourceCode": ({ sourceCode, filePath }) => {
|
187
|
-
if (pathBasename(filePath) !== "theme.properties") {
|
188
|
-
sourceCode = Buffer.from(sourceCode.toString("utf8").replace("parent=base", `parent=${accountV1}`), "utf8");
|
189
|
-
sourceCode = Buffer.from(
|
190
|
-
sourceCode.toString("utf8").replace("import=common/keycloak", `import=common/${accountV1Keycloak}`),
|
191
|
-
"utf8"
|
192
|
-
);
|
193
|
-
}
|
194
|
-
|
195
|
-
return {
|
196
|
-
"modifiedSourceCode": sourceCode
|
197
|
-
};
|
198
|
-
}
|
199
|
-
});
|
200
|
-
|
201
|
-
fs.rmdirSync(builtinKeycloakThemeTmpDirPath, { "recursive": true });
|
202
|
-
}
|
203
|
-
|
204
|
-
transformCodebase({
|
205
|
-
"srcDirPath": pathJoin(__dirname, "account-v1-java"),
|
206
|
-
"destDirPath": pathJoin(keycloakThemeBuildingDirPath, "src", "main", "java", "org", "keycloak")
|
207
|
-
});
|
208
|
-
|
209
|
-
{
|
210
|
-
const themeManifestFilePath = pathJoin(keycloakThemeBuildingDirPath, "src", "main", "resources", "META-INF", "keycloak-themes.json");
|
211
|
-
|
212
|
-
try {
|
213
|
-
fs.mkdirSync(pathDirname(themeManifestFilePath));
|
214
|
-
} catch {}
|
215
|
-
|
216
|
-
fs.writeFileSync(
|
217
|
-
themeManifestFilePath,
|
218
|
-
Buffer.from(
|
219
|
-
JSON.stringify(
|
220
|
-
{
|
221
|
-
"themes": [
|
222
|
-
{
|
223
|
-
"name": "account-v1",
|
224
|
-
"types": ["account"]
|
225
|
-
},
|
226
|
-
{
|
227
|
-
"name": "account-v1-keycloak",
|
228
|
-
"types": ["account"]
|
229
|
-
},
|
230
|
-
...[themeName, ...extraThemeNames].map(themeName => ({
|
231
|
-
"name": themeName,
|
232
|
-
"types": Object.entries(implementedThemeTypes)
|
233
|
-
.filter(([, isImplemented]) => isImplemented)
|
234
|
-
.map(([themeType]) => themeType)
|
235
|
-
}))
|
236
|
-
]
|
237
|
-
},
|
238
|
-
null,
|
239
|
-
2
|
240
|
-
),
|
241
|
-
"utf8"
|
242
|
-
)
|
243
|
-
);
|
244
|
-
}
|
245
|
-
|
246
|
-
return {
|
247
|
-
"jarFilePath": pathJoin(keycloakThemeBuildingDirPath, "target", `${artifactId}-${themeVersion}.jar`)
|
248
|
-
};
|
249
|
-
}
|
@@ -1 +0,0 @@
|
|
1
|
-
export * from "./generateJavaStackFiles";
|