Hi David,
Thank you for this Feedback!
Increasing the popularity and the adoption of Mylyn Wikitext is a great idea. I think you did an important step when you removed the dependency to OSGi. In my opinion publishing the "org.eclipse.mylyn.wikitext.[*.]core" projects and the "org.eclipse.mylyn.wikitext.core.maven" project on a maven repository makes absolutely sense.
I am also not an expert, but my understanding is that Eclipse B3 is the tool used by the Eclipse Community to aggregate P2 Update Sites together (for the release train for example). It is a tool that manipulates Installable Units and produces the requested additional Metadata files. Another feature is the capability of producing a Maven repository instead of a P2 Update Site. See my post on the B3 Forum [1]. During this process the POM files are rewritten (the tycho POM are dropped and B3 generate a clean POM probably based on the OSGI MANIFEST.MF file. See my previous post on this mailing list [2]).
I have used the Eclipse B3 approach to produce the Maven Repository I have published on BinTray [3]. I see B3 more like a post-processing step. No need to change your Maven+Tycho build which is working great for the project. The idea would be to first build a P2 Update Site (this is what you have now) and then load it into B3 to re-export it as a maven repository.
Tom Schindl has explained in a Blog Post [4] that he was republishing some components of the Eclipse Platform to Maven Central. In the comments I have asked him how he was doing it and his reply was that he has a manual process to do it.
How do we move forward on this? If the Mylyn Wikitext project want to do it the B3 way, I would be happy to contribute an Eclipse B3 file and some script to do the conversion (the happy case scenario would be the possibility to run the headless version of B3 directly from Maven and to push the resulting artifacts during the deploy phase). Should I open another Bug, or can we use Bug 421551 [5] for that? Can you point out in which repository the "wikitext.publisher" project would belong?
Thank you in advance,
Jeremie
[1] https://www.eclipse.org/forums/index.php/t/1070245/ [2] https://dev.eclipse.org/mhonarc/lists/mylyn-docs-dev/msg00285.html [3] http://dl.bintray.com/jmini/maven/ [4] http://tomsondev.bestsolution.at/2015/09/04/efxclipse-2-1-0-released/ [5] https://bugs.eclipse.org/bugs/show_bug.cgi?id=421551
Le 11.02.2016 21:23, David Green a écrit :
Jeremie,
Great that you're taking on making WikiText consumable as Maven artifacts. I agree, consuming WikiText from Maven is a real pain right now, and I'm sure that it hurts adoption.
As far as using b3 I'm not at all familiar with it. Are you suggestion to just use it for aggregation, or as a replacement for our Maven/tycho build?
David
On Tue, Feb 9, 2016 at 11:14 PM Jeremie Bresson < dev@xxxxxxxx> wrote:
Hi,
During my tests of Bug 421551 (thank you David for the review), I have noticed, that the pom we push to the maven repository are not the one consumers of the library would expect.
With the jars pushed on a Maven Repository with Eclipse B3, (approach is described in this Blog Post [1] or in the GitHub project [2]). As an end user, I just need this pom:
==== End listing 1 ==== <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company.example</groupId> <artifactId>helloworld-markdown</artifactId> <version>0.0.1-SNAPSHOT</version>
<dependencies> <dependency> <groupId>org.eclipse.mylyn.docs</groupId> <artifactId>org.eclipse.mylyn.wikitext.markdown.core</artifactId> <version>2.6.0.v20150901-2143</version> </dependency> </dependencies>
<repositories> <repository> <id>bintray.jmini.maven</id> <url>http://dl.bintray.com/jmini/maven/</url> </repository> </repositories> </project> ==== End listing 1 ====
With the version pushed on the Eclipse Maven repository, my pom will look like this:
==== Listing 2 ==== <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.company.example</groupId> <artifactId>helloworld-markdown</artifactId> <version>0.0.1-SNAPSHOT</version>
<dependencies> <dependency> <groupId>org.eclipse.mylyn.docs</groupId> <artifactId>org.eclipse.mylyn.wikitext.markdown.core</artifactId> <version>2.6.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.eclipse.mylyn.docs</groupId> <artifactId>org.eclipse.mylyn.wikitext.core</artifactId> <version>2.6.0-SNAPSHOT</version> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>[15.0.0,)</version> </dependency> </dependencies>
<repositories> <repository> <id>eclipse.mylyn</id>
<url>https://repo.eclipse.org/content/repositories/mylyn-snapshots/</url> </repository> </repositories>
</project> ==== End listing 2 ====
I need to add the dependencies explicitly.
The reason is easy to understand. On the Eclipse Maven repo, the poms pushed by the maven+tycho built are the Tycho pom (packaging "eclipse-plugin", no dependencies). On my bintray repository, the Eclipse B3 Tool has rewritten the POM based on the P2/Manifest Metadata. The result is a user friendly pom (packaging "jar", dependencies derived from the Manifest).
I thought using B3 was a workaround. I am now convinced that this is a only valid approach to produce easy-to-use Poms.
What do you think?
Jeremie.
[1] https://www.bsi-software.com/en/scout-blog/article/maven-repository-for-mylyn-wikitext.html [2] https://github.com/jmini/mylyn-wikitext-repository _______________________________________________ mylyn-docs-dev mailing list mylyn-docs-dev@xxxxxxxxxxx To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/mylyn-docs-dev
--
David Green
VP of Architecture, Tasktop
Committer, Eclipse Mylyn
|