When I'm thinking about your problem maybe we can develop small project 'sculptor-active-annotation-dummy' which we will use in Eclipse dependency which will do 'nothing' for @ChainOverridable annotation. However I don't know how well it will integrate with maven ... profiles?
But I've no clue yet on how to bring this dummy implementation of the @ChainOverridable annotation into the classpath of Xtends compiler in front of the "real" annotation implementation added by the m2e Eclipse plugin.
I'm thinking/dreaming about graphical annotation long time. Our analytic guys can already write models directly in textual form but graphical annotation will be huge improvement.
Again I apply my 'KISS' principle. Can't we do it with 'profiles'? Include dummy in 'eclipse' profile (and normal in default active profile) and than in Project properties -> Maven you have possibility to set 'eclipse' as active profile.
I'm thinking/dreaming about graphical annotation long time. Our analytic guys can already write models directly in textual form but graphical annotation will be huge improvement.
No GUI editor here =8-O
I was talking about a simple overlay annotation to a projects symbol in the resource viewer :-)
Again I apply my 'KISS' principle. Can't we do it with 'profiles'? Include dummy in 'eclipse' profile (and normal in default active profile) and than in Project properties -> Maven you have possibility to set 'eclipse' as active profile.Yes, within m2e a Maven profile can be activated or deactivates ("!" prefix) via "Project > Properties > Maven > Active Maven profiles" on a per-project base.
The profile idea is good. But instead manipulating plugin dependencies I would use it for setting sculptor-related system properties (e.g. "sculptor-template-override"). How about tweaking ChainOverridableProcessor.validate() to check for a system property to skip processing an annotated class?
Maybe we can come up with a kind of a (comma-separated) pattern-based filter, e.g. default "sculptor-template-override=*" or filtered "sculptor-template-override=org.sculptor*,com.acme.*" or disabling template override via "sculptor-template-override=".
This way it's not neccessary to provide a new Maven dependency with a dummy implementation. And we don't have to refactor the Sculptor annotation support into it's own Maven dependency being excluded and replaced by the dummy Maven dependency.
OK, looks good. For now I will stick with boolean enable/disable. Just one question. Do we have to define this variable at eclipse startup? Or is here some place in eclipse properties that Xtend compiler can pick it up.
The Maven stuff (profiles with properties or different dependencies) is not available in the Eclipse world.
JBoss tools allows you to select different maven profiles within eclipse. Would that help?