Archiva
  1. Archiva
  2. MRM-1352

Natively support Ivy repository format

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.3
    • Fix Version/s: 2.3.0
    • Component/s: None
    • Labels:
      None
    • Environment:
      RedHat Enterprise Linux 4

      Description

      This is just an example. I cannot get Archiva to purge the repository at all. Group id is "atmel", artifact id is "avrasm2" and version is "2.1.39.83".

      Consumer repository-purge had an error when processing file /storage/archiva/data/continuous/atmel/avrasm2/2.1.39.83/ivy-2.1.39.83.xml:
      Invalid path to Artifact: filename format is invalid, should start with artifactId as stated in path.

      1. archiva-MRM-1352.patch
        5 kB
        Per Arnold Blaasmo
      2. archiva-MRM-1352.patch
        5 kB
        Per Arnold Blaasmo

        Activity

        Torkild U. Resheim created issue -
        Hide
        Brett Porter added a comment -

        does it prevent further purging occuring, or is it just that it errors on that file?

        Show
        Brett Porter added a comment - does it prevent further purging occuring, or is it just that it errors on that file?
        Hide
        Torkild U. Resheim added a comment -

        It throws an exception on all the files in the repository so it appears that it does not prevent further purging.

        Show
        Torkild U. Resheim added a comment - It throws an exception on all the files in the repository so it appears that it does not prevent further purging.
        Hide
        Brett Porter added a comment -

        so this is a repository in native Ivy format? That is not currently supported

        Show
        Brett Porter added a comment - so this is a repository in native Ivy format? That is not currently supported
        Hide
        Brett Porter added a comment -

        I've changed the description accordingly. We now have the ability on trunk to add different repository types more easily, and will look to provide instructions with 1.4 if you want to write a plugin for this.

        In the mean time, you can disable purging, or using a repository in Maven 2.x format with Ivy.

        Show
        Brett Porter added a comment - I've changed the description accordingly. We now have the ability on trunk to add different repository types more easily, and will look to provide instructions with 1.4 if you want to write a plugin for this. In the mean time, you can disable purging, or using a repository in Maven 2.x format with Ivy.
        Brett Porter made changes -
        Field Original Value New Value
        Summary Repository purge always fails Natively support Ivy repository format
        Fix Version/s Backlog [ 13571 ]
        Hide
        Torkild U. Resheim added a comment -

        Great. Please point me to the documentation and I'll see if I can add this plug-in.

        Show
        Torkild U. Resheim added a comment - Great. Please point me to the documentation and I'll see if I can add this plug-in.
        Hide
        Brett Porter added a comment -

        trunk is currently undergoing some heavy work to facilitate this - I suggest subscribing to dev@archiva.apache.org if you are interested in this and not prepared to wait for the 1.4 release. I'll ping this issue as soon as the documentation for the repository API is up to date.

        Show
        Brett Porter added a comment - trunk is currently undergoing some heavy work to facilitate this - I suggest subscribing to dev@archiva.apache.org if you are interested in this and not prepared to wait for the 1.4 release. I'll ping this issue as soon as the documentation for the repository API is up to date.
        Hide
        Per Arnold Blaasmo added a comment -

        I am in need for this fix, and would like to have a go on making a fix/plugin for it.
        I am normally working in Eclipse. Do you have a link or description of how to set up a development environment for Archiva and plugins?
        I have the Maven Integration plugin in Eclipse installed.

        Show
        Per Arnold Blaasmo added a comment - I am in need for this fix, and would like to have a go on making a fix/plugin for it. I am normally working in Eclipse. Do you have a link or description of how to set up a development environment for Archiva and plugins? I have the Maven Integration plugin in Eclipse installed.
        Hide
        Brett Porter added a comment -

        great!

        We have some instructions here that would be fairly similar: https://cwiki.apache.org/confluence/display/ARCHIVA/Setting+up+Archiva+in+Eclipse+with+Q4E

        But realistically, you shouldn't need to do anything special - import the Maven projects, and use your favourite tools for running the WARs (or use mvn jetty:run in the webapp). Most of the dev/unit testing won't require this anyway.

        Feel free to drop us a note on dev@archiva.apache.org if you have any questions.

        Show
        Brett Porter added a comment - great! We have some instructions here that would be fairly similar: https://cwiki.apache.org/confluence/display/ARCHIVA/Setting+up+Archiva+in+Eclipse+with+Q4E But realistically, you shouldn't need to do anything special - import the Maven projects, and use your favourite tools for running the WARs (or use mvn jetty:run in the webapp). Most of the dev/unit testing won't require this anyway. Feel free to drop us a note on dev@archiva.apache.org if you have any questions.
        Hide
        Tomas Roos added a comment -

        Any news on this ?

        Brett: Is the support in the 1.4 ready for the plugin-based repository format?
        Per Arnold: Any news about your progress?

        I might even think of doing this myself but my experience in java development isn't that big but i see a really big need for this in the community around.

        Show
        Tomas Roos added a comment - Any news on this ? Brett: Is the support in the 1.4 ready for the plugin-based repository format? Per Arnold: Any news about your progress? I might even think of doing this myself but my experience in java development isn't that big but i see a really big need for this in the community around.
        Hide
        Brett Porter added a comment -

        The documentation is up to date, though could surely use some more details specific to this. The best approach is for someone to just have a go at it, and we can discuss the details on dev@archiva

        Show
        Brett Porter added a comment - The documentation is up to date, though could surely use some more details specific to this. The best approach is for someone to just have a go at it, and we can discuss the details on dev@archiva
        Hide
        Tomas Roos added a comment -

        Hey Brett!

        I was thinking about creating a support ivy repositories now.
        Is there any available documentation as you mentioned in the last post. Is there javadocs were talking about or where can i find some documentation before coding the interfaces?

        Also i have one question. Why is there almost no implementation in the maven1-repository though alot in the maven2.

        Could you say that maven1 is the foundation and that maven2 support is built ontop of the maven1 support? In this case i guess i will need to implement the classes available in the maven2-repo ? Any more concrete pointers you could give me?

        Show
        Tomas Roos added a comment - Hey Brett! I was thinking about creating a support ivy repositories now. Is there any available documentation as you mentioned in the last post. Is there javadocs were talking about or where can i find some documentation before coding the interfaces? Also i have one question. Why is there almost no implementation in the maven1-repository though alot in the maven2. Could you say that maven1 is the foundation and that maven2 support is built ontop of the maven1 support? In this case i guess i will need to implement the classes available in the maven2-repo ? Any more concrete pointers you could give me?
        Hide
        Brett Porter added a comment -

        Great! The docs are here: http://archiva.apache.org/ref/1.4-SNAPSHOT/
        They need to be republished, which I'll do now. You can also generate them from the archiva-modules directory
        There are some older ones on the wiki.

        maven1-repository (and maven2-repository) is still in progress of being factored out. You're better to look at maven2, and I'll try and take notes when I work on them.

        I'll try and gather some notes to share on this specifically. If you are on dev@archiva or IRC let us know if we can help out as you have a go at it.

        Show
        Brett Porter added a comment - Great! The docs are here: http://archiva.apache.org/ref/1.4-SNAPSHOT/ They need to be republished, which I'll do now. You can also generate them from the archiva-modules directory There are some older ones on the wiki. maven1-repository (and maven2-repository) is still in progress of being factored out. You're better to look at maven2, and I'll try and take notes when I work on them. I'll try and gather some notes to share on this specifically. If you are on dev@archiva or IRC let us know if we can help out as you have a go at it.
        Hide
        Tomas Roos added a comment -

        Sure i will join the dev@archiva mailing list.
        Which channel/network is it on IRC ?

        Show
        Tomas Roos added a comment - Sure i will join the dev@archiva mailing list. Which channel/network is it on IRC ?
        Hide
        Brett Porter added a comment -

        #archiva on irc.codehaus.org

        Show
        Brett Porter added a comment - #archiva on irc.codehaus.org
        Olivier Lamy (*$^¨%`£) made changes -
        Fix Version/s Backlog [ 13571 ]
        Fix Version/s 1.4 [ 16133 ]
        Hide
        Per Arnold Blaasmo added a comment -

        We are in desperate need to have this supported now, so I will start today and give it a try to work on it. I will probably need some support from some of you core developers and will connect to the irc ASAP.

        Show
        Per Arnold Blaasmo added a comment - We are in desperate need to have this supported now, so I will start today and give it a try to work on it. I will probably need some support from some of you core developers and will connect to the irc ASAP.
        Hide
        Per Arnold Blaasmo added a comment -

        Patch to support ivy medadata files.

        Show
        Per Arnold Blaasmo added a comment - Patch to support ivy medadata files.
        Per Arnold Blaasmo made changes -
        Attachment archiva-MRM-1352.patch [ 60425 ]
        Hide
        Per Arnold Blaasmo added a comment -

        Well, after working on an of for a while with this and trying to make add a plugin for IVY support I decided to just make a small patch to the maven 2 plugin to support ivy metadata file that has the names 'ivy-<version>.xml' name format.

        Adding a ivy-repository plugin needs more work and changes in more fundamental parts of archiva to support different repository types other than maven.

        I hope you find it useful.

        Improvements would be:

        • Add ivy support as a separate plugin.
        • Be able to fetch meta data from the Ivy file.
        • Add property that makes it possible to have different name structure for the ivy file (see artifactory for an example).
        • Add property that makes it possible to have different name structures of the artifacts and repository layout. (see artifactory for an example)
        Show
        Per Arnold Blaasmo added a comment - Well, after working on an of for a while with this and trying to make add a plugin for IVY support I decided to just make a small patch to the maven 2 plugin to support ivy metadata file that has the names 'ivy-<version>.xml' name format. Adding a ivy-repository plugin needs more work and changes in more fundamental parts of archiva to support different repository types other than maven. I hope you find it useful. Improvements would be: Add ivy support as a separate plugin. Be able to fetch meta data from the Ivy file. Add property that makes it possible to have different name structure for the ivy file (see artifactory for an example). Add property that makes it possible to have different name structures of the artifacts and repository layout. (see artifactory for an example)
        Hide
        Per Arnold Blaasmo added a comment -

        Patch to add ivy metadata file recognition.

        Show
        Per Arnold Blaasmo added a comment - Patch to add ivy metadata file recognition.
        Per Arnold Blaasmo made changes -
        Attachment archiva-MRM-1352.patch [ 60426 ]
        Hide
        Olivier Lamy (*$^¨%`£) added a comment -

        cool.
        Any unit tests ?

        Show
        Olivier Lamy (*$^¨%`£) added a comment - cool. Any unit tests ?
        Hide
        Per Arnold Blaasmo added a comment -

        No, I did not make any unit test
        But I can try to add a couple.

        Show
        Per Arnold Blaasmo added a comment - No, I did not make any unit test But I can try to add a couple.
        Olivier Lamy (*$^¨%`£) made changes -
        Fix Version/s 2.0.1 [ 16133 ]
        Fix Version/s 2.0.2 [ 20129 ]
        Olivier Lamy (*$^¨%`£) made changes -
        Fix Version/s 2.1.0 [ 20146 ]
        Fix Version/s 2.0.2 [ 20129 ]
        Olivier Lamy (*$^¨%`£) made changes -
        Fix Version/s 2.1.0 [ 20146 ]
        Fix Version/s 2.1.1 [ 20331 ]
        Olivier Lamy (*$^¨%`£) made changes -
        Fix Version/s 2.1.2 [ 20549 ]
        Fix Version/s 2.1.1 [ 20331 ]
        Olivier Lamy (*$^¨%`£) made changes -
        Fix Version/s 2.2.0 [ 20570 ]
        Fix Version/s 2.1.2 [ 20549 ]
        Olivier Lamy (*$^¨%`£) made changes -
        Fix Version/s 2.2.0 [ 20570 ]
        Fix Version/s 2.3.0 [ 20784 ]
        Mark Thomas made changes -
        Project Import Sun Apr 05 08:30:08 UTC 2015 [ 1428222608952 ]
        Mark Thomas made changes -
        Workflow jira [ 12708168 ] Default workflow, editable Closed status [ 12737690 ]
        Mark Thomas made changes -
        Project Import Sun Apr 05 21:01:51 UTC 2015 [ 1428267711911 ]
        Mark Thomas made changes -
        Workflow jira [ 12945063 ] Default workflow, editable Closed status [ 12982413 ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Torkild U. Resheim
          • Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:

              Development