[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Repository organization for complex project

From: David Weintraub <qazwart_at_gmail.com>
Date: Thu, 14 Oct 2010 16:11:50 -0400

What? You want a GOOD Maven manual? Real programmers don't use
manuals. We hack away for years in frustration and futility until we
die.

Maven is one of the WORST Unix documented projects I've seen. I know
of only two books: Maven: The Definitive Guide
<http://www.sonatype.com/books/maven-book/> and Better Builds with
Maven <http://www.maestrodev.com/support>. Better Builds with Maven
was full of errors both grammatical and technical. Maven: The
Definitive Guide is a bit better.

(Do not use "Maven, A Developer's Notebook" because this is for an
obsolete version of Maven. It's like learning Unix administration from
a MS-DOS 3.1 manual.)

The documentation on the Maven website itself is awful. It looks like
someone said "We have a Wiki
<http://docs.codehaus.org/display/MAVENUSER/Home>! Documentation
complete!

Fortunately, you don't really have to know too much about Maven if
you're not a Java developer. The intricacies of the pom.xml file don't
concern you. Possibly, the only Maven command you really have to know
is "mvn deploy:deploy-file" which doesn't require a pom.xml file
<http://maven.apache.org/plugins/maven-deploy-plugin/deploy-file-mojo.html>.
And, if that command concerns you too much, you can simply revert to
"curl".

You do have to understand the Maven repository layout which is a
fairly straight forward hierarchal affair and both Nexus and
Artifactory cover that pretty well.

On Thu, Oct 14, 2010 at 2:42 PM, Les Mikesell <lesmikesell_at_gmail.com> wrote:
> On 10/14/2010 8:24 AM, David Weintraub wrote:
>>
>> On Thu, Oct 14, 2010 at 3:39 AM, Stephen Connolly
>> <stephen.alan.connolly_at_gmail.com>  wrote:
>>>
>>> Our C/C++ guys just use curl to POST the binaries to Nexus over
>>> http... we also POST the .pom file and the .md5 and .sha1 files...
>>> that is because one of their build toolchain envs cannot have Java on
>>> it... Nexus will rebuild the metadata.xml files for you, so all you
>>> really need is to post the .pom and the e.g. .so and the .pom.md5,
>>> .pom.sha1, .so.md5 and .so.sha1 files and you're done.
>>
>> I would think that you'd need whatever protocol Maven uses to actually
>> put files on the repository. I guess the Maven protocol is simpler
>> than I thought and simply uses webdav authentication and the mvn
>> file::deploy simply calculates the URL for you.
>>
>> That's good to know. That means you can replace all of Maven with some
>> fairly simple shell scripts using curl. Then in a non-Java project,
>> all the Maven repositories do is provide a nice interface for
>> searching and administration of a HTTP based repository.
>
> Is there a maven-for-dummies reference somewhere that would make a good
> starting point for how the repository is supposed to work?  I tend to get
> lost easily with java-like things that have a bazillion separate config
> files all over the place.  Also, is mirroring/redundancy built into the
> design?
>
> --
>  Les Mikesell
>   lesmikesell_at_gmail.com
>

-- 
David Weintraub
qazwart_at_gmail.com
Received on 2010-10-14 22:12:49 CEST

This is an archived mail posted to the Subversion Users mailing list.