Learn Meta Programming with Us
Design your own Domain Specific Language with full development environment. Get code editor with completion, semantics and type checking with one click. Write generators to compile your DSL into multiple target languages, such as Java, C, XML, and many more.
- Clone MPS
- Open the project in IntelliJ IDEA (either Community or Ultimate Edition)
- Attach JDK 8 to the project
- Main menu item File -> Project Structure opens the Project Structure dialog
- Under Platform Settings -> SDK, make sure the JDK 8 or later is available
- In the Classpath tab of the JDK, make sure that the %JDK_HOME%/lib/tools.jar is available, it is required to build MPS
- Rebuild the project from the Build menu (it will take quite a while the first time)
- Run the MPSLauncher run configuration in the Run menu
- Once MPS starts, open the MPS project (point MPS to the root folder of what you've cloned)
If you'd prefer a ready-to-use build, please head over to the Download page and grab an installation package of your choice.
MPS is licensed under the Apache 2 open-source license. See the complete MPS license agreement for full details.
To build JetBrains MPS from sources you need JDK 8. Older JDK versions are currently not supported for building MPS from sources.
IntelliJ IDEA Community or Ultimate edition shall be used to open the project. The versions of IntelliJ IDEA must reflect the version (branch) of the MPS project that you are opening:
- IDEA 2018.2.* for MPS 2018.2 and the 182.* branches
- The latest Idea EAP for the MPS master branch
For MacOS users it is required to use the JetBrains JDK (https://bintray.com/jetbrains/intellij-jdk/).
Additionally, the IntelliJ Platform Plugin SDK must be added in the IntelliJ IDEA's "Project Settings" in the "Platform Settings" section. The name of this SDK must be "IDEA IC". The ideaIntegrationCommon and IDEAPlugin modules need this SDK and they will be using automatically as soon as you create it and give it the "IDEA IC" name. For more details on how to add an SDK in IntelliJ IDEA, consult this help page.
Develop with pleasure! JetBrains MPS Team