### 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
```