- The default target platform is now the server distribution, so the package.xml file of a Nuxeo package must contain:
<platforms>
<platform>server-@DISTRIB_VERSION@</platform>
<platform>server-@DISTRIB_VERSION@-*</platform>
</platforms>
- If a Nuxeo package depends on the nuxeo-jsf-ui package at runtime then it needs to be added as a dependency in package.xml:
<dependencies>
<package>nuxeo-jsf-ui</package>
</dependencies>
- If a Nuxeo package can be installed on a server distribution with or without the nuxeo-jsf-ui package, the package.xml file must contain an optional dependency:
<optional-dependencies>
<package>nuxeo-jsf-ui</package>
</optional-dependencies>
and the package assembly needs to handle the split of the
bundles and libs into the bundles/bundles-jsf-ui/bundles-web-ui and lib/lib-jsf-ui/lib-web-ui directories of the package. See for example marketplace-dam, marketplace-drive, marketplace-quota, etc.
Same thing about the nuxeo-web-ui package.
Consequently, if the functional tests of a Nuxeo package need to be run against a distribution including the nuxeo-jsf-ui package, it needs to be specified explicitely in the itests.xml file:
<property name="mp.install" value="file:${out.dir}/nuxeo-marketplace-jsf-ui-${maven.project.version}.zip" />
...
<target name="XXX">
<copy todir="${out.dir}">
<artifact:file key="org.nuxeo.ecm.distribution:nuxeo-marketplace-jsf-ui::zip" />
</copy>
</target>
having the following dependency in the pom.xml:
<dependency>
<groupId>org.nuxeo.ecm.distribution</groupId>
<artifactId>nuxeo-marketplace-jsf-ui</artifactId>
<type>zip</type>
<scope>provided</scope>
</dependency>