Skip to content

Commit

Permalink
Consolidate WF bundle within Hawkular
Browse files Browse the repository at this point in the history
  • Loading branch information
theute committed May 12, 2015
1 parent e2b937b commit 84ed6f5
Show file tree
Hide file tree
Showing 8 changed files with 535 additions and 80 deletions.
56 changes: 44 additions & 12 deletions dist/assembly.xml
Expand Up @@ -19,7 +19,7 @@
-->

<assembly>
<id>wildfly</id>
<id>zip-distrib</id>
<formats>
<format>zip</format>
</formats>
Expand All @@ -29,15 +29,47 @@

<fileSets>
<fileSet>
<directory>${project.build.directory}/distro-resources</directory>
<outputDirectory>/${nest.dist.zip.root.dir}</outputDirectory>
<directory>src/main/resources/wildfly/configuration</directory>
<outputDirectory>/${wildfly.dist.zip.root.dir}/standalone/configuration</outputDirectory>
<filtered>false</filtered>
<fileMode>0644</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
<fileSet>
<directory>src/main/resources/wildfly/bin</directory>
<outputDirectory>/${nest.dist.zip.root.dir}/bin</outputDirectory>
<outputDirectory>/${wildfly.dist.zip.root.dir}/bin</outputDirectory>
<filtered>false</filtered>
<fileMode>0744</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
<!-- non-binary files -->
<fileSet>
<directory>${assembly.dir}</directory>
<outputDirectory>/</outputDirectory>
<excludes>
<exclude>**/*.sh</exclude>
</excludes>
<filtered>false</filtered>
<fileMode>0644</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
<!-- all scripts and other files that go in the /bin directory - will have u+x file perm set-->
<fileSet>
<directory>${assembly.dir}</directory>
<outputDirectory>/</outputDirectory>
<includes>
<include>**/*.sh</include>
</includes>
<filtered>false</filtered>
<fileMode>0744</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
<fileSet>
<directory>${project.build.directory}/distro-resources</directory>
<outputDirectory>/${wildfly.dist.zip.root.dir}</outputDirectory>
<filtered>false</filtered>
<fileMode>0644</fileMode>
<directoryMode>0755</directoryMode>
</fileSet>
</fileSets>

Expand All @@ -52,19 +84,19 @@
<unpackOptions>
<!-- exclude unwanted stuff and exclude stuff we want to overlay via our own distro-resources -->
<excludes>
<exclude>${nest.dist.zip.root.dir}/standalone/configuration/standalone.xml</exclude>
<exclude>${wildfly.dist.zip.root.dir}/standalone/configuration/standalone.xml</exclude>

<!-- Our standalone.conf contains an override to the JAVA_OPTS, to tell Keycloak to import our realm -->
<exclude>${nest.dist.zip.root.dir}/bin/standalone.conf</exclude>
<exclude>${nest.dist.zip.root.dir}/bin/standalone.conf.bat</exclude>
<exclude>${wildfly.dist.zip.root.dir}/bin/standalone.conf</exclude>
<exclude>${wildfly.dist.zip.root.dir}/bin/standalone.conf.bat</exclude>

</excludes>
</unpackOptions>
</dependencySet>

<!-- all component deployments that go in the nest's internal modules directory -->
<dependencySet>
<outputDirectory>${nest.dist.zip.root.dir}/modules/system/layers/base/org/hawkular/nest/main/deployments</outputDirectory>
<outputDirectory>${wildfly.dist.zip.root.dir}/modules/system/layers/base/org/hawkular/nest/main/deployments</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>org.hawkular.inventory:inventory-rest-api</include>
Expand All @@ -84,7 +116,7 @@

<!-- additional subsystem extensions that go in the main WildFly modules directory -->
<dependencySet>
<outputDirectory>${nest.dist.zip.root.dir}/modules/system/layers/base</outputDirectory>
<outputDirectory>${wildfly.dist.zip.root.dir}/modules/system/layers/base</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>org.hawkular.agent:hawkular-monitor:zip:module</include>
Expand All @@ -100,7 +132,7 @@
requires the war name.
-->
<dependencySet>
<outputDirectory>${nest.dist.zip.root.dir}/modules/system/layers/base/org/hawkular/nest/main/deployments</outputDirectory>
<outputDirectory>${wildfly.dist.zip.root.dir}/modules/system/layers/base/org/hawkular/nest/main/deployments</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>org.hawkular.accounts:hawkular-accounts:war</include>
Expand All @@ -113,7 +145,7 @@

