Not able to generate files based released language


I have created a simple language with a generator. Once I use the language (create instances of its concepts), I am able to rebuild the model and get generated files. But only in the development mode (not released). Once I release the language (create a plugin) the model using the released language could be built but no files get generated. If I try to preview the generated text I get following message: None of generated text units reference context node.

What am I doing wrong? Am I missing something in the build?

Thank you in advance.

Best regards,



Hi, Josef!

This means result of model 2 model transformation doesn't have textgen to complete generation. This is really strange that generation works when the language is developed and fails when language is packed as plugin. I can't get from description what's wrong. Simple suggestion is generator wasn't included in language plugin. You can switch on transient models (main menu -> Build -> Save transient models or 'T' icon in the right bottom corner of the frame), rebuild a model that uses language from plugin and check transient model. This may give a clue when generation works not as excepted. Also you can try to use generation trace tool with transient models.

There is similar problem here There was no rule in mapping configuration root. 


Hi Maria,

I am new to building a plugin. Therefore, maybe the problem is there. However, the generator seems to be automatically loaded with the language:

Should I specify the generator also somewhere else?

My language is very simple with one concept called Document (no properties, children and references). Its editor contains only one CellModel_Constant with the text "dummy". No other aspects used. The generator contains only one MappingConfiguration and one RootTemplate. The MappingConfiguration contains only the following root mapping rule:


concept Document --> Dummy

   inheritors false
   condition <always>
   keep input root default

Dummy is the following RootTemplate:

| root template     |
| input Document |
public class Dummy {
  public Dummy() {
    int $o = 1;

I have check the generation plan for both (a model that uses the language from plugin and a model that uses the manually build language). It is the same in both cases:

[ 1 ]
[ 2 ]
[ 3 ]**
[ 4 ]*

In the step 2, it plans to use the generator from my language.

If I try to check transient models, it is different for these cases. In the plugin case it misses a model based on step 2 and the result is unchanged:

In the development case it contains 3 transient models and the result is as expected:

How can I use use generation trace tool? I am not sure what it is.

What am I doing wrong? Am I missing something in the generator, in the build or somewhere else?

Thank you in advance.



The build script is fine.

Then I would suggest baseLanguage runtime is not available in case of language plugin. As you language is generated in base language then a model that uses this language needs baseLanguage runtime. To provide dependency on baseLanguage runtime in models that uses you language open properties of your language -> Dependencies, add baseLanguage and set dependency type Generation Target:

It's still strange CollisionWarningSystem model is generated&compiled correctly in your case. May be containing solution has import on other language that provide dependency on needed runtime.


Please sign in to leave a comment.