On Aug 7, 2009, at 12:22 AM, Noah Slater wrote:
On Fri, Aug 07, 2009 at 12:10:45AM -0500, Curt Arnold wrote:
Apache Maven is implemented in Java, but the Maven master and its
mirrors aren't limited to delivering Java byte code and could deliver
source or beam files.
Interesting.
The make file could download the dependencies using curl or wget.
or with any other http client in addition to Maven and other Maven
repo aware tools like Ivy (http://ant.apache.org/ivy).
Hmm, that is an interesting proposal.
If mochiweb, ibrowse and erlang_auth have formal releases, a project
descriptor could be prepared for them and the descriptor and the
release
could be uploaded to the master repo. If they don't, we could engage
with them to coordinate releases.
Do you mean via Maven repository?
Thanks,
The guide to publishing things to the central repo is
http://maven.apache.org/guides/mini/guide-central-repository-upload.html
There is an plugin for Erlang development tasks at http://sourceforge.net/projects/maven-erlang/
. Article at http://www.trapexit.org/Maven_and_Erlang
The ideal solution would be to have the original maintainers publish
their releases so they are sync'd to the central repo. If not, it is
possible for a third-party to package the software, but better if the
project does it itself.
The Maven search strategy is multi-layered and I may have missed some
steps, but the general idea is:
Check $M2_HOME/conf/settings.xml and ${user.home}/.m2/settings.xml for
configuration settings like location of local repository directory and
remote repository URL.
build a path from the local repository directory, the groupID
(org.apache.foobar), artifactID (foobar), version and package type
(.jar, .tar.gz, deb, etc) and see if the artifact is already in the
local repo. A typical path would be ~/.m2/repository/
org.apache.foobar/foobar/1.0/foobar-1.0-src.jar.
If not found locally, check the configured repos, then central repo (http://repo1.maven.org
) or a mirror declared in settings.xml.
To work with an unreleased version, you'd download the source and then
run "mvn install" which would install 1.5-SNAPSHOT into your local
repo if the upcoming version number was 1.5. If your project had an
explict dependency on 1.4 or whatever, you'd need to change it in your
project description or override it.
I'll try to take the Erlang plugin for a ride tomorrow and report back.