Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] how to force tycho to use a specific set of plugins from the local maven repo?


did you already try to use P2-Repositories[1] as dependency source for plugins from repo A instead of local Maven repository?

So, build A in version 1 builds a P2 repo which is then fed to build B with version 1. As this generated repo only includes exactly the plugin versions you want, build B will not accidentially take version 2 bundles anymore.

  • mvn verify instead of mvn install
  • adding a P2-repository definition (<repository>) into parent pom which points to a URL file:/<PathToGeneratedRepository> (I used a Maven profile for this to make it optional)
  • -Dtycho.localArtifacts=ignore [2] (not necessarily required if install goal is not executed anyway)


Hope this helps/suits your usecase.
Kind regards

Am 25.09.2017 um 14:01 schrieb Johan Compagner:

i have this as a setup (i have even more git repo's but to keep it simple)

1> Git repo A eclipse plugins with version 1

2> Git repo B eclipse plugins with version 1 (this has also the .product and .feature files)

B depends on plugins from A

maven is all setup, and mvn install will build all the plugins from A or B
And when i build B maven pickes up the plugins i build from A just fine

But now the problem, now i make a new branch on both git repo's and on both i up the version to 2

With the product build itself i can fix the versions in feature.xml (and use partly the tycho version push and my own regexp to fix all the the versions in that)

If i now build version 2 of A and B that works,

But if i now go back to V1 branch and build B
Then B will pick up the latest versions of A (so version 2 plugins of A)
But it still should pickup version 1 of A because i am in version 1 of B

it seems that i only can fix that to set in the manifest of all the plugins of B hardcoded:


 where that 1.0.1 is a non existing version 
But this is kind of horrible to maintain, or i need to write quite some regexp to change all those bundle-versions of all the manifest files (upping to a specific version and then also have a bogus version number that is just 1 micro version up of the other...

Is there just not an easier way?
Like forcing the version in the (parent)pom.xml?
Which is also using the full version string so 1.0.0.somequalifier
Because that is what i now also use

For example tycho version push on the feature.xml does work for the plugins of there own git repo, but it doesn't really just up all the plugins with that version.
But that last one is fixable by going over it with a regexp find/replace

In Eclipse workspace itself this is all very easy, you just have that workspace that tied everything together, P2 just builded a workspace what was checked out there.
But with Tycho this is just different, how can you configure such a set of many plugins over many git repo's all with specific versions? (and be able to up those easy)

Johan Compagner

tycho-user mailing list
To change your delivery options, retrieve your password, or unsubscribe from this list, visit

Entimo AG
Stralauer Platz 33 - 34 | 10243 Berlin | Germany
Tel: +49.30.52 00 24 133 | Fax: +49.30.52 00 24 101
hst@xxxxxxxxxx |

Vorstand: Jürgen Spieler (Vors.), Marianne Neumann
Aufsichtratsvorsitzender: Erika Tannenbaum

Sitz der Gesellschaft: Berlin, Germany | Handelsregister: HRB Berlin-Charlottenburg 85073

Back to the top