8 Stimmen

Kommandozeilen-Compiler für XTend

Hallo zusammen
Ich habe XTend (http://xtend-lang.org) gefunden und es klingt wirklich toll! Aber ich kann keinen eigenständigen Kommandozeilen-Compiler für diese Sprache finden. Es scheint nur unter Eclipse zu laufen. Ich habe einige Nachforschungen angestellt und einige Leute gefunden, die sagen, dass es einen Kommandozeilen-Compiler gibt, aber ich kann keinen Download-Link finden.
Gibt es einen eigenständigen Compiler, oder benötigen Sie Eclipse, um ihn zu verwenden?
Mit freundlichen Grüßen

7voto

Zoltán Ujhelyi Punkte 13648

Es ist nicht dokumentiert, aber es gibt in der Tat einen Kommandozeilen-Compiler in der Xtend-Codebasis - derselbe, der von der Maven-Plugin (dies ist auf der Xtend-Homepage dokumentiert).

Wenn das Maven-Plugin bei Ihnen nicht funktioniert, können Sie die eigenständige jar-Version direkt aus dem Maven-Repository herunterladen unter http://build.eclipse.org/common/xtend/maven/org/eclipse/xtend/org.eclipse.xtend.standalone/2.3.1/ (für Version 2.3.1), und führen Sie die org.eclipse.xtend.core.compiler.batch.Main klasse zu erhalten.

Diese Klasse führt den xtend-Compiler aus, und es können Verwendungsinformationen angezeigt werden (auch lesbar von der Quelldatei ).

2voto

Aykut Kllic Punkte 848

Sie können den xtend Standalone-Compiler verwenden. In meinem Fall habe ich die folgenden .jar-Dateien in einen Ordner namens xtendc kopiert:

com.google.guava_21.0.0.v20170206-1425.jar
com.google.inject_3.0.0.v201312141243.jar
javax.inject_1.0.0.v20091030.jar
org.antlr.runtime_3.2.0.v201101311130.jar
org.apache.log4j_1.2.15.v201012070815.jar
org.eclipse.emf.common_2.15.0.v20180914-1817.jar
org.eclipse.emf.ecore.xmi_2.15.0.v20180706-1146.jar
org.eclipse.emf.ecore_2.16.0.v20181124-0637.jar
org.eclipse.equinox.common_3.10.200.v20181021-1645.jar
org.eclipse.jdt.core_3.16.0.v20181130-1748.jar
org.eclipse.xtend.core_2.16.0.v20181203-1347.jar
org.eclipse.xtend.lib.macro_2.16.0.v20181203-0507.jar
org.eclipse.xtext.common.types_2.16.0.v20181203-0528.jar
org.eclipse.xtext.util_2.16.0.v20181203-0514.jar
org.eclipse.xtext.xbase.lib_2.16.0.v20181203-0507.jar
org.eclipse.xtext.xbase_2.16.0.v20181203-0528.jar
org.eclipse.xtext_2.16.0.v20181203-0514.jar
org.objectweb.asm_7.0.0.v20181030-2244.jar

Und dann habe ich in diesem Ordner die CLI-Hauptklasse des Batch-Compilers ausgeführt:

java -cp "*" org.eclipse.xtend.core.compiler.batch.Main -d <path-to-xtend-gen-folder>  -useCurrentClassLoader <path-to-src-folder>

Die CLI-Verwendung der Klasse main ist wie folgt dokumentiert:

Usage: Main <options> <source directories>
where possible options include:
-d <directory>                      Specify where to place generated xtend files
-tp <path>                          Temp directory to hold generated stubs and classes
-cp <path>                          Specify where to find user class files
-encoding <encoding>                Specify character encoding used by source files
-javaSourceVersion <version>        Create Java Source compatible to this version. Can be: 1.5, 1.6, 1.7, 1.8, 9, 10
-noSuppressWarningsAnnotation       Don't put @SuppressWarnings() into generated Java Code
-generateGeneratedAnnotation        Put @Generated into generated Java Code
-includeDateInGeneratedAnnnotation  If -generateGeneratedAnnotation is used, add the current date/time.
-generateAnnotationComment <string> If -generateGeneratedAnnotation is used, add a comment.
-useCurrentClassLoader              Use current classloader as parent classloader
-writeTraceFiles                    Write Trace-Files

daher müssen Sie dort Ihren Klassenpfad angeben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X