e28aa90fcb
* use context for adminClient Now we can reuse the components as we can use the adminClient from the context Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com> * split environment into base, admin and account Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com> * added type to useEnvironment Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com> --------- Signed-off-by: Erik Jan de Wit <erikjan.dewit@gmail.com>
161 lines
No EOL
6.3 KiB
XML
161 lines
No EOL
6.3 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
<modelVersion>4.0.0</modelVersion>
|
|
|
|
<parent>
|
|
<artifactId>keycloak-js-parent</artifactId>
|
|
<groupId>org.keycloak</groupId>
|
|
<version>999.0.0-SNAPSHOT</version>
|
|
<relativePath>../../pom.xml</relativePath>
|
|
</parent>
|
|
|
|
<artifactId>keycloak-admin-ui</artifactId>
|
|
|
|
<name>Keycloak Admin UI</name>
|
|
<description>The user inferface to administrate the Keycloak server.</description>
|
|
|
|
<profiles>
|
|
<profile>
|
|
<id>withTranslations</id>
|
|
<activation>
|
|
<property>
|
|
<name>!skipCommunityTranslations</name>
|
|
</property>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<artifactId>maven-resources-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<id>copy-resources</id>
|
|
<phase>generate-resources</phase>
|
|
<goals>
|
|
<goal>copy-resources</goal>
|
|
</goals>
|
|
<configuration>
|
|
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
|
|
<resources>
|
|
<resource>
|
|
<directory>maven-resources-community</directory>
|
|
</resource>
|
|
</resources>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
</profiles>
|
|
|
|
<build>
|
|
<resources>
|
|
<resource>
|
|
<directory>maven-resources</directory>
|
|
</resource>
|
|
<resource>
|
|
<directory>dist</directory>
|
|
<targetPath>theme/keycloak.v2/admin/resources</targetPath>
|
|
<excludes>
|
|
<exclude>index.html</exclude>
|
|
</excludes>
|
|
</resource>
|
|
</resources>
|
|
|
|
<plugins>
|
|
<plugin>
|
|
<groupId>com.github.eirslett</groupId>
|
|
<artifactId>frontend-maven-plugin</artifactId>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>com.google.code.maven-replacer-plugin</groupId>
|
|
<artifactId>maven-replacer-plugin</artifactId>
|
|
<executions>
|
|
<execution>
|
|
<phase>process-resources</phase>
|
|
<goals>
|
|
<goal>replace</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
<configuration>
|
|
<file>dist/index.html</file>
|
|
<outputFile>target/classes/theme/keycloak.v2/admin/index.ftl</outputFile>
|
|
<regex>false</regex>
|
|
<replacements>
|
|
<replacement>
|
|
<token>src="./</token>
|
|
<value>src="${resourceUrl}/</value>
|
|
</replacement>
|
|
<replacement>
|
|
<token>href="./</token>
|
|
<value>href="${resourceUrl}/</value>
|
|
</replacement>
|
|
<replacement>
|
|
<token><![CDATA[<link rel="icon" type="image/svg+xml" href="${resourceUrl}/favicon.svg" />]]></token>
|
|
<value xml:space="preserve"><![CDATA[<link rel="icon" type="${properties.favIconType!"image/svg+xml"}" href="${resourceUrl}${properties.favIcon!"/favicon.svg"}" />]]></value>
|
|
</replacement>
|
|
<replacement>
|
|
<token><![CDATA[<meta name="description" content="Web site to manage keycloak" />]]></token>
|
|
<value xml:space="preserve"><![CDATA[<meta name="description" content="${properties.description!"Web site to manage keycloak"}" />]]></value>
|
|
</replacement>
|
|
<replacement>
|
|
<token><![CDATA[<title>Keycloak Administration UI</title>]]></token>
|
|
<value xml:space="preserve">
|
|
<![CDATA[
|
|
<title>${properties.title!"Keycloak Administration UI"}</title>
|
|
<script type="importmap">
|
|
{
|
|
"imports": {
|
|
"react": "${resourceCommonUrl}/vendor/react/react.production.min.js",
|
|
"react/jsx-runtime": "${resourceCommonUrl}/vendor/react/react-jsx-runtime.production.min.js",
|
|
"react-dom": "${resourceCommonUrl}/vendor/react-dom/react-dom.production.min.js"
|
|
}
|
|
}
|
|
</script>
|
|
]]></value>
|
|
</replacement>
|
|
<replacement>
|
|
<token><![CDATA[</body>]]></token>
|
|
<value xml:space="preserve">
|
|
<![CDATA[
|
|
<script id="environment" type="application/json">
|
|
{
|
|
"realm": "${loginRealm!"master"}",
|
|
"clientId": "${clientId}",
|
|
"authServerUrl": "${authServerUrl}",
|
|
"authUrl": "${authUrl}",
|
|
"consoleBaseUrl": "${consoleBaseUrl}",
|
|
"resourceUrl": "${resourceUrl}",
|
|
"masterRealm": "${masterRealm}",
|
|
"resourceVersion": "${resourceVersion}",
|
|
"logo": "${properties.logo!""}",
|
|
"logoUrl": "${properties.logoUrl!""}"
|
|
}
|
|
</script>
|
|
</body>
|
|
]]>
|
|
</value>
|
|
</replacement>
|
|
<replacement>
|
|
<token><![CDATA[</head>]]></token>
|
|
<value xml:space="preserve">
|
|
<![CDATA[
|
|
<#if properties.styles?has_content>
|
|
<#list properties.styles?split(' ') as style>
|
|
<link href="${resourceUrl}/${style}" rel="stylesheet"/>
|
|
</#list>
|
|
</#if>
|
|
</head>
|
|
]]>
|
|
</value>
|
|
</replacement>
|
|
</replacements>
|
|
</configuration>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</project> |