Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [egit-dev] Calling Tycho / Maven Ninjas

I think there are couple of problems.

First, <dependencies/> element in org.eclipse.egit.core and other module
pom.xml files tells Tycho to resolve jgit artifacts from *Maven*
repositories, but these artifacts are not available from any configured
repository. As a side note, Tycho 0.6.0 attempts to resolve Maven
artifacts from galileo and jgit p2 repositories. This is a bug and it is
fixed in Tycho 0.7.0-SNAPSHOT already.

Second, jgit p2 repository does not contain org.eclipse.jgit.junit
required by org.eclipse.egit.core.test.

I see two possible ways to fix this.

Either remove <dependencies/> element from all pom.xml files and provide
org.eclipse.jgit.junit via a p2 repo. Or, setup Maven repository (could
be a directory on local filesystem) and use it to share artifacts
between jgit and egit builds.

If you want, I can provide more details or patches for either of these
approaches.

--
Regards,
Igor

Chris Aniszczyk wrote:
On Tue, Jan 19, 2010 at 11:02 PM, Igor Fedorenko
<ifedorenko@xxxxxxxxxxxx> wrote:
To recap, using org.eclipse.egit.core as an example, here is how
Tycho resolves dependencies


* generates p2 dependency metadata for the project
* collects available installable units from local maven repository.
* collects available IUs from galileo p2 repository, as configured
 in the parent pom.xml
* generates p2 metadata for all org.eclipse.egit.core maven dependencies
 (again, configured in the parent pom) and adds to the available IUs
* invokes p2 resolver with project dependencies and available IUs
* downloads all required artifacts from galileo repo and caches them in
 maven local repository
* invokes equinox resolver to resolve actual project dependencies

Thanks for the in depth explanation Igor, that makes sense.

Any reason why Tycho wouldn't see IUs (in this case, the JGit
feature.group and bundle) from a remote p2 repo?
    https://build.eclipse.org/hudson/job/egit/16/console

---
from the specified remote repositories:
  galileo (http://download.eclipse.org/releases/galileo,
releases=true, snapshots=true),
  jgit (https://build.eclipse.org/hudson/job/jgit/lastSuccessfulBuild/artifact/org.eclipse.jgit.packaging/org.eclipse.jgit.updatesite/target/site,
releases=true, snapshots=true),
  central (http://repo1.maven.org/maven2, releases=true, snapshots=false)
---

I have an inkling it has to deal with version numbers probably, just
not sure how to debug Tycho.

Cheers,



Back to the top