Quantcast

TYCHO, FELIX and PDE integration

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

TYCHO, FELIX and PDE integration

itolev
General requirements: for every two bundle projects P1 and P2(P2 depends on P1)
- non-eclipse bundles are pom-first(built with maven-bundle-plugin) [auto manifest]
- eclipse bundles are manifest-first(built with tycho-maven-plugin) [eclipse oriented]
- usage of maven p2 repository instead of eclipse p2 repositories [more scalable]
- single or seperate reactors(workspaces)

Current solution(with compromises):
- non-eclipse bundles are pom-first(built with maven-bundle-plugin),
p2 published on deploy using tycho-p2-plugin:feature-p2-metadata,category-p2-metadata,maven-upload-plugin:upload-files
- eclipse bundles are manifest-first(built with tycho-maven-plugin),
 p2 published with eclipse-feature and maven-upload-plugin:upload-files
- usage of eclipse p2 repositories instead of maven p2 repository
- only seperate reactors(workspaces)

Scenarios:
1)P1:eclipse-plugin, P2:eclipse-plugin, one reactor
-maven build: ok
-eclipse build: ok

2)P1:eclipse-plugin, P2:eclipse-plugin(m2e enabled), two reactors
-maven build: ok
-P2 eclipse build: NOT ok[see question 1]

3)p1:jar(maven-bundle-plugin:bundle-manifest,tycho-p2-plugin:p2-metadata),p2:eclipse-plugin, one reactor
- impossible[see question 2]

4)p1:jar(maven-bundle-plugin:bundle-manifest,tycho-p2-plugin:p2-metadata),p2:eclipse-plugin(m2e enabled), two reactors
-maven build: ok
-p2 eclipse build: NOT ok[see question 1]


Question 1)Could installed manifest-first eclipse-plugin be visible in eclipse PDE(without being present in workspace or target) through m2eclipse-tycho(using p2artifacts.xml and p2metadata.xml)?

This way no p2 repository should be maintained and targeted nor checkout in workspace is needed.

Question 2)Is it possible to achieve single reactor and maven-bundle-plugin MANIFEST.MF for some bundles in the same time?
(To achieve single reactor eclipse-plugin should be used for all bundle projects!)
(For eclipse-plugin META-INF/MANIFEST.MF and build.properties should be present and final!)

ENVIRONMENT:
m2eclipse: 0.12.1.20110112-1712
m2eclipse-tycho: 0.4.3.20101103-1630
tycho-maven-plugin: 0.10.0
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TYCHO, FELIX and PDE integration

Igor Fedorenko-2
It is not possible to build pom-first and manifest-first projects as
part of the same command line reactor build. Manifest-first dependency
resolution requires manifests of all involved projects before the build
starts, but maven-bundle-plugin generates bundle manifest at very end of
the build, during package or process-classes phases.

PDE is only able to consume external/binary bundles from p2
repositories. There is nothing m2e or tycho can do about it, short of
rewriting PDE... which I think is the best long-term solution, but it
won't happen any time soon.

It is possible to mix pom-first and manifest-first projects inside the
same Eclipse workspace using m2e-tycho. You still need to build
pom-first and manifest-first projects separately on command line.

--
Regards,
Igor

On 11-04-11 10:06 AM, itolev wrote:

