Managing a file-based public maven repository
        Posted  
        
            by 
                Roland Ewald
            
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Roland Ewald
        
        
        
        Published on 2012-12-16T10:54:24Z
        Indexed on 
            2012/12/16
            11:03 UTC
        
        
        Read the original article
        Hit count: 1120
        
I am looking for an easy way to manage a public file-based Maven repository. While we are using the open-source version of Artifactory internally, we now want to put a file-based repository of our published artifacts (and their dependencies) on a separate machine that is publicly available.
There are several ways how to do this, but none of them seems ideal:
- Use Maven Dependency plugin: if it is configured correctly and executed with the goal - dependency:copy-dependenciesfor the release-module of our project, it creates a local repository structure that is fine, but this structure does not contain the- meta-data.xmlfiles, nor the hash-sums.
- Use Artifactory to export repo: AFAIK Artifactory only allows to export a repository as a whole. This would include the non-published modules from our project (which would then need to be deleted manually). Also, all dependencies are sitting in another repository, so this needs to be done twice, and many dependencies are not even required by a published artifact (only by artifacts that are still for internal use only). Nevertheless, this method would also include the - meta-data.xmlfiles and the hash-sums for all files.
To set up an initial version of the repository, I used a mixture of both methods: I first created the Maven repository for all required dependencies via dependency:copy-dependencies and then wrote a script to cherry-pick the meta-data.xml files (etc.) from Artifactory.
This is terribly cumbersome, isn't there a better way to solve this? Maybe there is another Maven 3 - plugin that I am unaware of, or some other command-line tool that does the job?
I basically just need a simple way to create a Maven repository that contains all artifacts a given artifact depends on (and no more), and also contains all meta-data expected in a remote repository.
Any ideas?
© Stack Overflow or respective owner