Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jgit-dev] manifest first build requires maven3?

2009/12/25 Shawn O. Pearce <spearce@xxxxxxxxxxx> wrote:
Apparently if we continue down this track of manifest-first build
process changes[1] we are going to force all of our downstream
consumers to also run Maven 3 and Tycho just to include our JARs
into their build?

E.g. I just built JGit and deployed it into a temporary repository
at file:/tmp/jgit.maven, and then tried to consume this within
Gerrit Code Review, and Maven 2 freaked out:

 [INFO] Error building POM (may not be this project's POM).

 Project ID: org.eclipse.jgit:jgit-parent

 Reason: Cannot find layout implementation corresponding to:
 'p2' for remote repository with id: 'galileo'. for project
 org.eclipse.jgit:jgit-parent

This is really annoying.  I'm not thrilled about breaking our
downstream consumers' builds just so they can continue to use JGit
while we use OSGi manifests as the primary build interface.

I agree, that's not acceptable
 
This actually makes me want to switch to maven-bundle-plugin[2],
because at least then our Maven repository is still usuable as a
Maven repository...

[1] http://egit.eclipse.org/r/156
[2] http://egit.eclipse.org/r/159


I face two problems building JGit using [2] :
- the manifest generated for org.eclipse.jgit looks weird [MANIFEST-jgit-felix] compared to the one packaged by tycho [MANIFEST-jgit-tycho.MF]
- build of EGit update site using [3] fails (I don't understand why) :
[ERROR] Failed to execute goal org.sonatype.tycho:maven-osgi-packaging-plugin:0.6.0:update-site (default-update-site) on project org.eclipse.egit-updatesite: Can't find bundle org.eclipse.jgit -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.sonatype.tycho:maven-osgi-packaging-plugin:0.6.0:update-site (default-update-site) on project org.eclipse.egit-updatesite: Can't find bundle org.eclipse.jgit
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:570)
    at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:317)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:245)
    ...

when building JGit using [1]+[4] these problems don't occur

If we build JGit using [2] is it still possible to clone the jgit repo using EGit or do we then have to use a different mechanism since the repo doesn't contain .project files any more ?

[3] http://egit.eclipse.org/r/#change,135
[4] http://egit.eclipse.org/r/#change,161

--
Matthias

Attachment: MANIFEST-jgit-felix.MF
Description: Binary data

Attachment: MANIFEST-jgit-tycho.MF
Description: Binary data


Back to the top