<!-- Keycloak modules -->
<dependencySet>
<outputDirectory>${nest.dist.zip.root.dir}/</outputDirectory>
<outputDirectory>${wildfly.dist.zip.root.dir}/</outputDirectory>
<useProjectArtifact>false</useProjectArtifact>
<includes>
<include>org.keycloak:keycloak-wildfly-adapter-dist:zip</include>
Expand All @@ -127,7 +159,7 @@
<files>
<file>
<source>src/main/resources/configuration/${hawkular.realm.template}</source>
<outputDirectory>${nest.dist.zip.root.dir}/standalone/configuration/</outputDirectory>
<outputDirectory>${wildfly.dist.zip.root.dir}/standalone/configuration/</outputDirectory>
<filtered>true</filtered>
<destName>hawkular-realm.json</destName>
</file>
Expand Down
140 changes: 120 additions & 20 deletions dist/pom.xml
Expand Up @@ -28,15 +28,15 @@

<artifactId>hawkular-dist</artifactId>
<packaging>pom</packaging>
<name>Hawkular Distribution</name>
<name>Hawkular: Distribution</name>
<description>Hawkular distribution that integrates all components into a single server.</description>

<properties>
<kettle.build.type>production</kettle.build.type>
<hawkular.realm.template>hawkular-realm.json</hawkular.realm.template>

<checkstyle.suppressions.file>checkstyle-suppressions.xml</checkstyle.suppressions.file>

<assembly.dir>${project.build.directory}/assembly</assembly.dir>
<wildfly.dist.zip.root.dir>wildfly-${version.org.wildfly}</wildfly.dist.zip.root.dir>
</properties>

<dependencies>
Expand All @@ -47,11 +47,25 @@
<classifier>module</classifier>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.hawkular.bus</groupId>
<artifactId>hawkular-bus-broker-wf-extension</artifactId>
<version>${version.org.hawkular.bus}</version>
<classifier>module</classifier>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.hawkular.bus</groupId>
<artifactId>hawkular-bus-ra-wf-module</artifactId>
<version>${version.org.hawkular.bus}</version>
<classifier>module</classifier>
<type>zip</type>
</dependency>
<dependency>
<groupId>org.hawkular.nest</groupId>
<artifactId>hawkular-nest-distro</artifactId>
<version>${version.org.hawkular.nest}</version>
<classifier>distribution</classifier>
<artifactId>hawkular-nest-wf-extension</artifactId>
<version>${version.org.hawkular.bus}</version>
<classifier>module</classifier>
<type>zip</type>
</dependency>
<dependency>
Expand Down Expand Up @@ -114,6 +128,12 @@
<version>${version.org.hawkular.accounts}</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.wildfly</groupId>
<artifactId>wildfly-dist</artifactId>
<type>zip</type>
</dependency>


<!-- Keycloak-related dependencies -->
<dependency>
Expand All @@ -128,54 +148,133 @@
<build>

<plugins>
<!-- unpack the nest distribution to get its configuration that we need to customize -->

