The nuxeo-distribution Module Purpose
The nuxeo-distribution
module is used for the packaging and the high-level testing of the Nuxeo Platform: Nuxeo CAP Tomcat, Shell, Core Server, Startup Wizard, Functional and Performance Tests...
The key concepts are: CAP, SDK, assembly, ant-assembly-maven-plugin, NXR, WAR, Nuxeo Package, tools-nuxeo-ftest, Selenium, WebDriver, FunkLoad, 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 from http://www.nuxeo.com/downloads/ (manual download only); => Download it from http://maven.nuxeo.org (manually via the online interface or automatically while building with Maven);
- You want to customize configuration files: => Use the template configuration system;
- You want to build your own distribution:
=> Rely on the same tools and principles as
nuxeo-distribution
does but do it from your own project, with your own assembly.
You have to use nuxeo-distribution
module if:
- You want to reproduce the Nuxeo build process,
- You work on 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 Platform source code build, including the addons, but before the Nuxeo Packages build and tests.
There are four kinds of products built by the nuxeo-distribution
module:
- Standalone products to embed in a final package like the Launcher (aka NuxeoCtl), the Startup Wizard.
- Static resources like configuration templates.
- The CAP NXR for use in package assemblies.
- The Nuxeo CAP Tomcat distribution.
Sample usage:
Build all Nuxeo products without running Integration Tests:
mvn clean package
mvn clean verify -DskipTests -DskipITs
Build all Nuxeo products running Integration Tests:
mvn clean verify
Build only the Tomcat distributions
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.