Started working on maven plugin and refactored the cel language loader.
This commit is contained in:
parent
661ac8079e
commit
6f45317753
30 changed files with 913 additions and 288 deletions
|
|
@ -86,7 +86,7 @@
|
|||
<target>
|
||||
<property name="coredir" value="${basedir}/../../x4o-driver/src/main/resources/META-INF"/>
|
||||
<taskdef name="writeLanguageSchema" classname="org.x4o.plugin.ant.X4OWriteLanguageSchemaTask" classpathref="maven.plugin.classpath"/>
|
||||
<writeLanguageSchema destdir="${coredir}/cel" language="cel"/>
|
||||
<writeLanguageSchema destdir="${coredir}/cel" languageName="cel"/>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
|
|
@ -121,7 +121,7 @@
|
|||
<target>
|
||||
<property name="coredir" value="${basedir}/../../x4o-driver/src/main/resources/META-INF"/>
|
||||
<taskdef name="writeLanguageSchema" classname="org.x4o.plugin.ant.X4OWriteLanguageSchemaTask" classpathref="maven.plugin.classpath"/>
|
||||
<writeLanguageSchema destdir="${coredir}/cel" language="eld"/>
|
||||
<writeLanguageSchema destdir="${coredir}/cel" languageName="eld"/>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
|
|
@ -141,7 +141,7 @@
|
|||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>site-elddoc</id>
|
||||
<id>site-elddoc2</id>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
|
|
@ -161,11 +161,11 @@
|
|||
<mkdir dir="${coredir}/junit-swixml2"/>
|
||||
<mkdir dir="${coredir}/junit-swixml3"/>
|
||||
<taskdef name="writeLanguageDoc" classname="org.x4o.plugin.ant.X4OWriteLanguageDocTask" classpathref="maven.plugin.classpath"/>
|
||||
<writeLanguageDoc destdir="${coredir}/cel" language="cel"/>
|
||||
<writeLanguageDoc destdir="${coredir}/eld" language="eld"/>
|
||||
<writeLanguageDoc destdir="${coredir}/junit-test" language="test"/>
|
||||
<writeLanguageDoc destdir="${coredir}/junit-swixml2" language="swixml" version="2.0"/>
|
||||
<writeLanguageDoc destdir="${coredir}/junit-swixml3" language="swixml"/>
|
||||
<writeLanguageDoc destdir="${coredir}/cel" languageName="cel"/>
|
||||
<writeLanguageDoc destdir="${coredir}/eld" languageName="eld"/>
|
||||
<writeLanguageDoc destdir="${coredir}/junit-test" languageName="test"/>
|
||||
<writeLanguageDoc destdir="${coredir}/junit-swixml2" languageName="swixml" languageVersion="2.0"/>
|
||||
<writeLanguageDoc destdir="${coredir}/junit-swixml3" languageName="swixml"/>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
|
|
|
|||
|
|
@ -38,11 +38,17 @@ import org.apache.tools.ant.Task;
|
|||
*/
|
||||
abstract public class AbstractX4OLanguageTask extends Task {
|
||||
|
||||
private String language = null;
|
||||
private String languageName = null;
|
||||
private String languageVersion = null;
|
||||
private String destdir = null;
|
||||
private boolean verbose = false;
|
||||
private boolean failonerror = true;
|
||||
|
||||
|
||||
abstract String getLanguageTaskName();
|
||||
|
||||
abstract void executeLanguageTask(File basePath) throws BuildException;
|
||||
|
||||
/**
|
||||
* Executes the x4o eld schema task.
|
||||
* @see org.apache.tools.ant.Task#execute()
|
||||
|
|
@ -51,11 +57,12 @@ abstract public class AbstractX4OLanguageTask extends Task {
|
|||
public void execute() throws BuildException {
|
||||
try {
|
||||
if (isVerbose()) {
|
||||
log("Task Location: "+getLocation());
|
||||
log("X4O Language:"+getLanguage());
|
||||
log("Destination Dir:"+getDestdir());
|
||||
log("Verbose:"+isVerbose());
|
||||
log("Fail on error:"+isFailonerror());
|
||||
log("Task location: "+getLocation());
|
||||
log("X4O language name: "+getLanguageName());
|
||||
log("X4O language version: "+getLanguageVersion());
|
||||
log("Destination directory: "+getDestdir());
|
||||
log("Verbose: "+isVerbose());
|
||||
log("Fail on error: "+isFailonerror());
|
||||
}
|
||||
executeLanguageTask();
|
||||
} catch (BuildException e) {
|
||||
|
|
@ -68,13 +75,13 @@ abstract public class AbstractX4OLanguageTask extends Task {
|
|||
}
|
||||
|
||||
private void executeLanguageTask() throws BuildException {
|
||||
if (getLanguage()==null) {
|
||||
if (getLanguageName()==null) {
|
||||
throw new BuildException("language attribute is not set.");
|
||||
}
|
||||
if (getDestdir()==null) {
|
||||
throw new BuildException("basePath attribute is not set.");
|
||||
}
|
||||
if (getLanguage().length()==0) {
|
||||
if (getLanguageName().length()==0) {
|
||||
throw new BuildException("language attribute is empty.");
|
||||
}
|
||||
if (getDestdir().length()==0) {
|
||||
|
|
@ -93,22 +100,32 @@ abstract public class AbstractX4OLanguageTask extends Task {
|
|||
log("Done "+getLanguageTaskName()+" in "+(stopTime-startTime)+" ms.");
|
||||
}
|
||||
|
||||
abstract String getLanguageTaskName();
|
||||
|
||||
abstract void executeLanguageTask(File basePath) throws BuildException;
|
||||
|
||||
/**
|
||||
* @return the language
|
||||
* @return the languageName
|
||||
*/
|
||||
public String getLanguage() {
|
||||
return language;
|
||||
public String getLanguageName() {
|
||||
return languageName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param language the language to set
|
||||
* @param languageName the languageName to set
|
||||
*/
|
||||
public void setLanguage(String language) {
|
||||
this.language = language;
|
||||
public void setLanguageName(String languageName) {
|
||||
this.languageName = languageName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the languageVersion
|
||||
*/
|
||||
public String getLanguageVersion() {
|
||||
return languageVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param languageVersion the languageVersion to set
|
||||
*/
|
||||
public void setLanguageVersion(String languageVersion) {
|
||||
this.languageVersion = languageVersion;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -54,7 +54,8 @@ public class X4OWriteLanguageDocTask extends AbstractX4OLanguageTask {
|
|||
void executeLanguageTask(File basePath) throws BuildException {
|
||||
X4OWriteLanguageDocExecutor writer = new X4OWriteLanguageDocExecutor();
|
||||
writer.setBasePath(basePath);
|
||||
writer.setLanguage(getLanguage());
|
||||
writer.setLanguageName(getLanguageName());
|
||||
writer.setLanguageVersion(getLanguageVersion());
|
||||
try {
|
||||
writer.execute();
|
||||
} catch (ElementException e) {
|
||||
|
|
|
|||
|
|
@ -58,7 +58,8 @@ public class X4OWriteLanguageSchemaTask extends AbstractX4OLanguageTask {
|
|||
}
|
||||
X4OWriteLanguageSchemaExecutor writer = new X4OWriteLanguageSchemaExecutor();
|
||||
writer.setBasePath(basePath);
|
||||
writer.setLanguage(getLanguage());
|
||||
writer.setLanguageName(getLanguageName());
|
||||
writer.setLanguageVersion(getLanguageVersion());
|
||||
writer.setLanguageNamespaceUri(getNsuri()); // null is all namespaces
|
||||
try {
|
||||
writer.execute();
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import org.apache.tools.ant.BuildFileTest;
|
|||
public class X4OWriteLanguageDocTaskTest extends BuildFileTest {
|
||||
|
||||
public void setUp() {
|
||||
configureProject("src/test/resources/tests/test-write-language-doc.xml");
|
||||
configureProject("src/test/resources/junit/test-write-language-doc.xml");
|
||||
}
|
||||
|
||||
public void testEldDocCel() {
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ import org.apache.tools.ant.BuildFileTest;
|
|||
public class X4OWriteLanguageSchemaTaskTest extends BuildFileTest {
|
||||
|
||||
public void setUp() {
|
||||
configureProject("src/test/resources/tests/test-write-language-schema.xml");
|
||||
configureProject("src/test/resources/junit/test-write-language-schema.xml");
|
||||
}
|
||||
|
||||
public void testCelSchemaFull() {
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
<mkdir dir="${test.dir}/cel"/>
|
||||
<writeLanguageDoc
|
||||
destdir="${test.dir}/cel"
|
||||
language="cel"
|
||||
languageName="cel"
|
||||
/>
|
||||
</target>
|
||||
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
<writeLanguageDoc
|
||||
verbose="true"
|
||||
destdir="${test.dir}/cel"
|
||||
language="cel"
|
||||
languageName="cel"
|
||||
/>
|
||||
</target>
|
||||
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
<mkdir dir="${test.dir}/eld"/>
|
||||
<writeLanguageDoc
|
||||
destdir="${test.dir}/eld"
|
||||
language="cel"
|
||||
languageName="cel"
|
||||
/>
|
||||
</target>
|
||||
|
||||
|
|
@ -62,16 +62,16 @@
|
|||
<writeLanguageDoc/>
|
||||
</target>
|
||||
<target name="test-fail-destdir" depends="init">
|
||||
<writeLanguageDoc language="cel"/>
|
||||
<writeLanguageDoc languageName="cel"/>
|
||||
</target>
|
||||
<target name="test-fail-destdir-error" depends="init">
|
||||
<writeLanguageDoc language="cel" destdir="${test.dir}/no-dir"/>
|
||||
<writeLanguageDoc languageName="cel" destdir="${test.dir}/no-dir"/>
|
||||
</target>
|
||||
<target name="test-fail-language" depends="init">
|
||||
<writeLanguageDoc destdir="${test.dir}/test"/>
|
||||
</target>
|
||||
<target name="test-fail-language-error" depends="init">
|
||||
<writeLanguageDoc destdir="${test.dir}/test" language="cel-error"/>
|
||||
<writeLanguageDoc destdir="${test.dir}/test" languageName="cel-error"/>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
<mkdir dir="${test.dir}/cel-full"/>
|
||||
<writeLanguageSchema
|
||||
destdir="${test.dir}/cel-full"
|
||||
language="eld"
|
||||
languageName="eld"
|
||||
/>
|
||||
</target>
|
||||
|
||||
|
|
@ -45,7 +45,7 @@
|
|||
<mkdir dir="${test.dir}/cel-single"/>
|
||||
<writeLanguageSchema
|
||||
destdir="${test.dir}/cel-single"
|
||||
language="cel"
|
||||
languageName="cel"
|
||||
nsuri="http://cel.x4o.org/xml/ns/cel-core"
|
||||
/>
|
||||
</target>
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
<writeLanguageSchema
|
||||
verbose="true"
|
||||
destdir="${test.dir}/cel-single"
|
||||
language="cel"
|
||||
languageName="cel"
|
||||
nsuri="http://cel.x4o.org/xml/ns/cel-core"
|
||||
/>
|
||||
</target>
|
||||
|
|
@ -64,16 +64,16 @@
|
|||
<writeLanguageSchema/>
|
||||
</target>
|
||||
<target name="test-fail-destdir" depends="init">
|
||||
<writeLanguageSchema language="cel"/>
|
||||
<writeLanguageSchema languageName="cel"/>
|
||||
</target>
|
||||
<target name="test-fail-destdir-error" depends="init">
|
||||
<writeLanguageSchema language="cel" destdir="${test.dir}/no-dir"/>
|
||||
<writeLanguageSchema languageName="cel" destdir="${test.dir}/no-dir"/>
|
||||
</target>
|
||||
<target name="test-fail-language" depends="init">
|
||||
<writeLanguageSchema destdir="${test.dir}/test"/>
|
||||
</target>
|
||||
<target name="test-fail-language-error" depends="init">
|
||||
<writeLanguageSchema destdir="${test.dir}/test" language="eld-error"/>
|
||||
<writeLanguageSchema destdir="${test.dir}/test" languageName="eld-error"/>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
Loading…
Add table
Add a link
Reference in a new issue