Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[buckminster-dev] Re: Maven integration available in public site

Carlos Sanchez wrote:
Thomas Hallgren wrote:
Hi Carlos,
I'm not able to connect to the SVN repo. It requires a password.

sorry it's without the s
http://q4e.googlecode.com/svn/trunk

Thanks. I was able to get it into my workspace and compile it. Any chance I can get committer access to this repo so that I can keep it up to date with the changes in Buckminster 0.2.0?

Does this mean that all of Maven 2.1 is finally released? The IP-process
for getting it all into Eclipse still awaits that release.

no it uses the revision 549510 in apache svn. It is an "internal"
release that we did after some testing.

Any word on when the final release will be out?


What Buckminster version is this running with?

I built it against the latest trunk, haven't tried it for several weeks
already but at least now other people can give it a try easily and
provide feedback

OK. Here's some feedback. I tried running our demo:

http://www.eclipse.org/buckminster/samples/queries/demo.cquery

but it fails on:

Provider maven2(http://repo1.maven.org/maven2): No match found for component se.tada.util.sax using version designator 1.0.0

The demo uses this rmap:

  http://www.eclipse.org/buckminster/samples/rmaps/demo.rmap

Since that particular component uses name mapping, I also tried to explicitly resolve the component name "se.tada/tada-sax" and an rmap that does not use name-mapping:

  http://www.eclipse.org/buckminster/samples/rmaps/dogfood.rmap

but that did not solve the problem so I did some debugging and found two issues:

First issue:
Running the demo I could see that the Maven2VersionFinder.getComponentVersions() correctly finds the entry groupId "se.tada", artifactId "tada-sax". The call artifactVersions and availableVersions on the artifact correctly reports [0.2.1, 1.0.0].

The subsequent call to resolve() on that artifact results in a ArtifactNotFoundException which is silently caught.

The version matching still takes place though, and it fails. This is because the MavenComponentType.createVersion() returns a version of type "String". The query is for a "Triplet" and they don't match.

At the end of the createVersion() method I see the following comment:

/* Maven versions are not exactly triplets, that's why we can't use the triplet type */
//return VersionFactory.TripletType.fromString(versionStr);
return VersionFactory.StringType.fromString(versionStr);

The Triplet type was created especially to accommodate the Maven versions, so obviously something needs to be done here :-)

What is it that made you reject the Triplet? How can we fix that?

Second issue:
When trying to resolve the "se.tada/tada-sax" component directly (i.e. without use of name mapping), I discovered that your MavenProvider implementation is outdated. After meeting you guys at EclipseCon we realized that a viable alternative to the RMAP name mapping was high prio and our solution was to allow component names like <groupId>/<artifactId> all the way. That in turn, affected the getDefaultGroupAndArtifact() method.

Kind Regards,
Thomas Hallgren





Back to the top