keycloak-developers

Build server dist with feature pack

5/11/2015 11:09:16 AM

Changes

Details

diff --git a/distribution/feature-packs/pom.xml b/distribution/feature-packs/pom.xml
new file mode 100644
index 0000000..c78b1ae
--- /dev/null
+++ b/distribution/feature-packs/pom.xml
@@ -0,0 +1,19 @@
+<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">
+    <parent>
+        <artifactId>distribution-pom</artifactId>
+        <groupId>org.keycloak</groupId>
+        <version>1.3.0.Beta1-SNAPSHOT</version>
+        <relativePath>../pom.xml</relativePath>
+    </parent>
+    <name>Feature Pack Builds</name>
+    <description/>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>feature-packs-parent</artifactId>
+    <packaging>pom</packaging>
+
+    <modules>
+        <module>server-feature-pack</module>
+    </modules>
+</project>
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 516e94f..8eeaafc 100755
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -37,6 +37,6 @@
         <module>server-overlay</module>
         <module>src-dist</module>
         <module>subsystem-war</module>
-        <module>feature-pack-builds</module>
+        <module>feature-packs</module>
     </modules>
 </project>
diff --git a/distribution/server-dist/assembly.xml b/distribution/server-dist/assembly.xml
index b677d2c..6f0c028 100755
--- a/distribution/server-dist/assembly.xml
+++ b/distribution/server-dist/assembly.xml
@@ -8,55 +8,60 @@
 
     <includeBaseDirectory>true</includeBaseDirectory>
 
+    <!-- If war is filtered it will get corrupted. Only need to filter module.xml -->
     <fileSets>
         <fileSet>
-            <directory>${project.build.directory}/unpacked/wildfly-${wildfly.version}</directory>
-            <outputDirectory></outputDirectory>
+            <directory>target/${project.build.finalName}</directory>
+            <outputDirectory/>
+            <filtered>true</filtered>
+            <includes>
+                <include>**/module.xml</include>
+            </includes>
+        </fileSet>
+        <fileSet>
+            <directory>target/${project.build.finalName}</directory>
+            <outputDirectory/>
+            <filtered>false</filtered>
             <excludes>
