Nuxeo Distributions

Updated: July 15, 2024

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, 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 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).

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/ file for a detailed description of the nuxeo-distribution module usage and outputs.