Git Product home page Git Product logo

mps's Introduction

official JetBrains project JetBrains MPS

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.

Useful links

Building MPS from sources

Download IntelliJ IDEA from the JetBrains website. Community edition will work just fine.

  1. Fork the MPS GitHub repository into your own space using the GitHub UI (go to the MPS repo and press the fork button at the top. This will create a fork of the repository in your github space).
  2. Clone your fork to your local machine: git clone [email protected]:/MPS.git. Depending on your internet connection, this may take a long time, MPS is big. Consider using the --depth git parameter to clone only part of the history of the project to save time and space.
  3. It is preferable to work in your own branch, so create a new branch to work in git checkout -b my_branch_name.
  4. Open the project in IntelliJ IDEA (either Community or Ultimate Edition). Since IDEA 2023.3 you have to install the Ant plugin as well as the Plugin DevKit plugin, without which the MPS project cannot be compiled.
  5. Attach JB JDK 17 to the project.
    1. Download latest JB JDK 17 for your OS and your version of MPS. Go to the MPS TeamCity site, scroll to the build configuration that corresponds to the MPS version that you are trying to build and locate the JDK distribution (e.g. 2022.2 -> Distribution -> Get Resources). Click on the Artifacts symbol of the last successful build of Get Resources and choose the distribution that you need. Make sure you grab jbrsdk not jbsdk.
    2. Main menu -> File -> Project Structure opens the Project Structure dialog.
    3. Under Platform Settings -> SDK, add a new JDK named "JB JDK 17".
  6. Additionally, create an IntelliJ Platform Plugin SDK in the same Platform Settings -> SDK dialog and name it "IDEA IC". The ideaIntegrationCommon, IDEAPlugin and ups-idea-plugin modules need this SDK and they will be using it automatically as soon as you create it and give it the "IDEA IC" name. For more details on how to add an IntelliJ Platform Plugin SDK, consult this help page.
  7. Rebuild the project from the Build menu (it will take quite a while the first time). If you get errors reported, please revisit point 4. Without the Ant plugin, IDEA is not able to download the dependencies.
  8. Run the MPS -> Run run configuration in the Run menu. (From menu Run select Run..., which shows a popup menu, then expand the MPS option into a submenu with mouse or with the right arrow key and choose "Run" from the submenu)
  9. To debug MPS, got again to the Run menu and select Debug..., which shows a popup menu. In this menu expand the MPS option into a submenu with mouse or with the right arrow key and choose "Debug" from the submenu.
  10. Once MPS starts, open the MPS project (point MPS to the root folder of what you've cloned).

Download

If you'd prefer a ready-to-use build, please head over to the Download page and grab an installation package of your choice.

License

MPS is licensed under the Apache 2 open-source license. See the complete MPS license agreement for full details.

System requirements

To build JetBrains MPS from sources you need JDK 17. 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 2019.3.* for MPS 2019.3 and the 193.* 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/).


Develop with pleasure! JetBrains MPS Team

mps's People

Contributors

alperovich avatar alshan avatar apyshkin avatar artem-tikhomirov avatar artemohanjanyan avatar ashatalin avatar atsky avatar cdelabou avatar coolya avatar danilla avatar fisakov avatar glebleonov avatar inspirer avatar juliabeliaeva avatar marekkodr avatar marialebedeva avatar maros-sandor avatar mazine avatar mburyakov avatar mvlassiev avatar mvvolkov1 avatar oscarmarcelo88 avatar penemue avatar qradimir avatar sergej-koscejev avatar temyurchenko avatar timzam avatar ttim avatar vaclav avatar victor-matchenko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.