Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cross-project-issues-dev] Fwd: [platform-dev] A future without source features?

FYI,

The Platform is planning to gradually simplify the way source bundles are made available with an eye to eliminating the need for source features entirely as described in the forwarded email below.

JDT recently added several additional views:

The lack of corresponding source features caused problem with Maven publishing; Maven Central requires each artifact to provide a corresponding source artifact so the publishing process tests for that.  The Maven publishing process uses the Aggregator (the same one as is used by SimRel) which was enhanced to be able to automatically aggregate corresponding source bundles and features:


I've also enabled this new option for SimRel.aggr which added roughly 1,700 artifacts to the repository, making it a significantly improved soure for building target platforms. 

I tell you this because you might see an error (because the new attribute isn't recognized) when you load the SimRel.aggr in which case you either need to update your SimRel installation or you should create a fresh new one if you have a really old installation that's not using the newer update site aggregator update site.  Creating a fresh new installation is fully automated:


Doing this will also allow you to open the SimRel.aggran which shows detailed analysis views of the contributions and their artifacts...

Regards,
Ed


-------- Forwarded Message --------
Subject: [platform-dev] A future without source features?
Date: Mon, 16 Jan 2023 22:02:15 +0100
From: Mickael Istria <mistria@xxxxxxxxxx>
Reply-To: Eclipse platform general developers list. <platform-dev@xxxxxxxxxxx>
To: Eclipse platform general developers list. <platform-dev@xxxxxxxxxxx>, Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>


Hi all,

I'd like to raise to general awareness a technical proposal for Platform and others, that I believe is worth progressively going mainstream as it's a noticeable simplification to multiple processes, and that is very likely to be achievable in a short timeframe.
Basically, the idea is to get rid of source features.
Indeed, source features are not so important artifacts per se, what really matters is making source bundles available at build-time (to include them in p2 repositories or products) and at dev-time (to make them available in the IDE).
But nowadays, none of those do require source features: Tycho now has a cool "includeAllSources" flag on the tycho-p2-repository-plugin https://tycho.eclipseprojects.io/doc/latest/tycho-p2/tycho-p2-repository-plugin/assemble-repository-mojo.html#includeAllSources that allows to (drumroll) include all sources available from the reactor or the target-platform for each bundle of the resulting p2 repository; and PDE already has capability to find locally available source bundles in the .target or the installation path and will soon have ability to resolve more source bundles from target-platform on demand: https://github.com/eclipse-pde/eclipse.pde/pull/425. Moreover, the m2e intergration with PDE makes that source bundles also become available locally when the artifact originates from a Maven repository.
All that make that instead of managing source feature artifact, we have workflows to make source features available to the user basically with just 1 flag at build time. On Platform, this would allow to avoid lots of "touch" commits when an external version of a dependency changes; we can stop listing transitive deps in feature.xml (p2 resolves them) but still have their source bundles in p2 repo (Tycho adds them).

Of course, things are rarely perfect on 1st shot; but the more people try to make it perfect, the more it is likely to become so. To get there, anyone interested please consider trying those new capabilities and report issues. In the best case, you may be able to get rid of source features and some build customization; in the worst case you'll report issue.

Cheers,
--
Mickael Istria
Eclipse IDE developer, for Red Hat Developers
_______________________________________________
platform-dev mailing list
platform-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/platform-dev


Back to the top