How to set module output path for generator helper class

Hello,

I've created a helper class inside of my generator and now when I try to generate the generator, I'm seeing the following error:

[jetbrains.mps.make.ModuleMaker] I don't know in which module's output path I should place class file for com.kevlindev.FileStructure.generator.template.utils.FieldUtils

I understand what the message is telling me, but how do I specify which module's output path it should use? I'm not seeing anything relevant in the various model properties dialogs.
Thanks,
Kevin


4 comments
Comment actions Permalink

Hello, Kevin,

It looks like a bug. Could you send me your project at konstantin solomatov at jetbrains dot com?

Regards,

Konstantin

0
Comment actions Permalink

Hi Konstantin,

OK, I've sent the project to you. Thanks!

-Kevin

0
Comment actions Permalink

Hello, Kevin,

I've taken a look at your project. The problem happens because directory "com.kevlindev.FileStructure\languages\FileStructure\source_gen\com\kevlindev\FileStructure\generator\template\Utils has uppercase U in it. You probably created this directory yourself since MPS create directory name which corresponds to your model's name. It's a compilation error which we don't report. If you rename this directory to util, everything should work fine.

Regards,

Konstantin

0
Comment actions Permalink

Hi Konstantin,

I removed that directory and regenerated the generator and it appears to be working fine now. I should mention that I did not create that directory myself. I think what may have happened is that when I first started this language, I created a util model which I ended up deleting later. Then, recently, I created a new util model. Is it possible that I used "Util" the first time and that name and case somehow was retained? Or perhaps the "Util" directory was not deleted when I deleted the model? During troubleshooting, I had tried using Build->Clean all. Maybe that could remove both the source_gen and classes_gen directories.

Thanks,

Kevin

0

Please sign in to leave a comment.