<!-- unpack the wildfly distribution and copy our hawkular modules in a tmp location -->
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-nest-configuration</id>
<id>unpack-wildfly</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/nest</outputDirectory>
<includeArtifactIds>hawkular-nest-distro</includeArtifactIds>
<!-- just unpack the config file - its all we need -->
<includes>*/standalone/configuration/standalone.xml</includes>
<outputDirectory>${assembly.dir}</outputDirectory>
<includeArtifactIds>wildfly-dist</includeArtifactIds>
<excludes>*/appclient/**,*/docs/**,*/domain/**</excludes>
</configuration>
</execution>
<execution>
<id>unpack-ra-module</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${assembly.dir}/${wildfly.dist.zip.root.dir}/modules/system/layers/base</outputDirectory>
<includeArtifactIds>
hawkular-bus-ra-wf-module
</includeArtifactIds>
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
<execution>
<id>copy-hawkular-modules</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/hawkular-modules</outputDirectory>
<includeArtifactIds>
hawkular-nest-wf-extension,
hawkular-bus-broker-wf-extension,
</includeArtifactIds>
<stripVersion>true</stripVersion>
<stripClassifier>true</stripClassifier>
<overWriteIfNew>true</overWriteIfNew>
<excludeTransitive>true</excludeTransitive>
</configuration>
</execution>
</executions>
</plugin>

<!-- if we have any files that we need in the distro, copy them now -->
<!-- put some custom files in the out-of-box wildfly we unpacked above -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<executions>
<execution>
<id>copy-distro-resources</id>
<id>copy-distro-resources-to-wildfly</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${basedir}/target/distro-resources</outputDirectory>
<outputDirectory>${assembly.dir}/${wildfly.dist.zip.root.dir}</outputDirectory>
<resources>
<resource>
<directory>src/main/distro-resources</directory>
<filtering>false</filtering> <!-- let the assembly filter if it wants -->
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>

<!-- install our hawkular extension modules and customize standalone.xml -->
<plugin>
<groupId>org.wildfly.plugins</groupId>
<artifactId>wildfly-extension-maven-plugin</artifactId>
<executions>
<execution>
<id>install-bus-broker-module</id>
<phase>prepare-package</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<jbossHome>${assembly.dir}/${wildfly.dist.zip.root.dir}</jbossHome>
<serverConfig>standalone/configuration/standalone.xml</serverConfig>
<modulesHome>modules/system/layers/base</modulesHome>
<moduleZip>${project.build.directory}/hawkular-modules/hawkular-bus-broker-wf-extension.zip</moduleZip>
<subsystem>${basedir}/src/main/resources/wildfly/snippets/subsystem-hawkular-bus-broker-wf-extension.xml</subsystem>
<socketBinding>${basedir}/src/main/resources/wildfly/snippets/socketbinding-hawkular-bus-broker-wf-extension.xml</socketBinding>
<edit>
<insert>
<select>/server/socket-binding-group[@name='standard-sockets']</select>
<xml><![CDATA[<socket-binding name="org.hawkular.bus.broker.discovery" port="0" multicast-address="224.0.0.4" multicast-port="63636"/>]]></xml>
<attribute>name</attribute>
</insert>
</edit>
</configuration>
</execution>
<execution>
<id>install-nest-module</id>
<phase>prepare-package</phase>
<goals>
<goal>deploy</goal>
</goals>
<configuration>
<jbossHome>${assembly.dir}/${wildfly.dist.zip.root.dir}</jbossHome>
<serverConfig>standalone/configuration/standalone.xml</serverConfig>
<!-- we do not care about this backup, so put it somewhere so it won't overwrite first backup -->
<serverConfigBackup>${project.build.directory}/standalone.xml.out</serverConfigBackup>
<modulesHome>modules/system/layers/base</modulesHome>
<moduleZip>${project.build.directory}/hawkular-modules/hawkular-nest-wf-extension.zip</moduleZip>
<subsystem>${basedir}/src/main/resources/wildfly/snippets/subsystem-hawkular-nest-wf-extension.xml</subsystem>
<socketBinding>${basedir}/src/main/resources/wildfly/snippets/socketbinding-hawkular-bus-broker-wf-extension.xml</socketBinding>
</configuration>
</execution>
</executions>
</plugin>

<!-- further customize standalone.xml -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>xml-maven-plugin</artifactId>
<version>1.0</version> <!-- TODO remove after moving to parent pom 8 -->
<version>1.0</version> <!-- TODO delete once we point to latest hawkular parent -->
<executions>
<execution>
<id>transform-standalone-xml</id>
Expand All @@ -186,12 +285,12 @@
<configuration>
<transformationSets>
<transformationSet>
<dir>${basedir}/target/nest/${nest.dist.zip.root.dir}/standalone/configuration</dir>
<dir>${assembly.dir}/${wildfly.dist.zip.root.dir}/standalone/configuration</dir>
<stylesheet>src/main/resources/wildfly/patches/standalone.xsl</stylesheet>
<includes>
<include>standalone.xml</include>
</includes>
<outputDir>${basedir}/target/distro-resources/standalone/configuration</outputDir>
<outputDir>${assembly.dir}/${wildfly.dist.zip.root.dir}/standalone/configuration</outputDir>
<parameters>
<parameter>
<name>kettle.build.type</name>
Expand Down Expand Up @@ -227,6 +326,7 @@
</execution>
</executions>
</plugin>

<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
Expand Down Expand Up @@ -293,7 +393,7 @@
<configuration>
<target>
<unzip src="${project.build.directory}/${project.build.finalName}-distribution.zip" dest="${project.build.directory}" />
<chmod dir="${project.build.directory}/${nest.dist.zip.root.dir}/bin" includes="*.sh"
<chmod dir="${project.build.directory}/${wildfly.dist.zip.root.dir}/bin" includes="*.sh"
perm="u+x" type="file" />
</target>
</configuration>
Expand Down

0 comments on commit 84ed6f5

Please sign in to comment.