Hi Kevin,
OK, here's the deal.

After RC3 I've made some changes to dependencies - specifically:
* removing the dependency on xom and replacing it with jdom
* replacing some missed javax.* dependencies with geronimo equivalents
* replacing resteasy 1.0.2 (LGPL licensed) with resteasy 2.2 (ALv2 licensed)

All of which means that it's necessary to build Isis at some point without the -o (offline) flag, in order to pull down those new dependencies.

When you did this what you then saw was Maven pulling down dependencies from the apache.snapshot repo. That's fine. Note that those dependencies are also accompanied by a maven-metadata-apache.snapshots.https.xml (eg in each of the subdirectories under ~/.m2/repository/org/apache/isis) file. This holds the timestamps of each of those remote artifacts. However, running "mvn clean install" will *still* also build the Isis artifacts locally; you should see a maven-metadata-local.xml file.

What this means is that we do, indeed, end up with more than one artifact in our local repo that purports to be 0.1.2-incubating-SNAPSHOT, (one from apache.snapshots repo and one built locally), but Maven will compare the timestamps in the respective maven-metadata-[repo].xml files and use the latest one, ie that built locally.

This, at least, is what I understand. I did some googling and found a JIRA issue [1] that seems to confirm this.

To sum up:
if you just do "mvn clean install", then all should be good (and thereafter you can go back to "mvn clean install -o"). Any downloaded Isis apache.snapshot artifacts will be ignored.

Alternatively, you could do "mvn clean install" to bring down the new Isis dependencies, then do your "rm -rf ~/.m2/repository/org/apache/isis" to zap the artifacts downloaded from apache.snapshots, and then do a "mvn clean install -o".

Hope that makes sense,

Cheers
Dan

[1] http://jira.codehaus.org/browse/MNG-5008



On 11/06/2011 10:57, Kevin Meyer - KMZ wrote:
Hi Dan,

The first thing I did after svnup was an
"rm -r ~/.m2/repository/org/apache/isis"

Thereafter, "mvn -o" wouldn't build Isis in trunk, with failures (missing
dependencies) on isis modules.

I have since, through a tedious process of building packages one at a
time (allowing 1 or two isis snapshot downloads), and the few other
external downloads (org.apache.geronimo), been able to build the
whole 0.1.2-incubating-snapshot system.

I'm in the middle of a critical project delivery period, so don't want to
take a chance with deleting the repository/org/apache/isis and trying
again (took about an hour to sort out last night) - perhaps it was the
missing external dependencies that were causing the Isis modules to
fail - but the reported dependency was an Isis one, not the external
ones.

Regards,
Kevin


On 11 Jun 2011 at 8:01, Dan Haywood wrote:

Hi Kevin,

I can't reproduce this on my current workspace, but I'm just pulling
down isis afresh (onto that spare laptop I leant you at the code
retreat), and see if I can reproduce there.
I'll report back presently.

DAn




On 10/06/2011 18:10, Kevin Meyer - KMZ wrote:
Hi,

Is it just me, or is there something really strange happening in trunk at
the moment:

In trunk:

I'm trying to do a "mvn -o clean install", which fails because of missing
isis dependencies!

When I do a "mvn clean install", maven starts fetching snapshots from
repositories:
dflt-0.1.2-incubating-20110609.154158-3.jar
dflt-0.1.2-incubating-20110609.154158-3-tests.jar

etc

Surely this is backwards? I'm trying to build the Isis framework, from
my local trunk, so it shouldn't fetch anything!?!?

Anyone?

Regards,
Kevin

Reply via email to