The nuxeo-distribution Module Purpose
The nuxeo-distribution
module is used for the packaging and the high-level testing of the Nuxeo Platform: Nuxeo Server, Nuxeo Static WAR, Nuxeo Shell, Startup Wizard, Functional and Performance Tests...
The key concepts are: assembly, ant-assembly-maven-plugin, NXR, WAR, Nuxeo Package, tools-nuxeo-ftest, WebDriver, Gatling.
With nuxeo-distribution
, you can build from Nuxeo sources, run tests against existing distributions and much more: if you need to assemble your own distribution, you will find in nuxeo-distribution
some resources, templates and samples on which to base your packaging.
You don't need to use the nuxeo-distribution
module if:
- You want a standard Nuxeo distribution: download it manually from http://www.nuxeo.com/downloads/ or with Maven, manually via the online interface or automatically while building.
- You want to customize configuration files: use the Configuration Templates system.
- You want to build your own distribution: rely on the same tools and principles as
nuxeo-distribution
in your own project, with your own Maven Assembly.
You have to use the nuxeo-distribution
module if:
- You want to reproduce the Nuxeo build process.
- You are working on the Nuxeo source code and need a quick feedback on your changes.
- You want to run the Nuxeo main functional or performance test suites against a given distribution.
Read the Nuxeo Core Developer Guide for more information on how to package from sources using or miming nuxeo-distribution
.
The nuxeo-distribution Module Usage and Outputs
The module is used for building and testing. It is executed at the very end of the whole Nuxeo Platform source code build, including the addons, but before the Nuxeo Packages build and tests.
There are several kinds of products built by the nuxeo-distribution
module:
- Static resources like configuration templates.
- The Nuxeo NXR for use in package assemblies.
- The Nuxeo Server Tomcat distribution.
- Standalone products to embed in a final package like the Launcher (aka NuxeoCtl) and the Startup Wizard.
Sample usage:
Build all Nuxeo products without running unit, functional, integration and performance tests:
mvn clean package
mvn clean verify -DskipTests -DskipITs
Build all Nuxeo products running integration tests:
mvn clean verify
Build only the Nuxeo Server Tomcat distribution:
mvn clean package -pl :nuxeo-distribution-tomcat
See the nuxeo-distribution/README.md file for a detailed description of the nuxeo-distribution
module usage and outputs.