Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cbi-dev] Publish to Maven Central


I was finally able to release on OSSRH. I think the sync needs to be performed. And I hope that everything is configured correctly. But well, let's see.

After all the work I have spent here, I totally agree with you. And I will check how I can change the project structure to become more efficient.

"because MANIFEST-first approach has a lot of benefits and seems more simple and powerful"

First I was laughing because I thought you are making a joke. Then I started crying, because I realized you really mean what you say.
Actually I think the MANIFEST-first approach is the worst thing in OSGi development. "more simple"? Yes it is more simple to do things wrong! "powerful"? well with great power comes great responsibility, but most of the people don't take the responsibility.

Most of the MANIFEST files that are created "by hand" using PDE tooling are a nightmare. Starting from the endless Require-Bundle vs. Import-Package discussion and the terrible re-export, ending at the point that nobody is taking care of versioning package exports or even keeping the exported versions up-to-date. Require-Bundle and re-exports exist to make it easy for developers. But the result becomes a nightmare if you consume it in inhomogeneous environments. And I am fighting with such things for years in several projects. So I have my experience in that area.

The work that is done in Tycho is really great and at least makes the build less frustrating. But once you start looking from the outside of the Eclipse universe, things are not so nice anymore. I am a big fan of pom-less Tycho. But for the deployment to a Maven repository it is not so nice. For PDE projects you have quite a lot of artifacts that you don't want to publish to Maven Central. Test plugins/fragments, features, update sites, target definitions, not to mention the connector poms in a structured environment. I ended up in specifying skip=false for the maven-deploy-plugin to avoid that, and created pom.xml files for every artifact I want to deploy. So pom-less is not so pom-less anymore. Additionally I added dependency sections that are actually ignored for the Tycho build results, but then they are correctly specified for Maven consumers. And this way the dependencies need to be kept in sync in the development at least twice.

So if you are asking what could be improved or added to Tycho to make this better, I would suggest to have a way to configure if an artifact should be skipped for deployment e.g. via And somehow the dependencies could be added without an additional pom.xml file. But that is probably not possible as the GAV for the dependencies are not available anywhere, since the dependencies are resolved via p2.

As it took me quite a while to get everything up and running, I would like to publish my findings somewhere. Is there a place in the Eclipse Wiki where I could add it? Or should I write a personal blog post, referencing all the official documents? IMHO the Eclipse Wiki would be a good place, but I am not sure what a good place would be.


On Fri, Dec 11, 2020 at 8:48 PM Dirk Fauth <dirk.fauth@xxxxxxxxx> wrote:
Thanks everyone, I will have a look how I can make it work with the current project layout.

I personally also would like to move to a pom first approach. Especially with my future plans it would be something that could be helpful in various ways. But one step after the other. The switch would lead to several other topics I would need to address. And shortly before a release I don't want such a big restructuring. 

Mickael Istria <mistria@xxxxxxxxxx> schrieb am Mo., 7. Dez. 2020, 10:18:

On Mon, Dec 7, 2020 at 9:56 AM Tom Schindl <tom.schindl@xxxxxxxxxxxxxxx> wrote:
synthesize the pom.xml from the p2-metadata [...]'s not that funny.
MIHO - creating a p2-repo from maven is a lot easier than the other way.

I agree with that, and I think it's a pity actually because MANIFEST-first approach has a lot of benefits and seems more simple and powerful.
So I'm wondering, do you think the story of generating a plain Maven artifact from an eclipse-plugin artifact is something that can be improved with a nice solution in Tycho somehow?
cbi-dev mailing list
To unsubscribe from this list, visit

Back to the top