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
Antworten
Zu viele Anzeigen?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 ).
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.