diverse-project / melange

The Melange Language Workbench
http://melange-lang.org
Eclipse Public License 1.0
28 stars 7 forks source link

Melange requires useless dependencies to model and k3 aspect projects which impose to deploy the base model in addition to the runtime model #61

Open dvojtise opened 8 years ago

dvojtise commented 8 years ago

Let's consider the following language MyLanguage I provide 2 plugins MyLanguage.model and MyLanguage.k3dsa from which I want to build an executable language MyXLanguage thanks to Melange.

to do that I need to add a dependency of my melange project to MyLanguage.model and MyLanguage.k3dsa (otherwise It does not allow to generate the runtime model in its dedicated plugin MyXLanguage )

howver once built, this language is supposed to be able to work standalone with only a dependency to MyXLanguage

the dependencies to MyLanguage.model and MyLanguage.k3dsa impose to deploy them in the modeling workbench eclipse installation even if they are completly useless. (In this case they could have been considered as "source" but should not be included as binary dependencies)

ebousse commented 8 years ago

+1, I was wondering the exact same thing a few days ago :)

fcoulon commented 8 years ago

Generated Languages are standalone because they have their own metamodel and aspects. But Melange provides adaptation layers between Languages. Its means if we adapt a Language to an External Language we need these dependencies.

tdegueul commented 8 years ago

Then in such a case, the user would explicitly import the other languages, no? Since generated languages can be standalone, they should be standalone, imho :)

ebousse commented 8 years ago

Maybe the dependency can be added in the manifest only when adapters are generated?

dvojtise commented 8 years ago

We could also try to not add the dependency as a plugin dependency but as a java project dependency. This may work on eclipse but probably fail if we try to build with tycho without additional directive