-                <exclude>**/*.sh</exclude>
+                <exclude>**/module.xml</exclude>
                 <exclude>welcome-content/**</exclude>
-                <exclude>docs/**</exclude>
+                <exclude>appclient</exclude>
+                <exclude>appclient/*</exclude>
                 <exclude>standalone/deployments</exclude>
                 <exclude>standalone/deployments/*</exclude>
-                <exclude>standalone/configuration/standalone*.xml</exclude>
             </excludes>
         </fileSet>
         <fileSet>
-            <directory>${project.build.directory}/unpacked</directory>
-            <outputDirectory>standalone/configuration</outputDirectory>
+            <directory>src/main/welcome-content</directory>
+            <outputDirectory>welcome-content</outputDirectory>
             <includes>
-                <include>standalone*.xml</include>
+                <include>*.*</include>
             </includes>
         </fileSet>
         <fileSet>
-            <directory>${project.build.directory}/unpacked/wildfly-${wildfly.version}</directory>
-            <outputDirectory></outputDirectory>
+            <directory>../../forms/common-themes/src/main/resources/theme</directory>
+            <outputDirectory>standalone/configuration/themes</outputDirectory>
             <includes>
-                <include>**/*.sh</include>
+                <include>**/**</include>
             </includes>
-            <fileMode>0755</fileMode>
         </fileSet>
         <fileSet>
-            <directory>src/main/welcome-content</directory>
-            <outputDirectory>welcome-content</outputDirectory>
+            <directory>../../</directory>
             <includes>
-                <include>*.*</include>
+                <include>License.html</include>
             </includes>
+            <outputDirectory></outputDirectory>
         </fileSet>
     </fileSets>
 
-    <dependencySets>
-        <dependencySet>
-            <includes>
-                <include>org.keycloak:keycloak-server-overlay:zip</include>
-            </includes>
-            <outputDirectory></outputDirectory>
-            <unpack>true</unpack>
-            <unpackOptions>
-                <excludes>
-                    <exclude>standalone/configuration/standalone-keycloak.xml</exclude>
-                </excludes>
-            </unpackOptions>
-        </dependencySet>
-    </dependencySets>
+    <files>
+        <file>
+            <source>../server-overlay/src/main/themes/README.txt</source>
+            <outputDirectory>standalone/configuration/themes</outputDirectory>
+        </file>
+        <file>
+            <source>../server-overlay/src/main/providers/README.txt</source>
+            <outputDirectory>standalone/configuration/providers</outputDirectory>
+        </file>
+    </files>
 </assembly>
diff --git a/distribution/server-dist/pom.xml b/distribution/server-dist/pom.xml
index 07c00ea..cc76727 100755
--- a/distribution/server-dist/pom.xml
+++ b/distribution/server-dist/pom.xml
@@ -28,58 +28,26 @@
 
     <build>
         <finalName>keycloak-${project.version}</finalName>
+
         <plugins>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>unpack-wildfly</id>
-                        <phase>prepare-package</phase>
-                        <goals>
-                            <goal>unpack</goal>
-                        </goals>
-                        <configuration>
-                            <artifactItems>
-                                <artifactItem>
-                                    <groupId>org.wildfly</groupId>
-                                    <artifactId>wildfly-dist</artifactId>
-                                    <version>${wildfly.version}</version>
-                                    <type>zip</type>
-                                    <outputDirectory>${project.build.directory}/unpacked</outputDirectory>
-                                </artifactItem>
-                            </artifactItems>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
-            <plugin>
-                <groupId>org.codehaus.mojo</groupId>
-                <artifactId>xml-maven-plugin</artifactId>
-                <version>1.0</version>
+                <groupId>org.wildfly.build</groupId>
+                <artifactId>wildfly-server-provisioning-maven-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>generate-resources</id>
-                        <phase>package</phase>
+                        <id>server-provisioning</id>
                         <goals>
-                            <goal>transform</goal>
+                            <goal>build</goal>
                         </goals>
+                        <phase>compile</phase>
                         <configuration>
-                            <transformationSets>
-                                <transformationSet>
-                                    <dir>${project.build.directory}/unpacked/wildfly-${wildfly.version}/standalone/configuration</dir>
-                                    <stylesheet>src/main/xslt/standalone.xsl</stylesheet>
-                                    <includes>
-                                        <include>standalone*.xml</include>
-                                    </includes>
-                                    <outputDir>${project.build.directory}/unpacked</outputDir>
-                                </transformationSet>
-                            </transformationSets>
+                            <config-file>server-provisioning.xml</config-file>
                         </configuration>
                     </execution>
                 </executions>
             </plugin>
             <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
                 <executions>
                     <execution>
@@ -92,9 +60,11 @@
                             <descriptors>
                                 <descriptor>assembly.xml</descriptor>
                             </descriptors>
-                            <outputDirectory>target</outputDirectory>
-                            <workDirectory>target/assembly/work</workDirectory>
+                            <recompressZippedFiles>true</recompressZippedFiles>
+                            <finalName>${project.build.finalName}</finalName>
                             <appendAssemblyId>false</appendAssemblyId>
+                            <outputDirectory>${project.build.directory}</outputDirectory>
+                            <workDirectory>${project.build.directory}/assembly/work</workDirectory>
                             <tarLongFileMode>gnu</tarLongFileMode>
                         </configuration>
                     </execution>
diff --git a/distribution/server-dist/server-provisioning.xml b/distribution/server-dist/server-provisioning.xml
new file mode 100644
index 0000000..d414b95
--- /dev/null
+++ b/distribution/server-dist/server-provisioning.xml
@@ -0,0 +1,22 @@
+<!--
+~ JBoss, Home of Professional Open Source.
+~ Copyright 2015 Red Hat, Inc., and individual contributors
+~ as indicated by the @author tags.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~
+~     http://www.apache.org/licenses/LICENSE-2.0
+~
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+<server-provisioning xmlns="urn:wildfly:server-provisioning:1.0" extract-schemas="true" copy-module-artifacts="true">
+    <feature-packs>
+        <feature-pack groupId="org.keycloak" artifactId="keycloak-server-feature-pack" version="${project.version}"/>     
+    </feature-packs>
+</server-provisioning>
\ No newline at end of file