Name: wildfly-build-tools
Owner: wildfly
Description: Wildfly build and provisioning tools
Created: 2014-07-03 17:40:53.0
Updated: 2017-09-01 18:14:53.0
Pushed: 2018-01-16 02:15:18.0
Homepage: null
Size: 501
Language: Java
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This project contains Maven plugins and related tools which are used for building WildFly. The feature-pack-maven-plugin is used to create a lightweight artifact that contains a complete description of a set of server features. The wildfly-server-provisioning-maven-plugin is used to provision the servers creating the full distribution.
The wildfly build process consists of first generating a WildFly 'feature pack', which is a lightweight artifact that contains a complete description of a set of server features. These feature packs can be provisioned into full servers, or used as dependencies for other feature packs. In general the build process will first create a feature pack using the wildfly-feature-pack-build-maven-plugin, and then use the wildfly-server-provisioning-maven-plugin to provision 'thin' and 'fat' servers into the build and dist directories respectively.
Feature packs are assembled from a feature-pack-build.xml file, the schema of which can be found in the sources: https://github.com/wildfly/wildfly-build-tools/blob/master/feature-pack-build-maven-plugin/src/main/resources/
In order to build a feature pack it is necessary to create three directories in the src/main/resources folder:
modules: contains module.xml files. These files should not use <artifact name="${org.hibernate:hibernate-core}"/>
.These artifact references will
be replaced by concrete references to a specific version or a
content: contains files that are copied into the server.
configuration: contains configuration templates that are used to generate server configuration files.
The plugins are configured in the “plugins” section of the pom.
gins>
lugin>
<groupId>org.wildfly.build</groupId>
<artifactId>wildfly-feature-pack-build-maven-plugin</artifactId>
<executions>
<execution>
<id>feature-pack-build</id>
<goals>
<goal>build</goal>
</goals>
<phase>compile</phase>
<configuration>
<config-file>feature-pack-build.xml</config-file>
</configuration>
</execution>
</executions>
plugin>
ugins>
ml
gins>
lugin>
<groupId>org.wildfly.build</groupId>
<artifactId>wildfly-server-provisioning-maven-plugin</artifactId>
<executions>
<execution>
<id>server-provisioning</id>
<goals>
<goal>build</goal>
</goals>
<phase>compile</phase>
<configuration>
<config-file>server-provisioning.xml</config-file>
</configuration>
</execution>
</executions>
plugin>
ugins>
Most of the configuration for each plugin is contained in a separate configuration file defined by the parameter config-file.
The schema for the config file for the wildfly-feature-pack-build-maven-plugin can be found in the sources here: https://github.com/wildfly/wildfly-build-tools/blob/master/feature-pack-build-maven-plugin/src/main/resources/
The schema for the config file for the wildfly-server-provisioning-maven-plugin can be found in the sources here: https://github.com/wildfly/wildfly-build-tools/tree/master/provisioning/src/main/resources
Some example configurations can be found in the wildfly-core and wildfly sources:
WILDFLY_HOME/modules
, next to their module.xml
.WILDFLY_HOME/docs/schema
When provisioning a server from a feature pack, it's can be useful to exclude certain
files from the resulting distribution. This can be done using the
ver-provisioning xmlns="urn:wildfly:server-provisioning:1.1" extract-schemas="true" copy-module-artifacts="true"
extract-schemas-groups="org.jboss.as org.wildfly org.wildfly.core org.jboss.metadata">
eature-packs>
<feature-pack groupId="org.wildfly" artifactId="wildfly-feature-pack" version="${project.version}">
<contents>
<filter pattern="copyright.txt" include="false"/>
<filter pattern="README.txt" include="false"/>
<filter pattern="docs/contrib/*" include="false"/>
</contents>
</feature-pack>
feature-packs>
rver-provisioning>