> General requirements: for every two bundle projects P1 and P2(P2 depends on
> P1)
> - non-eclipse bundles are pom-first(built with maven-bundle-plugin) [auto
> manifest]
> - eclipse bundles are manifest-first(built with tycho-maven-plugin) [eclipse
> oriented]
> - usage of maven p2 repository instead of eclipse p2 repositories [more
> scalable]
> - single or seperate reactors(workspaces)
>
> Current solution(with compromises):
> - non-eclipse bundles are pom-first(built with maven-bundle-plugin),
> p2 published on deploy using
> tycho-p2-plugin:feature-p2-metadata,category-p2-metadata,maven-upload-plugin:upload-files
> - eclipse bundles are manifest-first(built with tycho-maven-plugin),
>   p2 published with eclipse-feature and maven-upload-plugin:upload-files
> - usage of eclipse p2 repositories instead of maven p2 repository
> - only seperate reactors(workspaces)
>
> Scenarios:
> 1)P1:eclipse-plugin, P2:eclipse-plugin, one reactor
> -maven build: ok
> -eclipse build: ok
>
> 2)P1:eclipse-plugin, P2:eclipse-plugin(m2e enabled), two reactors
> -maven build: ok
> -P2 eclipse build: NOT ok[see question 1]
>
> 3)p1:jar(maven-bundle-plugin:bundle-manifest,tycho-p2-plugin:p2-metadata),p2:eclipse-plugin,
> one reactor
> - impossible[see question 2]
>
> 4)p1:jar(maven-bundle-plugin:bundle-manifest,tycho-p2-plugin:p2-metadata),p2:eclipse-plugin(m2e
> enabled), two reactors
> -maven build: ok
> -p2 eclipse build: NOT ok[see question 1]
>
>
> Question 1)Could installed manifest-first eclipse-plugin be visible in
> eclipse PDE(without being present in workspace or target) through
> m2eclipse-tycho(using p2artifacts.xml and p2metadata.xml)?
>
> This way no p2 repository should be maintained and targeted nor checkout in
> workspace is needed.
>
> Question 2)Is it possible to achieve single reactor and maven-bundle-plugin
> MANIFEST.MF for some bundles in the same time?
> (To achieve single reactor eclipse-plugin should be used for all bundle
> projects!)
> (For eclipse-plugin META-INF/MANIFEST.MF and build.properties should be
> present and final!)
>
> ENVIRONMENT:
> m2eclipse: 0.12.1.20110112-1712
> m2eclipse-tycho: 0.4.3.20101103-1630
> tycho-maven-plugin: 0.10.0
>
> --
> View this message in context: http://software.2206966.n2.nabble.com/TYCHO-FELIX-and-PDE-integration-tp6261588p6261588.html
> Sent from the Tycho Users mailing list archive at Nabble.com.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TYCHO, FELIX and PDE integration

itolev
Igor, thank you for your quick response and support.

I hoped that m2e-tycho makes maven buildable set of projects IDE buildable(Scenario 2)
the same way m2eclipse makes maven buildable set of projects IDE buildable, but now I realize
that it's not a matter of integration and really PDE rewriting job plus more p2 stay away:)

Sadly, p2 repository is not with maven spirit: natural index, non-static nature, symmetry, lazy loading.

Best regards, Ivan

Igor Fedorenko-2 wrote
PDE is only able to consume external/binary bundles from p2
repositories. There is nothing m2e or tycho can do about it, short of
rewriting PDE... which I think is the best long-term solution, but it
won't happen any time soon.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: TYCHO, FELIX and PDE integration

Tobias Oberlies
Hi Ivan,

You can use pomDependencies=consider to bring bundles from Maven repositories into the Tycho target platform.

Please use the new mailing list [hidden email] for future questions.

Regards
Tobias



> -----Original Message-----
> From: itolev [mailto:[hidden email]]
> Sent: 11 April 2011 17:33
> To: [hidden email]
> Subject: [Tycho Users] Re: TYCHO, FELIX and PDE integration
>
> Igor, thank you for your quick response and support.
>
> I hoped that m2e-tycho makes maven buildable set of projects IDE
> buildable(Scenario 2)
> the same way m2eclipse makes maven buildable set of projects IDE
> buildable,
> but now I realize
> that it's not a matter of integration and really PDE rewriting job plus
> more
> p2 stay away:)
>
> Sadly, p2 repository is not with maven spirit: natural index, non-static
> nature, symmetry, lazy loading.
>
> Best regards, Ivan
>
>
> Igor Fedorenko-2 wrote:
> >
> > PDE is only able to consume external/binary bundles from p2
> > repositories. There is nothing m2e or tycho can do about it, short of
> > rewriting PDE... which I think is the best long-term solution, but it
> > won't happen any time soon.
> >
>
>
> --
> View this message in context: http://software.2206966.n2.nabble.com/TYCHO-
> FELIX-and-PDE-integration-tp6261588p6261896.html
> Sent from the Tycho Users mailing list archive at Nabble.com.
Loading...