Uploaded image for project: 'Nuxeo Platform'
  1. Nuxeo Platform
  2. NXP-20939

Update packages to rely on Nuxeo Server instead of CAP

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 8.10
    • Tags:
    • Upgrade notes:
      Hide
      • 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>

      Show
      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. As stated in https://jira.nuxeo.com/browse/NXP-19790 and https://jira.nuxeo.com/browse/NXBT-1351 , the default distribution used in functional tests is now a simple nuxeo-server-tomcat without the nuxeo-jsf-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>
    • Sprint:
      nxfit 8.10.1, nxfit 8.10.2
    • Story Points:
      3

      Description

      • change target platform to "server-" and remove "-cap"
      • add nuxeo-jsf-ui as a package dependency if needed at runtime
      • install nuxeo-jsf-ui in itests.xml if needed for the tests
      • for splitted packages, like nuxeo-dam, update the package.xml to add the "optional-dependencies" for (to be checked):
        • marketplace-user-registration
        • marketplace-csv
        • marketplace-dam
        • marketplace-drive
        • marketplace-quota
      • Check assemblies + pom: use server instead of cap as base distrib EAR + remove "prepare-jboss" target
      • Handle
        -      <artifactId>nuxeo-distribution-cap-webdriver-tests</artifactId>
        +      <artifactId>nuxeo-jsf-ui-webdriver-tests</artifactId>
        
      • update:
        nuxeo-distribution-tomcat => nuxeo-server-tomcat
        nuxeo-distribution-jsf-ui => nuxeo-nxr-jsf-ui
        nuxeo-distribution-server => nuxeo-nxr-server
      • remove Selenium tests, at least from sample project

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: