Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Newb question

I kinda suspected the answer was going to be something like the below. Sounds like I still got a ways to go. Will let you know how I manage, probably on Monday.

Thank You.


On 14-03-07 03:56 PM, Igor Fedorenko wrote:
Tycho does not like pure Maven dependencies, it very much prefers OSGi
bundles and Eclipse artifacts from P2 repositories. This applies to both
projects that you build ("executor.jar" and "server.jar", in you case)
and artifacts available from remote Maven repositories. You need to
convert you pure-Maven projects and dependencies to OSGi bundles and
make them available from a P2 repository before you'll be able to use
them from eclipse-plugin projects.

Usually I setup a separate project for my non-P2 stuff and use
maven-bundle-plugin to generate OSGi metadata for me, then use
pomDependencies=consider trick explain in [1] to make the "OSGi-ified"
artifacts visible to the Tycho build. You can see how this is setup in
m2e build, for example [2] (the pure-maven stuff is in m2e-maven-runtime
subdirectory).

[1] http://wiki.eclipse.org/Tycho/How_Tos/Dependency_on_pom-first_artifacts
[2] http://git.eclipse.org/c/m2e/m2e-core.git/



--
Regards,
Igor

On 2014-03-07, 18:37, V. Mark Lehky wrote:
Hello all.

I have an eclipse-plugin project that builds successfully using ant. I
would like to move this project to Maven (plus do a little cleanup of
the existing code); some Internet link pointed me towards Tycho.
I have gone through the EclipseCon Tycho Tutorial, and that seems to
be working fine for me. There is, however, one thing that is not clear
to me: dependencies to other projects.

My entire project consists of three Eclipse projects:
1. "executor.jar"
2. "server.jar"
3. and the plugin

I have a parent pom.xml which lists the above three modules as:
1. packaging = jar
2. packaging = jar
3. packaging = eclipse-plugin
I defined all the Tycho specific stuff in the plugin pom, not the
parent pom.

Both the server.jar and my plugin depends on the "executor.jar" plus
one other jar from a Maven repo. In the server.jar defining the
dependencies in the pom is really easy, and that builds just fine.

How do I do this in the plugin? From what I have read on the intranets
so far, you do _not_ define the dependency in the pom, you _only_
define it in the the MANIFEST.MF? So far I tried just pointing to
../executor/target/executor-1.0.0-SNAPSHOT.jar but the mvn build fails
to find this. Also, this does not seem very Maven-like. The normal
Eclipse build also fails to find this.
 From some answers on stackoverflow I got the impression that I should
copy the two dependent jars into the root of the project, and just
point to them there. Is this the correct way of doing this?

If it helps, my entire project is here:
http://sourceforge.net/p/genieos/code-0/HEAD/tree/trunk/

TIA for any help.


Back to the top