### Ant Build Script Example Source: https://github.com/jetbrains/mps/blob/master/IdeaPlugin/readme.txt An example of an Ant build target for installing the MPS plugin. ```xml ``` -------------------------------- ### GNU General Public License (GPL) - Copyright Disclaimer Example Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This section provides an example of a copyright disclaimer that an employer or school might sign for a program, as recommended by the GPL. It includes a sample text and signature. ```APIDOC Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. signature of Ty Coon, 1 April 1989 Ty Coon, President of Vice ``` -------------------------------- ### Starting JetBrains MPS on Different Platforms Source: https://github.com/jetbrains/mps/blob/master/readme.txt Provides commands to start JetBrains MPS on Windows, macOS, and Unix-based systems. It also includes an optional step to add the MPS bin directory to the system's PATH environment variable for easier access. ```batch mps.bat ``` ```text Execute JetBrains MPS application. ``` ```bash mps.sh ``` ```text Add the "{installation home}/bin" to your PATH environmental variable ``` -------------------------------- ### IntelliJ IDEA SDK Setup Source: https://github.com/jetbrains/mps/blob/master/README.md Steps to configure IntelliJ IDEA for MPS development, including setting up JDK and IntelliJ Platform Plugin SDKs. ```text 1. Main menu -> File -> Project Structure -> Platform Settings -> SDK. 2. Add a new JDK named "JB JDK 21". 3. Create an "IntelliJ Platform Plugin SDK" named "IDEA IC". ``` -------------------------------- ### Requirement Definitions Language Example Source: https://github.com/jetbrains/mps/blob/master/samples/requirementTracking/README.md Demonstrates the usage of the RequirementDefinitions language within MPS, allowing users to write requirements and specifications. Includes an example of TextGen generating plain text files from these specifications. ```MPS The RequirementDefinitions languages enables users to write their requirements/specifications in MPS. A simple TextGen generates plain text files containing the requirements. ``` -------------------------------- ### Install MPS Plugin from Update Site Source: https://github.com/jetbrains/mps/blob/master/IdeaPlugin/readme.txt Instructions for installing the MPS plugin directly from the JetBrains plugin update site within IntelliJ IDEA. ```text 1. Open IntelliJ IDEA CE 2. Go to Settings/Preferences -> Plugins 3. Click 'Install JetBrains plugins...' 4. Search for 'MPS' and select all MPS* plugins 5. Right-click and select 'Download & install' 6. Restart IntelliJ IDEA CE ``` -------------------------------- ### Build and Install MPS Plugin Locally Source: https://github.com/jetbrains/mps/blob/master/IdeaPlugin/readme.txt Steps to build the MPS plugin from its source code and install it into a running IntelliJ IDEA instance. ```text 1. Open the IdeaPlugin project from MPS sources in IntelliJ IDEA CE. 2. Ignore 'Error Loading Project: Cannot load 4 facets' and other errors. 3. Configure project settings (see below). 4. Open the 'Ant build' tool. 5. Run the 'MPS-as-IDEA-plugin/install-plugin' Ant target. 6. Revert changes in Version Control if necessary. 7. Restart IntelliJ IDEA CE. ``` -------------------------------- ### Interactive Mode Notice Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This snippet demonstrates the standard output for a program starting in interactive mode, as per the GNU General Public License requirements. It includes version, copyright, warranty, and redistribution information. ```APIDOC Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. ``` -------------------------------- ### Swing UI Builder with BaseLanguage Source: https://github.com/jetbrains/mps/blob/master/samples/lightweightDSL/README.md Illustrates how to inject a custom UI builder into plain BaseLanguage classes to define Swing-based UIs within MPS. ```BaseLanguage class MySwingUI extends BaseLanguage { // UI definition using custom builder } ``` -------------------------------- ### Dependent Types and Optional Parameters Source: https://github.com/jetbrains/mps/blob/master/samples/lightweightDSL/README.md Demonstrates the usage of DependentTypes and optional method parameters within the Lightweight DSL. ```MPS function processData(input: DependentType, optionalParam?: string) { // ... implementation ... } ``` -------------------------------- ### Data Processing Pipelines with Custom Concepts Source: https://github.com/jetbrains/mps/blob/master/samples/lightweightDSL/README.md Shows an advanced scenario where custom concepts extending ClassConcept are used to build data-processing pipelines with filter-map functionality. ```MPS concept FilterMapPipeline extends ClassConcept { functions: filter(data: T): T; functions: map(data: T): R; } ``` -------------------------------- ### Java Code Generation Example Source: https://github.com/jetbrains/mps/blob/master/samples/_theSimplestLanguage/README.md This snippet demonstrates the Java code generated by the MPS language definition. It includes a public static void main method that prints the property value to standard output. ```Java public static void main(String[] args) { // Generated code to print the property value System.out.println("Property Value"); } ``` -------------------------------- ### Introduce Variable Refactoring Example Source: https://github.com/jetbrains/mps/blob/master/workbench/mps-tips/source/tips/IntroduceVariable.html Demonstrates the usage of the Introduce Variable refactoring in MPS. It shows how to select an expression and apply the refactoring to create a new variable, simplifying the code. ```MPS Before Refactoring: // Select an expression in the code System.out.println(complexCalculation(a, b) + anotherValue); After Refactoring: // The expression is extracted into a new variable var extractedValue = complexCalculation(a, b); System.out.println(extractedValue + anotherValue); ``` -------------------------------- ### Building MPS from Sources Source: https://github.com/jetbrains/mps/blob/master/README.md Instructions for cloning the MPS repository, setting up the development environment in IntelliJ IDEA, and building the project. ```git git clone git@github.com:/MPS.git git checkout -b my_branch_name ``` ```text 1. Fork the MPS GitHub repository. 2. Clone your fork to your local machine. 3. Create a new branch. 4. Open the project in IntelliJ IDEA. 5. Install Ant plugin and Plugin DevKit plugin. 6. Attach JB JDK 21 to the project. 7. Create an IntelliJ Platform Plugin SDK named "IDEA IC". 8. Rebuild the project. 9. Run the "MPS -> Run" configuration. 10. To debug, select "MPS -> Debug". ``` -------------------------------- ### Enum Value Expression Source: https://github.com/jetbrains/mps/blob/master/languages/baseLanguage/baseLanguage/blStructure.txt Represents an expression to get the value of an enum constant, EnumValueOfExpression. ```MPS concept EnumValueOfExpression extends Expression { Expression value[1]; ref EnumClass enumClass[1]; # concept properties query s_alias() = "valueOf"; query s_dontSubstituteByDefault() = true; } ``` -------------------------------- ### Navigate to File Source: https://github.com/jetbrains/mps/blob/master/workbench/mps-tips/source/tips/GoToClass.html Opens any file in the project by typing its name after invoking the GotoFile shortcut. Similar to navigating to nodes. ```IDE Shortcut Press &shortcut:GotoFile; (Navigate | Go to File) Start typing the file name. ``` -------------------------------- ### Property and Accessor Concepts Source: https://github.com/jetbrains/mps/blob/master/languages/baseLanguage/baseLanguage/blStructure.txt Outlines concepts for properties, their implementations (default and custom), and accessor methods (get and set). ```MPS concept Property extends BaseConcept implements ClassifierMember, INamedConcept { string propertyName; Type type[1]; PropertyImplementation propertyImplementation[1]; } concept PropertyImplementation extends BaseConcept { # concept properties query s_abstract() = true; } concept DefaultPropertyImplementation extends PropertyImplementation { DefaultGetAccessor defaultGetAccessor[1]; DefaultSetAccessor defaultSetAccessor[1]; # concept properties query s_alias() = "default"; } concept PropertyReference extends BaseConcept implements IOperation { ref Property property[1]; } concept CustomPropertyImplementation extends PropertyImplementation { GetAccessor getAccessor[1]; SetAccessor setAccessor[0..1]; # concept properties query s_alias() = "custom"; } concept GetAccessor extends BaseConcept { StatementList statementList[1]; } concept SetAccessor extends BaseConcept { StatementList statementList[1]; # concept properties query s_alias() = "setter"; } concept DefaultGetAccessor extends BaseConcept { } concept DefaultSetAccessor extends BaseConcept { Visibility visibility[0..1]; } ``` -------------------------------- ### Build and Run MPS Plugin Source: https://github.com/jetbrains/mps/blob/master/IdeaPlugin/readme.txt Instructions for compiling the project and running the MPS plugin within IntelliJ IDEA. ```text Build: - Press Ctrl+F9 (Make Project). Run Configurations: - MPS-plugin: Runs a new instance of IDEA CE with MPS2IDEA plugins. - MPS-plugin Debug: Same as above, with remote debugging. - JpsMakeTestSuite: Runs a specific test suite. - MiscTestSuite: Runs a specific test suite. ``` -------------------------------- ### Navigate to Abstract Method Implementation Source: https://github.com/jetbrains/mps/blob/master/workbench/mps-tips/source/tips/GoToImplementation.html This snippet describes how to find the implementation of an abstract method in _BaseLanguage_. It involves positioning the caret at the method's usage or declaration and using the 'GotoImplementation' shortcut. ```IDE Navigation To navigate to the implementation(s) of an abstract method in _BaseLanguage_, position the caret at its usage or its name in the declaration and press &shortcut:GotoImplementation;. ``` -------------------------------- ### Ktor Client OkHttp Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html An integration for Ktor client that uses OkHttp as the underlying HTTP engine. ```Java // Dependency: Ktor Client OkHttp // Version: 3.0.3 // License: Apache 2.0 // Source: https://github.com/ktorio/ktor ``` -------------------------------- ### Configure Project SDK and Platform SDK Source: https://github.com/jetbrains/mps/blob/master/IdeaPlugin/readme.txt Details on setting up the correct Java Development Kit (JDK) and IntelliJ Platform Plugin SDK for the project. ```text Project Structure Dialog: - Project Settings/Project: - Ensure Project SDK is 'JB JDK 17'. If not, create a new SDK pointing to JetBrains JDK 17. - Set Language Level to Java 11 (not Default SDK). - Platform Settings/SDKs: - Create a new IntelliJ Platform Plugin SDK named 'IDEA IC' based on the project SDK. - Note: Re-create 'IDEA IC' if Project SDK changes to update its classpath. ``` -------------------------------- ### Obtaining and Resolving Node Pointers Source: https://github.com/jetbrains/mps/blob/master/workbench/mps-tips/source/tips/NodePointer.html Demonstrates how to use the _node-ptr/XXX/_ expression to get a node pointer and the resolve method to load the actual node. Node pointers are efficient references that do not load the node into memory until explicitly resolved. ```MPS var nodePointer = _node-ptr/someNodeReference/; var actualNode = nodePointer.resolve(); ``` -------------------------------- ### Apache License 2.0 Boilerplate Source: https://github.com/jetbrains/mps/blob/master/license/jetpad_license.txt This snippet provides the standard boilerplate text for applying the Apache License, Version 2.0 to a project. It includes placeholders for copyright year and owner, and the license text itself. ```text Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ``` -------------------------------- ### Spawning External Processes with spawn=true Source: https://github.com/jetbrains/mps/blob/master/tools/ant/welcome.html The and tasks support a `spawn="true"` attribute, allowing started applications to outlive the Ant process. When `spawn=true`, Ant cannot bind to the spawned process's input or output. ```ant ``` -------------------------------- ### Apache License 2.0 Boilerplate Source: https://github.com/jetbrains/mps/blob/master/license/diffutils_license.txt This snippet provides the standard boilerplate text for applying the Apache License, Version 2.0 to a project. It includes the necessary copyright notice and license terms. ```APIDOC Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ``` -------------------------------- ### winp Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the winp library, a Windows process interaction library. Includes version and license. ```APIDOC Library: winp Version: 1.30.1 License: MIT URL: https://github.com/jenkinsci/winp ``` -------------------------------- ### GNU Classpath Exception - Linking and Distribution Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This clarifies the implications of linking the library statically or dynamically with other modules under the GNU Classpath Exception. It states that the entire combination is covered by GPLv2, but allows linking with independent modules under their own licenses. ```APIDOC CLASSPATH EXCEPTION Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License version 2 cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version. ``` -------------------------------- ### JetPad Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the JetPad library, likely related to JetBrains' platform development. Includes version and license. ```APIDOC Library: JetPad Version: 1.0.0 License: Apache 2.0 URL: https://www.apache.org/licenses/LICENSE-2.0 ``` -------------------------------- ### JetBrains MPS License Terms Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This section details the licensing terms for the JetBrains MPS project, including contributor rights for modifications and combinations with the Contributor Version. It specifies conditions under which patent licenses are granted and excluded. ```APIDOC 2.2. Grant of Patent License (a) Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Contributor Version, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by the Contributor Version alone or by combination of the Contributor Version with its Contributor Version (or portions thereof). (b) Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer: (1) Modifications made by that Contributor (or portions thereof); and (2) the combination of Modifications made by that Contributor with its Contributor Version (or portions of such combination). (c) The licenses granted in Sections 2.2(a) and 2.2(b) are effective on the date Contributor first distributes or otherwise makes the Modifications available to a third party. (d) Notwithstanding Section 2.2(b) above, no patent license is granted: (1) for any code that Contributor has deleted from the Contributor Version; (2) for infringements caused by: (i) third party modifications of Contributor Version, or (ii) the combination of Modifications made by that Contributor with other software (except as part of the Contributor Version) or other devices; or (3) under Patent Claims infringed by Covered Software in the absence of Modifications made by that Contributor. ``` -------------------------------- ### JetBrains MPS License Versions Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This section describes the versioning of the JetBrains MPS license, indicating that Oracle is the initial license steward and may publish revised versions. ```APIDOC 4. Versions of the License 4.1. New Versions. Oracle is the initial license steward and may publish revised and/or new versions of this License from time to time. Each version will be given a distinguishing version number. Except as provided in Section ``` -------------------------------- ### Bash-Preexec Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about Bash-Preexec, a script to enhance Bash command-line editing. Includes version and license details. ```APIDOC Dependency: Name: Bash-Preexec URL: https://github.com/rcaloras/bash-preexec Version: 0.5.0 License: Type: MIT URL: https://github.com/rcaloras/bash-preexec/blob/master/LICENSE.md ``` -------------------------------- ### Hamcrest Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the Hamcrest library, a framework for writing programmer-defined matchers. Includes version and license. ```APIDOC Library: Hamcrest Version: 1.3 License: New BSD URL: https://opensource.org/licenses/BSD-3-Clause ``` -------------------------------- ### MPS Requirement Tracking Language Constructs Source: https://github.com/jetbrains/mps/blob/master/samples/requirementTracking/README.md Illustrates key MPS language constructs used for requirement tracking, including node attributes for annotating nodes, multiple editors (presentations) with editor hints for switching, programmatic editor access, and reference scoping to manage collections of references. ```MPS * Node attributes to annotate nodes of different languages * Multiple editors (presentations) per concept and switching between them with editor hints * Programmatic access to the selected editor hints as well as programmatic selection of an editor * Reference scoping to avoid repetition in collections of references ``` -------------------------------- ### GNU General Public License (GPL) Version 2 Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt The GNU General Public License (GPL) Version 2, June 1991. This license guarantees users the freedom to share and change software, ensuring it remains free for all users. ```APIDOC GNU General Public License (GPL) Version 2: Copyright: (C) 1989, 1991 Free Software Foundation, Inc. Address: 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA Permissions: Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Core Principles: Guarantees freedom to share and change software, ensuring it is free for all users. Applicability: Applies to most Free Software Foundation software and other programs whose authors commit to using it. Freedom Definition: Refers to freedom, not price. Ensures freedom to distribute copies, receive source code, change software, and use pieces in new free programs. Restrictions: Forbids anyone from denying users these rights or asking them to surrender their rights. ``` -------------------------------- ### CDDL Notice Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt Notice pursuant to Section 9 of the Common Development and Distribution License (CDDL). It specifies governing law, jurisdiction, and venue for litigation. ```APIDOC CDDL Notice: Governing Law: State of California (excluding conflict-of-law provisions) Jurisdiction: Federal Courts of the Northern District of California and state courts of the State of California Venue: Santa Clara County, California ``` -------------------------------- ### ProjectCode Solution with Requirement Traces Source: https://github.com/jetbrains/mps/blob/master/samples/requirementTracking/README.md Illustrates the ProjectCode solution, simulating project code (Java and XML) that conforms to specifications. Code is annotated with requirement traces, visible only when the 'ShowTraces' editor hint is active. Intentions allow adding or removing traces. ```MPS The ProjectCode solution simulates the actual code of a project that must conform to the specification contained in the Specification solution. The code is organized by functionality into models. Each model imports the relevant specification models from the Specification solution. The code, both Java and XML is annotated with requirement traces. The traces are only visible, when the ShowTraces editor hint is pushed. With intentions additional traces can be added or removed. ``` -------------------------------- ### slf4j-api Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the slf4j-api library, a facade for various logging frameworks. Includes version and license. ```APIDOC Library: slf4j-api Version: 2.0.13 License: MIT URL: https://slf4j.org/ ``` -------------------------------- ### qdox-java-parser Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the qdox-java-parser library, used for parsing Java code. Includes its version and license. ```APIDOC Library: qdox-java-parser Version: 2.2.0 License: Apache 2.0 URL: https://github.com/paul-hammant/qdox ``` -------------------------------- ### Ktor Client Core Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html The core component of the Ktor client, providing a framework for making HTTP requests. ```Java // Dependency: Ktor Client Core // Version: 3.0.3 // License: Apache 2.0 // Source: https://github.com/ktorio/ktor ``` -------------------------------- ### Jackson Core License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for Jackson Core. ```Apache 2.0 https://github.com/FasterXML/jackson-core/blob/2.14/LICENSE ``` -------------------------------- ### Kotlinx Metadata Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the Kotlinx Metadata library, for handling Kotlin metadata. Includes version and license. ```APIDOC Library: Kotlinx Metadata Version: 0.4.0 License: Apache 2.0 URL: https://www.apache.org/licenses/LICENSE-2.0 ``` -------------------------------- ### ISO RELAX License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for ISO RELAX. ```MIT https://sourceforge.net/projects/iso-relax/ ``` -------------------------------- ### Apache License 2.0 Boilerplate Source: https://github.com/jetbrains/mps/blob/master/LICENSE.txt This snippet shows the standard boilerplate text required when applying the Apache License, Version 2.0 to a project. It includes copyright information and the license terms. ```text Copyright 2000-2021 JetBrains s.r.o. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ``` -------------------------------- ### HttpComponents HttpClient License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for HttpComponents HttpClient. ```Apache 2.0 https://github.com/apache/httpcomponents-client/blob/master/LICENSE.txt ``` -------------------------------- ### JetBrains MPS Distribution Obligations Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This section outlines the distribution obligations for the JetBrains MPS project, focusing on the availability of source code, handling of modifications, required notices, and the application of additional terms. ```APIDOC 3. Distribution Obligations 3.1. Availability of Source Code. Any Covered Software that You distribute or otherwise make available in Executable form must also be made available in Source Code form and that Source Code form must be distributed only under the terms of this License. You must include a copy of this License with every copy of the Source Code form of the Covered Software You distribute or otherwise make available. You must inform recipients of any such Covered Software in Executable form as to how they can obtain such Covered Software in Source Code form in a reasonable manner on or through a medium customarily used for software exchange. 3.2. Modifications. The Modifications that You create or to which You contribute are governed by the terms of this License. You represent that You believe Your Modifications are Your original creation(s) and/or You have sufficient rights to grant the rights conveyed by this License. 3.3. Required Notices. You must include a notice in each of Your Modifications that identifies You as the Contributor of the Modification. You may not remove or alter any copyright, patent or trademark notices contained within the Covered Software, or any notices of licensing or any descriptive text giving attribution to any Contributor or the Initial Developer. 3.4. Application of Additional Terms. You may not offer or impose any terms on any Covered Software in Source Code form that alters or restricts the applicable version of this License or the recipients' rights hereunder. You may choose to offer, and to charge a fee for, warranty, support, indemnity or liability obligations to one or more recipients of Covered Software. However, you may do so only on Your own behalf, and not on behalf of the Initial Developer or any Contributor. You must make it absolutely clear that any such warranty, support, indemnity or liability obligation is offered by You alone, and You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of warranty, support, indemnity or liability terms You offer. 3.5. Distribution of Executable Versions. You may distribute the Executable form of the Covered Software under the terms of this License or under the terms of a license of Your choice, which may contain terms different from this License, provided that You are in compliance with the terms of this License and that the license for the Executable form does not attempt to limit or alter the recipient's rights in the Source Code form from the rights set forth in this License. If You distribute the Covered Software in Executable form under a different license, You must make it absolutely clear that any terms which differ from this License are offered by You alone, not by the Initial Developer or Contributor. You hereby agree to indemnify the Initial Developer and every Contributor for any liability incurred by the Initial Developer or such Contributor as a result of any such terms You offer. 3.6. Larger Works. You may create a Larger Work by combining Covered Software with other code not governed by the terms of this License and distribute the Larger Work as a single product. In such a case, You must make sure the requirements of this License are fulfilled for the Covered Software. ``` -------------------------------- ### rd Framework Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the rd framework library, a reactive data framework for Kotlin. Includes version and license. ```APIDOC Library: rd framework Version: 2025.2.2 License: Apache 2.0 URL: https://github.com/JetBrains/rd/tree/master/rd-kt/rd-framework ``` -------------------------------- ### IntelliJ IDEA Test Discovery Agent License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for IntelliJ IDEA Test Discovery Agent. ```Apache 2.0 https://github.com/JetBrains/intellij-coverage/blob/master/LICENSE ``` -------------------------------- ### Navigate to Super Method Source: https://github.com/jetbrains/mps/blob/master/workbench/mps-tips/source/tips/GoToOverriden.html This snippet describes how to navigate to the super method that the current method overrides in the _BaseLanguage_ context within JetBrains MPS. It specifies the keyboard shortcut for this action. ```IDE Shortcut Control/Cmd + U ``` -------------------------------- ### Compose Multiplatform Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about JetBrains's Compose Multiplatform, a UI toolkit for Kotlin. Includes version and license details. ```APIDOC Dependency: Name: Compose Multiplatform URL: https://github.com/JetBrains/compose-multiplatform Version: 1.8.0-alpha04 License: Type: Apache 2.0 URL: https://github.com/JetBrains/compose-multiplatform/blob/master/LICENSE.txt ``` -------------------------------- ### JMock Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the JMock library, a framework for creating mock objects in Java. Includes version and license. ```APIDOC Library: JMock Version: 2.8.2 License: New BSD URL: https://opensource.org/licenses/BSD-3-Clause ``` -------------------------------- ### snakeyaml-engine Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the snakeyaml-engine library, a YAML parser and emitter. Includes version and license. ```APIDOC Library: snakeyaml-engine Version: 2.9 License: Apache 2.0 URL: https://bitbucket.org/snakeyaml/snakeyaml-engine/ ``` -------------------------------- ### Netty Libraries Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Netty is an asynchronous event-driven network application framework. It simplifies the development of high-performance network applications such as protocol servers and clients. ```text netty-buffer (4.2.0.RC2) netty-codec-compression (4.2.0.RC2) netty-codec-http (4.2.0.RC2) netty-codec-protobuf (4.2.0.RC2) License: Apache 2.0 ``` -------------------------------- ### unit-api Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the unit-api library, for representing units of measurement. Includes version and license. ```APIDOC Library: unit-api Version: 1.0 License: BSD 3-Clause URL: https://github.com/unitsofmeasurement/unit-api ``` -------------------------------- ### Command Line Interface Parser for Java Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about a Java library for parsing command-line arguments. Includes version and license details. ```APIDOC Dependency: Name: Command Line Interface Parser for Java URL: https://github.com/spullara/cli-parser?tab=readme-ov-file Version: 1.1.6 License: Type: Apache 2.0 URL: https://github.com/spullara/cli-parser/blob/95edeb2d1a21fb13760b4f96f976a7f3108e0942/README.md?plain=1#L65 ``` -------------------------------- ### xml-resolver Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the xml-resolver library, for resolving XML resources. Includes version and license. ```APIDOC Library: xml-resolver Version: 1.2 License: Apache 2.0 URL: https://xerces.apache.org/xml-commons/components/resolver/ ``` -------------------------------- ### AssertJ fluent assertions Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details for AssertJ, a fluent assertion library for Java. Includes version and license information. ```APIDOC Dependency: Name: AssertJ fluent assertions URL: https://github.com/assertj/assertj-core Version: 3.27.3 License: Type: Apache 2.0 URL: https://github.com/assertj/assertj-core/blob/main/LICENSE.txt ``` -------------------------------- ### rd Core Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the rd core library, the foundational part of the JetBrains Rd framework for Kotlin. Includes version and license. ```APIDOC Library: rd core Version: 2025.2.2 License: Apache 2.0 URL: https://github.com/JetBrains/rd/tree/master/rd-kt/rd-core ``` -------------------------------- ### GNU General Public License (GPL) - Linking Proprietary Applications Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This part of the GPL clarifies that it does not permit incorporating GPL-licensed programs into proprietary programs. It suggests using the GNU Library General Public License for subroutine libraries. ```APIDOC This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. ``` -------------------------------- ### swingx Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the swingx library, providing extended Swing components. Includes version and license. ```APIDOC Library: swingx Version: 1.6.2-2 License: LGPL 2.1 URL: https://central.sonatype.com/artifact/org.swinglabs/swingx-core/1.6.2-2 ``` -------------------------------- ### AhoCorasickDoubleArrayTrie Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details for the AhoCorasickDoubleArrayTrie library, used for efficient string matching. Includes version and license information. ```APIDOC Dependency: Name: AhoCorasickDoubleArrayTrie URL: https://github.com/hankcs/AhoCorasickDoubleArrayTrie Version: 1.2.3 License: Type: Apache 2.0 URL: https://github.com/hankcs/AhoCorasickDoubleArrayTrie/blob/master/README.md#license ``` -------------------------------- ### Apache Commons Compress Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about Apache Commons Compress, a library for handling various compression formats. Includes version and license details. ```APIDOC Dependency: Name: Apache Commons Compress URL: https://commons.apache.org/proper/commons-compress/ Version: 1.27.1 License: Type: Apache 2.0 URL: https://github.com/apache/commons-compress/blob/master/LICENSE.txt ``` -------------------------------- ### Apache Commons HTTPClient Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about Apache Commons HttpClient, a library for making HTTP requests. Includes version and license details. ```APIDOC Dependency: Name: Apache Commons HTTPClient URL: https://hc.apache.org/httpclient-3.x Version: 3.1 (with patch by JetBrains) License: Type: Apache 2.0 URL: https://svn.apache.org/viewvc/httpcomponents/oac.hc3x/trunk/LICENSE.txt?view=markup ``` -------------------------------- ### GNU Classpath Exception - Oracle's Clarification Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This exception, provided by Oracle America, Inc., clarifies the terms for certain source files distributed with the software. It allows these files to be used under the terms of the GNU Classpath Exception when explicitly stated in the file's header. ```APIDOC Certain source files distributed by Oracle America, Inc. and/or its affiliates are subject to the following clarification and special exception to the GPLv2, based on the GNU Project exception for its Classpath libraries, known as the GNU Classpath Exception, but only where Oracle has expressly included in the particular source file's header the words "Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the LICENSE file that accompanied this code." ``` -------------------------------- ### Apache Commons Logging Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about Apache Commons Logging, a flexible logging API. Includes version and license details. ```APIDOC Dependency: Name: Apache Commons Logging URL: https://commons.apache.org/proper/commons-logging/ Version: 1.2 License: Type: Apache 2.0 URL: https://github.com/apache/commons-logging/blob/master/LICENSE.txt ``` -------------------------------- ### zip-signer Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the zip-signer library, for signing zip archives. Includes version and license. ```APIDOC Library: zip-signer Version: 0.1.24 License: Apache 2.0 URL: https://github.com/JetBrains/marketplace-zip-signer ``` -------------------------------- ### Apache Commons CLI Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details for Apache Commons CLI, a library for parsing command-line arguments. Includes version and license information. ```APIDOC Dependency: Name: Apache Commons CLI URL: https://commons.apache.org/proper/commons-cli/ Version: 1.9.0 License: Type: Apache 2.0 URL: https://github.com/apache/commons-cli/blob/master/LICENSE.txt ``` -------------------------------- ### Apache Commons IO Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details for Apache Commons IO, a library providing utility classes for I/O operations. Includes version and license information. ```APIDOC Dependency: Name: Apache Commons IO URL: https://commons.apache.org/proper/commons-io/ Version: 2.18.0 License: Type: Apache 2.0 URL: https://github.com/apache/commons-io/blob/master/LICENSE.txt ``` -------------------------------- ### rd Swing Integration Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the rd Swing integration library, part of the JetBrains Rd framework for Kotlin. Includes version and license. ```APIDOC Library: rd Swing integration Version: 2025.2.2 License: Apache 2.0 URL: https://github.com/JetBrains/rd/tree/master/rd-kt/rd-swing ``` -------------------------------- ### Statement List and Creator Concepts Source: https://github.com/jetbrains/mps/blob/master/languages/baseLanguage/baseLanguage/blStructure.txt Includes concepts for statement list containers, instance initializers, and class creators. ```MPS interface concept IStatementListContainer { } concept InstanceInitializer extends BaseConcept implements ClassifierMember, IStatementListContainer { StatementList statementList[1]; } concept ClassCreator extends AbstractCreator implements IMethodCall { ref ConstructorDeclaration constructorDeclaration[0..1]; Type typeParameter[0..n]; } ``` -------------------------------- ### Kotlin Coroutines for Guava Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Integrates Kotlin Coroutines with Google Guava libraries, enabling asynchronous programming patterns. ```Kotlin // Dependency: Kotlin Coroutines for Guava // Version: 1.10.1-intellij-4 // License: Apache 2.0 // Source: https://github.com/Kotlin/kotlinx.coroutines ``` -------------------------------- ### Groovy Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details for Groovy, a dynamic language for the JVM. Includes version and license information. ```APIDOC Dependency: Name: Groovy URL: https://groovy-lang.org/ Version: 3.0.19 License: Type: Apache 2.0 URL: https://github.com/apache/groovy/blob/master/LICENSE ``` -------------------------------- ### Navigate Highlighted Usages in MPS Source: https://github.com/jetbrains/mps/blob/master/workbench/mps-tips/source/tips/HighlightUsagesInFile.html Allows navigation between highlighted variable usages using dedicated keyboard shortcuts. ```MPS Shortcuts Find Next Usage: &shortcut:FindNext; Find Previous Usage: &shortcut:FindPrevious; ``` -------------------------------- ### sa-jdwp Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the sa-jdwp library, related to Java Debug Wire Protocol. Includes version and license. ```APIDOC Library: sa-jdwp Version: 1.24 License: GPL 2.0 + Classpath URL: https://github.com/JetBrains/jdk-sa-jdwp ``` -------------------------------- ### Jackson Module Kotlin License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for Jackson Module Kotlin. ```Apache 2.0 https://github.com/FasterXML/jackson-module-kotlin/blob/2.16/LICENSE ``` -------------------------------- ### Atlassian Commonmark Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about Atlassian Commonmark, a Java implementation of the CommonMark specification. Includes license details. ```APIDOC Dependency: Name: Atlassian Commonmark URL: https://github.com/commonmark/commonmark-java License: Type: BSD 2-Clause URL: https://github.com/commonmark/commonmark-java/blob/main/LICENSE.txt ``` -------------------------------- ### If and Unless Control Flow Integration for Java Source: https://github.com/jetbrains/mps/blob/master/samples/sampleJavaExtensions/README.txt Introduces new control-flow concepts, 'If' and 'Unless', demonstrating smooth integration into Java and highlighting dataflow problem handling. ```MPS /* IfAndUnless - An introductory control-flow concepts giving you a taste of how tightly and smoothly new language constructs can be integrated into Java. The way dataflow problems are handled deserves your special focus. */ ``` -------------------------------- ### Apache Axis Dependency Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about Apache Axis, a framework for creating web services. Includes version and license details. ```APIDOC Dependency: Name: Apache Axis URL: https://axis.apache.org/axis/ Version: 1.4 License: Type: Apache 2.0 URL: https://svn.apache.org/viewvc/axis/axis1/java/trunk/LICENSE?view=markup ``` -------------------------------- ### Guava License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for Guava. ```Apache 2.0 https://github.com/google/guava/raw/master/LICENSE ``` -------------------------------- ### Java Compatibility License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for Java Compatibility. ```GPL 2.0 + Classpath https://github.com/JetBrains/intellij-deps-java-compatibility/raw/master/LICENSE ``` -------------------------------- ### Diff Utils Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the Diff Utils library, for generating and displaying differences between text. Includes version and license. ```APIDOC Library: Diff Utils Version: 1.2.1 License: Apache 2.0 URL: https://www.apache.org/licenses/LICENSE-2.0 ``` -------------------------------- ### GNU Classpath Exception - Independent Programs and Commingling Source: https://github.com/jetbrains/mps/blob/master/license/javahelp_license.txt This section addresses the inclusion of independent programs licensed under terms incompatible with GPLv2 (e.g., Apache License 2.0) within the software package. It warns against commingling GPLv2 code with incompatible licensed code. ```APIDOC Oracle includes multiple, independent programs in this software package. Some of those programs are provided under licenses deemed incompatible with the GPLv2 by the Free Software Foundation and others. For example, the package includes programs licensed under the Apache License, Version 2.0. Such programs are licensed to you under their original licenses. Oracle facilitates your further distribution of this package by adding the Classpath Exception to the necessary parts of its GPLv2 code, which permits you to use that code in combination with other independent modules not licensed under the GPLv2. However, note that this would not permit you to commingle code under an incompatible license with Oracle's GPLv2 licensed code by, for example, cutting and pasting such code into a file also containing Oracle's GPLv2 licensed code and then distributing the result. Additionally, if you were to remove the Classpath Exception from any of the files to which it applies and distribute the result, you would likely be required to license some or all of the other code in that distribution under the GPLv2 as well, and since the GPLv2 is incompatible with the license terms of some items included in the distribution by Oracle, removing the Classpath Exception could therefore effectively compromise your ability to further distribute the package. ``` -------------------------------- ### Custom Presentation and Scoping Source: https://github.com/jetbrains/mps/blob/master/samples/languagePatterns/README.md Demonstrates referencing components within containers, ensuring references include both container and component names in completion and editor. Scoping rules restrict references to existing components and filter out already referred ones. ```mps /* Concept: Container - components: Component* Concept: ComponentUsage - componentRef: Component (reference) Scoping Rules: - Ensure references are to Components within the same Container. - Filter completion menu to exclude already referenced Components. */ ``` -------------------------------- ### uom-lib-common Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the uom-lib-common library, a common library for units of measurement. Includes version and license. ```APIDOC Library: uom-lib-common Version: 1.1 License: BSD 3-Clause URL: https://github.com/unitsofmeasurement/uom-lib ``` -------------------------------- ### zstd-jni Library Information Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Information about the zstd-jni library, providing Java bindings for Zstandard compression. Includes version and license. ```APIDOC Library: zstd-jni Version: 1.5.7-3 License: BSD 2-Clause URL: https://github.com/luben/zstd-jni ``` -------------------------------- ### JSON Schema Draft 06 License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for JSON Schema Draft 06. ```BSD 3-Clause https://github.com/json-schema-org/json-schema-spec/blob/main/LICENSE ``` -------------------------------- ### Jackson Databind License Source: https://github.com/jetbrains/mps/blob/master/license/third-party-libraries.html Details the license for Jackson Databind. ```Apache 2.0 https://github.com/FasterXML/jackson-databind/blob/2.16/LICENSE ```