1
votes

We lost our ivy repository for 3rd party libraries (a lot of them). The only thing we have is the ivy cache sitting on a build agent. Now we decide to move to Artifactory, ivy:install can copy dependencies from a repo to another, but ivy cache is not a repo. In addition, the ivy cache keeps all versions of a jar file under the same directory (ivy cache default pattern) - [organization]/[module]/[type]s/ (no revision). But we'd like to sort them out into different directories - [organization]/[module]/[revision]/[type]s/.

After doing this, should the new repo in artifactory function the same as any other repository? In other words, do I miss anything by creating a repository in this way?

Any help is greatly appreciated.

1

1 Answers

1
votes

You can create a new repository layout in Artifactory that will match the Ivy cache layout:

[org]/[module]/[type]s/[module](-[classifier])-[baseRev](-[fileItegRev]).[ext]

Then create a new local repository configured with the Ivy cache layout and import the content of your Ivy cache into the new local repository.
Finally create a new virtual repository configured with the default Ivy layout and include the local repository you created. The virtual repository will perform the transformation between the Ivy cache layout and the Ivy default layout. You will need to configure Ivy to resolve artifacts from the virtual repository. In addition you will be able to include other Ivy repositories in this virtual.