Before responding, I want to point out that I'm not a Mylyn Docs committer. I'm just offering my thoughts for consideration.
I don't feel strongly about this decision but I do question some of the claimed benefits:
* easier to contribute (e.g. without knowledge of OSGi or PDE)
I would argue that most contributions don't actually require any knowledge of OSGi or PDE. For larger contributions, the knowledge required is usually just how to add dependencies to a manifest, which shouldn't be an obstacle for someone invested enough to make a large contribution.
Updating manifests isn't something a Java developer would normally have to do in a "plain" Java project. Also, consider the project layout - a Maven layout is widespread and commonly used. Only people exposed to OSGi or Eclipse development would know about bundles and tests that exist in separate projects.
Additionally, consider that anyone maintaining the build would have to understand how the build works. Reducing that overhead at least for the core components could be beneficial.
* better structured code/tests (e.g. using normal Maven project layout)
I don't think that following a different convention is "better," just different.
This is like the vi versus emacs discussion, everyone has an opinion. I really only meant in the sense that the Maven convention is more widespread, it's better.
* faster cycle time (e.g. easier to verify code changes, faster builds)
Is there any data to support this?
Anecdotally, running the Maven-based build was quite a lot faster for me. I'm able to run a Maven build of just the WikiText core in 49 seconds versus 21 minutes for all of Mylyn Docs using a tycho-based build. This isn't an apples-to-apples comparison, but demonstrates some of the potential benefits.
This should be weighed against the increased friction of needing to run a maven build when debugging. It seems to me that this will affect all development on WikiText, not just UI development.
There is no need to run a Maven build when debugging.
The trade-off outlined below is that UI development would have an additional step of running the Maven-based build once to get the core bundles into the target platform. Alternatively that step could be avoided by installing WikiText into Eclipse and using the running platform as the target.
Development of the core components of WikiText (the headless, non-eclipsy parts) would be the same as developing for any other Maven-based Java project. It wouldn't even be necessary to have PDE installed, or to use Eclipse for that matter.
Is there a way to have the best of both worlds by enabling the core to be built using either Maven or PDE? This would probably add a little maintenance cost but the smoother development workflow might be worth it.
I'm sure there is a way - but I'm not keen on maintaining two separate build systems.
David
_______________________________________________
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