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

Replace wrong use of artifact:resolveFile with artifact:file

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 5.4.2
    • Fix Version/s: 7.4
    • Tags:
    • Upgrade notes:
      Hide

      It is recommended to use artifact:file rather than artifact:resolveFile when we want Maven being aware of the dependency.

      Switching from artifact:resolveFile to artifact:file requires to add the artifact as dependency in the POM. That dependency can have any scope depending on the context (test, provided...).

      Show
      It is recommended to use artifact:file rather than artifact:resolveFile when we want Maven being aware of the dependency. Switching from artifact:resolveFile to artifact:file requires to add the artifact as dependency in the POM. That dependency can have any scope depending on the context (test, provided...).
    • Sprint:
      DevOps Sprint 10

      Description

      When an assembly uses artifact:resolveFile, the resolved artifact will not come from the dependency graph but directly from the Maven repositories.
      It must not be used on artifacts which are produced by the build (ie nuxeo-distribution-tomcat. Else Maven won't be aware of the dependency between the two modules and may not properly order them.

      Instead of artifact:resolveFile, we should use artifact:file and have the wanted artifact in the dependency graph, at least with the "provided" scope.

      For instance, the following change illustrates the resolution:

      diff --git i/nuxeo-distribution/nuxeo-distribution-tomcat/pom.xml w/nuxeo-distribution/nuxeo-distribution-tomcat/pom.xml
      index 60ba582..47c3a3f 100644
      @@ -62,6 +63,13 @@
             <type>zip</type>
             <scope>provided</scope>
           </dependency>
      +    <dependency>
      +      <groupId>org.nuxeo.ecm.distribution</groupId>
      +      <artifactId>nuxeo-distribution-resources</artifactId>
      +      <type>zip</type>
      +      <classifier>doc</classifier>
      +      <scope>provided</scope>
      +    </dependency>
         </dependencies>
       
         <profiles>
      diff --git i/nuxeo-distribution/nuxeo-distribution-tomcat/src/main/assemble/assembly.xml w/nuxeo-distribution/nuxeo-distribution-tomcat/src/main/assemble/assembly.xml
      index 73b1c47..74d6007 100644
      --- i/nuxeo-distribution/nuxeo-distribution-tomcat/src/main/assemble/assembly.xml
      +++ w/nuxeo-distribution/nuxeo-distribution-tomcat/src/main/assemble/assembly.xml
      @@ -77,7 +77,7 @@
           </copy>
       
           <unzip dest="${tomcat}">
      -      <artifact:resolveFile key="org.nuxeo.ecm.distribution:nuxeo-distribution-resources::zip:doc" />
      +      <artifact:file key="org.nuxeo.ecm.distribution:nuxeo-distribution-resources:${nuxeo.distribution.version}:zip:doc" />
           </unzip>
           <copy todir="${tomcat}">
             <fileset dir="src/main/resources/common" />
      

      Side note: ${nuxeo.distribution.version} should not be required in the key, like in the following equivalent sentence:

      -      <artifact:resolveFile key="org.nuxeo.ecm.distribution:nuxeo-distribution-resources::zip:doc" />
      +      <artifact:file groupid="org.nuxeo.ecm.distribution"
      +                     artifactid="nuxeo-distribution-resources"
      +                     type="zip"
      +                     classifier="doc" />
      

      => NXBT-935

      List of assemblies to review:

      ./nuxeo-features/nuxeo-automation/nuxeo-automation-test/itests.xml
      ./nuxeo-distribution/nuxeo-distribution-cap-selenium-tests/itests.xml
      ./nuxeo-distribution/nuxeo-distribution-resources/src/main/assemble/assembly.xml
      ./nuxeo-distribution/nuxeo-distribution-cap-webdriver-tests/itests.xml
      ./nuxeo-distribution/nuxeo-distribution-tomcat/src/main/assemble/assembly.xml
      ./nuxeo-distribution/nuxeo-distribution-cap-funkload-tests/itests.xml
      ./nuxeo-distribution/nuxeo-distribution-cap-funkload-tests/ibench.xml
      ./nuxeo-distribution/nuxeo-distribution-cap-cmis-tests/itests.xml
      ./nuxeo-distribution/nuxeo-distribution-tomcat-wizard-tests/itests.xml
      ./marketplace/marketplace-categorization/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-categorization/ftest/webdriver/itests.xml
      ./marketplace/marketplace-realtime-editor/src/main/assemble/assembly.xml
      ./marketplace/marketplace-shibboleth-login/src/main/assemble/assembly.xml
      ./marketplace/marketplace-webengine-sites/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-webengine-sites/ftest/selenium/itests.xml
      ./marketplace/marketplace-easyshare/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-easyshare/ftest/webdriver/itests.xml
      ./marketplace/marketplace-shared-bookmarks/marketplace-explicit/src/main/assemble/assembly.xml
      ./marketplace/marketplace-shared-bookmarks/ftest/selenium/itests.xml
      ./marketplace/marketplace-csv/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-csv/ftest/webdriver/itests.xml
      ./marketplace/marketplace-quota/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-quota/ftest/webdriver/itests.xml
      ./marketplace/marketplace-indexing-gateway/src/main/assemble/assembly.xml
      ./marketplace/marketplace-amazon-s3/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-amazon-s3/ftest/webdriver/itests.xml
      ./marketplace/marketplace-birt/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-birt/ftest/webdriver/itests.xml
      ./marketplace/marketplace-template-rendering/ftest/webdriver/itests.xml
      ./marketplace/marketplace-template-rendering/package/src/main/assemble/assembly.xml
      ./marketplace/nuxeo-jenkins-report/nuxeo-jenkins-report-mp/src/main/assemble/assembly.xml
      ./marketplace/marketplace-spreadsheet/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-spreadsheet/ftest/webdriver/itests.xml
      ./marketplace/marketplace-scan-importer/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-scan-importer/ftest/webdriver/itests.xml
      ./marketplace/marketplace-hr/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-hr/ftest/webdriver/itests.xml
      ./marketplace/marketplace-diff/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-diff/ftest/webdriver/itests.xml
      ./marketplace/marketplace-imap-connector/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-imap-connector/ftest/webdriver/itests.xml
      ./marketplace/marketplace-box-api/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-box-api/ftest/webdriver/itests.xml
      ./marketplace/marketplace-kerberos-authentication/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-kerberos-authentication/ftest/startup/itests.xml
      ./marketplace/marketplace-drive/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-multi-tenant/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-multi-tenant/ftest/webdriver/itests.xml
      ./marketplace/marketplace-virtualnavigation/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-virtualnavigation/ftest/webdriver/itests.xml
      ./marketplace/marketplace-virtualnavigation/ftest/selenium/itests.xml
      ./marketplace/marketplace-platform-explorer/src/main/assemble/assembly.xml
      ./marketplace/nuxeo-marketplace-sample/marketplace/src/main/assemble/assembly.xml
      ./marketplace/nuxeo-marketplace-sample/marketplace-explicit/src/main/assemble/assembly.xml
      ./marketplace/nuxeo-marketplace-sample/ftest/webdriver/itests.xml
      ./marketplace/nuxeo-marketplace-sample/ftest/selenium/itests.xml
      ./marketplace/nuxeo-marketplace-sample/ftest/funkload/itests.xml
      ./marketplace/marketplace-asset-browser/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-asset-browser/ftest/webdriver/itests.xml
      ./marketplace/marketplace-importer/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-importer/ftest/webdriver/itests.xml
      ./marketplace/marketplace-resources-compat/src/main/assemble/assembly.xml
      ./marketplace/marketplace-signature/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-signature/ftest/selenium/itests.xml
      ./marketplace/marketplace-dam/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-dam/ftest/webdriver/itests.xml
      ./marketplace/marketplace-agenda/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-agenda/ftest/webdriver/itests.xml
      ./marketplace/marketplace-liveconnect/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-liveconnect/ftest/webdriver/itests.xml
      ./marketplace/marketplace-fsexporter/ftest/webdriver/itests.xml
      ./marketplace/marketplace-web-mobile/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-cas2-login/src/main/assemble/assembly.xml
      ./marketplace/marketplace-groups-rights-audit/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-groups-rights-audit/ftest/webdriver/itests.xml
      ./marketplace/marketplace-jbpm/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-jbpm/ftest/selenium/itests.xml
      ./marketplace/marketplace-user-registration/src/main/assemble/assembly.xml
      ./marketplace/marketplace-duoweb-authentication/marketplace/src/main/assemble/assembly.xml
      ./marketplace/marketplace-duoweb-authentication/ftest/webdriver/itests.xml
      ./integration/vcstests.xml
      ./addons/nuxeo-cmf/nuxeo-case-management-integration-tests/itests.xml
      ./addons/nuxeo-drive-server/nuxeo-drive-bench/itests.xml
      ./addons/nuxeo-drive-server/tools/vcstests.xml
      ./addons/nuxeo-platform-faceted-search/nuxeo-platform-faceted-search-ftest/selenium/itests.xml
      ./addons/nuxeo-platform-error-web/ftest/selenium/itests.xml
      ./addons/nuxeo-platform-audit-web-access/marketplace/src/main/assemble/assembly.xml
      ./addons/nuxeo-rss-reader/nuxeo-rss-reader-ftest/itests.xml
      ./addons/nuxeo-platform-forms-layout-demo/ftest/webdriver/itests.xml
      ./addons/nuxeo-platform-forms-layout-demo/ftest/selenium/itests.xml
      

        Attachments

          Issue Links

            Activity

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: