Integrate MPS into CI/CD pipeline: build solution model from command line

Hello,

I'm actually trying to integrate my MPS project to a CI/CD pipeline. It builds a standalone IDE and it releases it.
I use Ant to execute build.xml and buildDistribution.xml generated by my build solution (these builds work fine).
I have a problem because I still need to generate these files. These files aren't push on my repo because they are temporary.
How can I build my models and my languages without having a running MPS instance ?

Best regards,
Mathieu

0
4 comments

You need to either commit the generated build scripts to the repo, or create another build script to build the build scripts (kind of a metabuild) and commit the generated build script of that one to the repo. Then you run the generated metabuild which generates the other build scripts and then you run those. The benefit of having the metabuild script is that it will change much less frequently than the normal build script so you don't need to update it that often.

Yet another option is to use the generate task of https://github.com/mbeddr/mps-gradle-plugin/ to generate build scripts. That way you don't need the metabuild script.

0

Hi,
So I have created a metabuild which create my main build solution.
I have created a new build solution and I have selected my main build solution.
I didn't find where I specify that I just want to "Make" my language like from MPS's IDE (I have the same problem from main build solution because languages seem not working when they aren't compiled).

Mathieu,

0

I'm sorry, I don't quite understand your question. If you're asking how to write build scripts, there's MPS documentation for that here: https://www.jetbrains.com/help/mps/build-language.html

0

Hello,

I found “generate” task into the build script. It works now.

Thank you !

0

Please sign in to leave a comment.