diff --git a/execute/README.md b/execute/README.md index 204a267..9bde95f 100644 --- a/execute/README.md +++ b/execute/README.md @@ -107,3 +107,224 @@ val executeMethod by tasks.registering(JavaExec::class) { args("--arg", "second argument") } ``` + +## Maven example + +```xml + + + 4.0.0 + com.example.mps + mps-build-backends-execute-runner + 1.0.0-SNAPSHOT + pom + + + REPLACE_WITH_BUILD_BACKENDS_EXECUTE_VERSION + + REPLACE_WITH_ABSOLUTE_PATH_TO_MPS_HOME + + ${mps.home}/lib/jna/amd64 + + ${project.build.directory}/idea-system + ${project.build.directory}/idea-config + + + REPLACE_WITH_PATH_TO_MPS_PROJECT_TO_OPEN + + REPLACE_WITH_PLUGIN_ID + + ${mps.home}/plugins + + REPLACE_WITH_PATH_TO_CUSTOM_PLUGIN_LOCATION + + + REPLACE_WITH_MPS_MODULE_NAME + + + REPLACE_WITH_FULLY_QUALIFIED_CLASS_NAME + + + REPLACE_WITH_METHOD_NAME + + + REPLACE_WITH_ARGUMENT_VALUE + + + : + + + ${project.build.directory}/dependency/build-backends-execute + + + + + + + ${mps.home}/lib/*${classpath.separator}${build.backends.dependency.dir}/*${classpath.separator}:${mps.home}/plugins/*/lib/*${classpath.separator}${mps.home}/lib/modules/*${classpath.separator}${mps.home}/lib/mpsant/* + + + + + + + de.itemis.mps.build-backends + execute + ${build.backends.version} + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.6.1 + + + + copy-build-backends-execute-runtime + generate-resources + + copy-dependencies + + + ${build.backends.dependency.dir} + runtime + true + false + true + + + + + + + org.codehaus.mojo + exec-maven-plugin + 3.5.0 + + + run-build-backends-execute + verify + + + exec + + + java + + + -Didea.home.path=${mps.home} + -Didea.plugins.path=${mps.plugin.root} + -Didea.system.path=${idea.system.path} + -Didea.config.path=${idea.config.path} + -Djna.boot.library.path=${jna.boot.library.path} + + -Dintellij.platform.load.app.info.from.resources=true + + + + --add-opens=java.base/java.io=ALL-UNNAMED + --add-opens=java.base/java.lang=ALL-UNNAMED + --add-opens=java.base/java.lang.reflect=ALL-UNNAMED + --add-opens=java.base/java.net=ALL-UNNAMED + --add-opens=java.base/java.nio=ALL-UNNAMED + --add-opens=java.base/java.nio.charset=ALL-UNNAMED + --add-opens=java.base/java.text=ALL-UNNAMED + --add-opens=java.base/java.time=ALL-UNNAMED + --add-opens=java.base/java.util=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent=ALL-UNNAMED + --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED + --add-opens=java.base/jdk.internal.vm=ALL-UNNAMED + --add-opens=java.base/sun.nio.ch=ALL-UNNAMED + --add-opens=java.base/sun.nio.fs=ALL-UNNAMED + --add-opens=java.base/sun.security.ssl=ALL-UNNAMED + --add-opens=java.base/sun.security.util=ALL-UNNAMED + --add-opens=java.desktop/java.awt=ALL-UNNAMED + --add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED + --add-opens=java.desktop/java.awt.event=ALL-UNNAMED + --add-opens=java.desktop/java.awt.image=ALL-UNNAMED + --add-opens=java.desktop/java.awt.peer=ALL-UNNAMED + --add-opens=java.desktop/javax.swing=ALL-UNNAMED + --add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED + --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED + --add-opens=java.desktop/javax.swing.text.html.parser=ALL-UNNAMED + --add-opens=java.desktop/sun.awt=ALL-UNNAMED + --add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED + --add-opens=java.desktop/sun.awt.image=ALL-UNNAMED + --add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED + --add-opens=java.desktop/sun.font=ALL-UNNAMED + --add-opens=java.desktop/sun.java2d=ALL-UNNAMED + --add-opens=java.desktop/sun.swing=ALL-UNNAMED + --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED + --add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED + --add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED + --add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED + + -cp + ${mps.execute.classpath} + + de.itemis.mps.gradle.execute.MainKt + + + --plugin + ${mps.plugin.id} + + --project + ${mps.project.dir} + + --module + ${mps.execute.module} + + --class + ${mps.execute.class} + + --method + ${mps.execute.method} + + --plugin-root + ${mps.plugin.root} + + --plugin-location + ${mps.plugin.location} + + --arg + ${mps.execute.arg} + + + + + + + + +```