0

Let's say we want to extend someone elses (open-source) Eclipse 4 RCP application with our own eclipse-feature. Obviously, this feature cannot be stored together with the other code, but must reside in its own git repository. Unfortunately, the plugins of the 3rd party's RCP application are not deployed to any p2 repository. Maven is being used as a build system.

I would also like to perform integration tests of the RCP with my feature included. This is the structure that I am planing to set up:

My Gitrepository   
│
└───3rd party E4 RCP (Git repository as submodule)
│   
└───My Feature
    │   plugin project
    │   feature project
    |   test fragment
    |   integration-test fragment

What are your opinions about it? Is there any better or recommended way how to approach this problem?

user3726374
  • 583
  • 1
  • 4
  • 24
  • The 3rd party E4 RCP is required as update site only. You do not need a Git repository for that. A fragment instead of a plugin is needed for testing internals when you do not want to use `x-friends`; for integration test better use a test plugin. The Maven plugin Tycho is required for building (resolving of the dependencies, compiling, etc. is done by Tycho, not by Maven itself). See [Tycho example repo](https://github.com/vogellacompany/tycho-example). – howlger Sep 09 '21 at 11:41
  • @howlger Regarding the p2 update site: as mentioned above, the RCP is not deployed anywhere. So I guess my only options are either including the code itself in my project, or add some automated git-clone+build+local-deployment for it in my maven setup. Is this correct? – user3726374 Sep 09 '21 at 11:58
  • 1
    For development and to build your feature, it would make more sense to have the 3rd party RCP as p2 repository, either by building it from the sources yourself or to convert an installation (both with Tycho; for every new RCP version). This way it is much faster and maybe you want to do the integration tests for different RCP versions. Again, Maven does not understand OSGi, Tycho does (with POM-less Tycho only a parent POM is required). – howlger Sep 09 '21 at 13:09

0 Answers0