Ivy Artifactory Plug-in
  1. Ivy Artifactory Plug-in
  2. IAP-26

Artifact pattern not respected when publishing Ivy artifacts to Artifactory

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Normal Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0
    • Labels:
      None

      Description

      Hudson v1.393, Ivy plugin v1.14, Artifactory plugin v1.4.1, Artifactory v2.3.1

      I have in Hudson an Ivy project, described by the followed ivy.xml :

      <ivy-module version="2.0">
      <info organisation="fr.diplomatie.gouv" module="TestIvy"/>
      <configurations>
      <conf name="build" description="Default"/>
      <conf name="compile" extends="build" description="Compile"/>
      <conf name="test" extends="compile" visibility="private" description="Test"/>
      </configurations>
      <publications>
      <artifact name="dynamique" type="xml" conf="build" ext="xml"/>
      <artifact name="dynamique" type="properties" conf="build" ext="properties"/>
      <artifact name="TestIvy" type="war" conf="build" ext="war"/>
      </publications>
      <dependencies defaultconf="->,!sources,!javadoc">
      <dependency org="acube" name="fwacubej2ee" rev="3.2.1" transitive="true" conf="build->default"/>
      <dependency org="tomcat" name="servlet-api" rev="5.5.23" transitive="false" conf="compile->default"/>
      <dependency org="tomcat" name="jsp-api" rev="5.5.23" transitive="false" conf="compile->default"/>
      </dependencies>
      </ivy-module>

      In the build.xml file of the project, a "publish" task publish the artifacts to the local file cache repository, which is intercepted by the plugin to publish in my Artifactory repository.
      Here's the configuration of the publication in the project options in Hudson :

      Ivy Pattern : [organisation]/[module]/[revision]/ivy.xml
      Artifact Pattern : "[organisation]/[module]/[revision]/[type]/[artifact].[ext]"

      The publication in the local repository works just fine, but when publishing to Artifactory, somehow the artifact pattern is not respected and the module name is used instead of the artifect name. See the build log following :

      [ivy:publish] :: publishing :: fr.diplomatie.gouv#TestIvy Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/dynamique.xml

      [ivy:publish] published dynamique to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/xmls/dynamique.xml Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/dynamique.properties

      [ivy:publish] published dynamique to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/propertiess/dynamique.properties Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/TestIvy.war

      [ivy:publish] published TestIvy to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/wars/TestIvy.war Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/ivy.xml

      [ivy:publish] published ivy to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/ivys/ivy.xml Build finished triggered Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/xml/TestIvy.xml

      Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/ivy.xml

      Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/properties/TestIvy.properties

      Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/war/TestIvy.war

      Deploying build info to: http://ci.diplomatie.gouv.fr:8080/artifactory/api/build

      Instead of having dynamique.xml and dynamique.properties, like described in the ivy.xml file, I have in Artifactory TestIvy.xml and TextIvy.properties.

      Any clue on what's happening?

        Activity

        Jean-Philippe Wilsch
        made changes -
        Field Original Value New Value
        Description Hudson v1.393, Ivy plugin v1.14, Artifactory plugin v1.4.1, Artifactory v2.3.1

        I have in Hudson an Ivy project, described by the followed ivy.xml :

        {quote}
        <ivy-module version="2.0">
           <info organisation="fr.diplomatie.gouv" module="TestIvy"/>
           <configurations>
        <conf name="build" description="Default"/>
        <conf name="compile" extends="build" description="Compile"/>
        <conf name="test" extends="compile" visibility="private" description="Test"/>
        </configurations>
        <publications>
        <artifact name="dynamique" type="xml" conf="build" ext="xml"/>
             <artifact name="dynamique" type="properties" conf="build" ext="properties"/>
             <artifact name="TestIvy" type="war" conf="build" ext="war"/>
            </publications>
        <dependencies defaultconf="*->*,!sources,!javadoc">
             <dependency org="acube" name="fwacubej2ee" rev="3.2.1" transitive="true" conf="build->default"/>
             <dependency org="tomcat" name="servlet-api" rev="5.5.23" transitive="false" conf="compile->default"/>
             <dependency org="tomcat" name="jsp-api" rev="5.5.23" transitive="false" conf="compile->default"/>
            </dependencies>
        </ivy-module>
        {quote}

        In the build.xml file of the project, a "publish" task publish the artifacts to the local file cache repository, which is intercepted by the plugin to publish in my Artifactory repository.
        Here's the configuration of the publication in the project options in Hudson :

        {quote}
        Ivy Pattern : [organisation]/[module]/[revision]/ivy.xml
        Artifact Pattern : "[organisation]/[module]/[revision]/[type]/[artifact].[ext]"
        {quote}

        The publication in the local repository works just fine, but when publishing to Artifactory, somehow the artifact pattern is not respected and the module name is used instead of the artifect name. See the build log following :

        {quote}
        [ivy:publish] :: publishing :: fr.diplomatie.gouv#TestIvy Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/dynamique.xml [ivy:publish] published dynamique to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/xmls/dynamique.xml Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/dynamique.properties [ivy:publish] published dynamique to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/propertiess/dynamique.properties Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/TestIvy.war [ivy:publish] published TestIvy to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/wars/TestIvy.war Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/ivy.xml [ivy:publish] published ivy to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/ivys/ivy.xml Build finished triggered Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/xml/TestIvy.xml
        Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/ivy.xml Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/properties/TestIvy.properties
        Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/war/TestIvy.war
        Deploying build info to: http://ci.diplomatie.gouv.fr:8080/artifactory/api/build
        {quote}

        Instead of having dynamique.xml and dynamique.properties, like described in the ivy.xml file, I have in Artifactory TestIvy.xml and TextIvy.properties.

        Any clue on what's happening?
        Hudson v1.393, Ivy plugin v1.14, Artifactory plugin v1.4.1, Artifactory v2.3.1

        I have in Hudson an Ivy project, described by the followed ivy.xml :

        {quote}
        <ivy-module version="2.0">
           <info organisation="fr.diplomatie.gouv" module="TestIvy"/>
           <configurations>
        <conf name="build" description="Default"/>
        <conf name="compile" extends="build" description="Compile"/>
        <conf name="test" extends="compile" visibility="private" description="Test"/>
        </configurations>
        <publications>
        <artifact name="dynamique" type="xml" conf="build" ext="xml"/>
             <artifact name="dynamique" type="properties" conf="build" ext="properties"/>
             <artifact name="TestIvy" type="war" conf="build" ext="war"/>
            </publications>
        <dependencies defaultconf="*->*,!sources,!javadoc">
             <dependency org="acube" name="fwacubej2ee" rev="3.2.1" transitive="true" conf="build->default"/>
             <dependency org="tomcat" name="servlet-api" rev="5.5.23" transitive="false" conf="compile->default"/>
             <dependency org="tomcat" name="jsp-api" rev="5.5.23" transitive="false" conf="compile->default"/>
            </dependencies>
        </ivy-module>
        {quote}

        In the build.xml file of the project, a "publish" task publish the artifacts to the local file cache repository, which is intercepted by the plugin to publish in my Artifactory repository.
        Here's the configuration of the publication in the project options in Hudson :

        {quote}
        Ivy Pattern : [organisation]/[module]/[revision]/ivy.xml
        Artifact Pattern : "[organisation]/[module]/[revision]/[type]/[artifact].[ext]"
        {quote}

        The publication in the local repository works just fine, but when publishing to Artifactory, somehow the artifact pattern is not respected and the module name is used instead of the artifect name. See the build log following :

        {quote}
        [ivy:publish] :: publishing :: fr.diplomatie.gouv#TestIvy Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/dynamique.xml

        [ivy:publish] published dynamique to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/xmls/dynamique.xml Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/dynamique.properties

        [ivy:publish] published dynamique to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/propertiess/dynamique.properties Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/TestIvy.war

        [ivy:publish] published TestIvy to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/wars/TestIvy.war Collecting Module information for module: TestIvy Module location: /var/local/hudson/jobs/TestIvy/workspace/livrable/CONFIG-PROD/ivy.xml

        [ivy:publish] published ivy to /usr/share/tomcat5.5/.ivy2/local/fr.diplomatie.gouv/TestIvy/1.0/ivys/ivy.xml Build finished triggered Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/xml/TestIvy.xml

        Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/ivy.xml

        Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/properties/TestIvy.properties

        Deploying artifact: http://ci.diplomatie.gouv.fr:8080/artifactory/apps-release-local/fr.diplomatie.gouv/TestIvy/1.0/war/TestIvy.war

        Deploying build info to: http://ci.diplomatie.gouv.fr:8080/artifactory/api/build
        {quote}

        Instead of having dynamique.xml and dynamique.properties, like described in the ivy.xml file, I have in Artifactory TestIvy.xml and TextIvy.properties.

        Any clue on what's happening?
        Yoav Landman
        made changes -
        Fix Version/s 1.4.2 [ 10528 ]
        Tomer Cohen
        made changes -
        Project Hudson Artifactory Plug-in [ 10161 ] Ivy Artifactory Plug-in [ 10170 ]
        Key HAP-134 IAP-26
        Affects Version/s 1.4.1 [ 10527 ]
        Component/s Ivy [ 10390 ]
        Fix Version/s 1.2.0 [ 10488 ]
        Fix Version/s 1.4.2 [ 10528 ]
        Tomer Cohen
        made changes -
        Assignee Yossi Shaul [ yossis ] Tomer Cohen [ cohen.tomer ]
        Tomer Cohen
        made changes -
        Status Open [ 1 ] In Progress [ 3 ]
        Tomer Cohen
        made changes -
        Status In Progress [ 3 ] Pending QA [ 10000 ]
        Hide
        Jean-Philippe Wilsch
        added a comment -

        Any news on this?

        I'm suprised it has been moved to the Ivy Artifactory Plugin, as I'm not using it, and the problem seems related to the Artifactory Hudson Plugin.

        As it may be confusing, when I mentioned Ivy Plugin in the description of the bug, I meant the Ivy Huson Plugin, and not the Ivy Artifactory Plugin.

        Show
        Jean-Philippe Wilsch
        added a comment - Any news on this? I'm suprised it has been moved to the Ivy Artifactory Plugin, as I'm not using it, and the problem seems related to the Artifactory Hudson Plugin. As it may be confusing, when I mentioned Ivy Plugin in the description of the bug, I meant the Ivy Huson Plugin, and not the Ivy Artifactory Plugin.
        Eli Givoni
        made changes -
        Status Pending QA [ 10000 ] Resolved [ 5 ]
        Resolution Fixed [ 1 ]
        Hide
        Jean-Philippe Wilsch
        added a comment -

        Just saw this bug is now resolved, thanks Eli.

        But I'm still confused about how this bug applied to the Ivy Artifactory Plugin, as I'm not using it (or maybe I am without knowing).

        What actually is the Ivy Artifactory Plugin BTW? Is that a plugin for Ivy? A plugin for Artifactory? How can I use it to solve my originaly described problem?

        Thanks again for the work on this subject

        Show
        Jean-Philippe Wilsch
        added a comment - Just saw this bug is now resolved, thanks Eli. But I'm still confused about how this bug applied to the Ivy Artifactory Plugin, as I'm not using it (or maybe I am without knowing). What actually is the Ivy Artifactory Plugin BTW? Is that a plugin for Ivy? A plugin for Artifactory? How can I use it to solve my originaly described problem? Thanks again for the work on this subject
        Hide
        Tomer Cohen
        added a comment -

        The plugin that runs from Hudson actually delegates its work to this plugin which runs as a part of the Ant/Ivy process. It is agnostic to the build server which allows it to be run from Hudson, Teamcity, and Bamboo.

        Show
        Tomer Cohen
        added a comment - The plugin that runs from Hudson actually delegates its work to this plugin which runs as a part of the Ant/Ivy process. It is agnostic to the build server which allows it to be run from Hudson, Teamcity, and Bamboo.
        Hide
        Jean-Philippe Wilsch
        added a comment -

        Thanks Tomer for this input.

        Can you explain me where and how will I be able to upgrade this plugin when the 1.2.0 version will be out? (Is there a planned release date for this version?)

        Show
        Jean-Philippe Wilsch
        added a comment - Thanks Tomer for this input. Can you explain me where and how will I be able to upgrade this plugin when the 1.2.0 version will be out? (Is there a planned release date for this version?)
        Hide
        Eli Givoni
        added a comment -

        Hi Jean-Philippe,
        There is still no release date for the next plugin version, however you can download the current ivy extractor SNAPSHOT
        from here: http://repo.jfrog.org/artifactory/libs-snapshots-local/org/jfrog/buildinfo/build-info-extractor-ivy/1.1.x-SNAPSHOT/build-info-extractor-ivy-1.1.x-SNAPSHOT.jar , it is currently the latest 1.1.0 release with only this issue fix in it. Upgrade your Artifactory plugin to the latest 1.4.2 version, just replace this jar with the one in the .hudson/plugins/artifactory/WEB-INF/lib

        HTH,

        Eli
        The Artifactory team

        Show
        Eli Givoni
        added a comment - Hi Jean-Philippe, There is still no release date for the next plugin version, however you can download the current ivy extractor SNAPSHOT from here: http://repo.jfrog.org/artifactory/libs-snapshots-local/org/jfrog/buildinfo/build-info-extractor-ivy/1.1.x-SNAPSHOT/build-info-extractor-ivy-1.1.x-SNAPSHOT.jar , it is currently the latest 1.1.0 release with only this issue fix in it. Upgrade your Artifactory plugin to the latest 1.4.2 version, just replace this jar with the one in the .hudson/plugins/artifactory/WEB-INF/lib HTH, Eli The Artifactory team
        Hide
        Jean-Philippe Wilsch
        added a comment -

        Thanks to you for the help, I've been able to patch the artifactory plugin with this jar and that's working now.

        Thanks to the Artifactory team for the great support, you rock!

        Show
        Jean-Philippe Wilsch
        added a comment - Thanks to you for the help, I've been able to patch the artifactory plugin with this jar and that's working now. Thanks to the Artifactory team for the great support, you rock!

          People

          • Assignee:
            Tomer Cohen
            Reporter:
            Jean-Philippe Wilsch
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: