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
|
|
@ -0,0 +1,189 @@
|
|||
/*
|
||||
* Copyright (c) 2004-2012, Willem Cazander
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package org.x4o.plugin.maven;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.maven.plugin.AbstractMojo;
|
||||
import org.apache.maven.plugin.MojoExecutionException;
|
||||
import org.apache.maven.plugins.annotations.Parameter;
|
||||
import org.x4o.xml.X4ODriver;
|
||||
import org.x4o.xml.X4ODriverManager;
|
||||
|
||||
/**
|
||||
* X4OWriteLanguageDocMojo creates docs for language.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Apr 9, 2013
|
||||
*/
|
||||
public abstract class AbstractX4OLanguageMojo extends AbstractMojo {
|
||||
|
||||
@Parameter(property="outputDirectory")
|
||||
private File outputDirectory;
|
||||
|
||||
@Parameter(required=true,property="languages")
|
||||
private Map<String,String> languages;
|
||||
|
||||
@Parameter(defaultValue="false",property="verbose")
|
||||
private boolean verbose = false;
|
||||
|
||||
@Parameter(defaultValue="true",property="failOnError")
|
||||
private boolean failOnError = true;
|
||||
|
||||
abstract String getLanguageTaskName();
|
||||
|
||||
abstract void executeLanguageTask(String languageName,String languageVersion,File outputDirectory) throws MojoExecutionException;
|
||||
|
||||
private void executeLanguageTask() throws MojoExecutionException {
|
||||
if (outputDirectory==null) {
|
||||
throw new MojoExecutionException("outputDirectory attribute is not set.");
|
||||
}
|
||||
if (languages==null) {
|
||||
throw new MojoExecutionException("languages attribute is not set.");
|
||||
}
|
||||
if (languages.size()==0) {
|
||||
throw new MojoExecutionException("languages attribute is empty.");
|
||||
}
|
||||
long startTime = System.currentTimeMillis();
|
||||
if (verbose) {
|
||||
getLog().info("Starting "+getLanguageTaskName());
|
||||
}
|
||||
if (outputDirectory.exists()==false) {
|
||||
outputDirectory.mkdir();
|
||||
if (verbose) {
|
||||
getLog().info("Created directory: "+outputDirectory);
|
||||
}
|
||||
}
|
||||
for (String languageName:languages.keySet()) {
|
||||
String languageVersions = languages.get(languageName);
|
||||
if (languageVersions.contains("*") || languageVersions.contains("ALL")) {
|
||||
X4ODriver<?> driver = X4ODriverManager.getX4ODriver(languageName);
|
||||
if (driver==null) {
|
||||
throw new MojoExecutionException("Couln't load x4o language driver for: "+languageName);
|
||||
}
|
||||
for (String supportedVersion:driver.getLanguageVersions()) {
|
||||
executeLanguageTask(languageName,supportedVersion);
|
||||
}
|
||||
} else if (languageVersions.contains("-")) {
|
||||
for (String languageVersion:languageVersions.split("-")) {
|
||||
executeLanguageTask(languageName,languageVersion);
|
||||
}
|
||||
} else {
|
||||
executeLanguageTask(languageName,languageVersions); // only one version
|
||||
}
|
||||
}
|
||||
long stopTime = System.currentTimeMillis();
|
||||
getLog().info("Done "+getLanguageTaskName()+" in "+(stopTime-startTime)+" ms.");
|
||||
}
|
||||
|
||||
private void executeLanguageTask(String languageName,String languageVersion) throws MojoExecutionException {
|
||||
File outputLanguagPath = new File(outputDirectory.getAbsolutePath()+File.separatorChar+languageName+"-"+languageVersion);
|
||||
if (outputLanguagPath.exists()==false) {
|
||||
outputLanguagPath.mkdir();
|
||||
if (verbose) {
|
||||
getLog().info("Created directory: "+outputLanguagPath);
|
||||
}
|
||||
}
|
||||
executeLanguageTask(languageName,languageVersion,outputLanguagPath);
|
||||
}
|
||||
|
||||
public void execute() throws MojoExecutionException {
|
||||
try {
|
||||
if (verbose) {
|
||||
if (languages!=null) {
|
||||
getLog().info("X4O Languages: "+languages.size());
|
||||
}
|
||||
getLog().info("Output directory: "+outputDirectory);
|
||||
getLog().info("Verbose: "+verbose);
|
||||
getLog().info("Fail on error: "+failOnError);
|
||||
}
|
||||
executeLanguageTask();
|
||||
} catch (MojoExecutionException e) {
|
||||
if (failOnError) {
|
||||
throw e;
|
||||
} else {
|
||||
getLog().warn(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the outputDirectory
|
||||
*/
|
||||
public File getOutputDirectory() {
|
||||
return outputDirectory;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param outputDirectory the outputDirectory to set
|
||||
*/
|
||||
public void setOutputDirectory(File outputDirectory) {
|
||||
this.outputDirectory = outputDirectory;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the languages
|
||||
*/
|
||||
public Map<String, String> getLanguages() {
|
||||
return languages;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param languages the languages to set
|
||||
*/
|
||||
public void addLanguage(String languageName,String languageVersion) {
|
||||
languages.put(languageName,languageVersion);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the verbose
|
||||
*/
|
||||
public boolean isVerbose() {
|
||||
return verbose;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param verbose the verbose to set
|
||||
*/
|
||||
public void setVerbose(boolean verbose) {
|
||||
this.verbose = verbose;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the failOnError
|
||||
*/
|
||||
public boolean isFailOnError() {
|
||||
return failOnError;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param failOnError the failOnError to set
|
||||
*/
|
||||
public void setFailOnError(boolean failOnError) {
|
||||
this.failOnError = failOnError;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Copyright (c) 2004-2012, Willem Cazander
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package org.x4o.plugin.maven;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.maven.plugin.MojoExecutionException;
|
||||
import org.apache.maven.plugins.annotations.Mojo;
|
||||
import org.apache.maven.plugins.annotations.ResolutionScope;
|
||||
|
||||
import org.x4o.xml.eld.doc.X4OWriteLanguageDocExecutor;
|
||||
import org.x4o.xml.element.ElementException;
|
||||
|
||||
/**
|
||||
* X4OWriteLanguageDocMojo creates docs for language.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Apr 9, 2013
|
||||
*/
|
||||
@Mojo( name = X4OWriteLanguageDocMojo.GOAL,requiresProject=true,requiresDependencyResolution=ResolutionScope.COMPILE)
|
||||
public class X4OWriteLanguageDocMojo extends AbstractX4OLanguageMojo {
|
||||
|
||||
static public final String GOAL = "write-language-doc";
|
||||
|
||||
String getLanguageTaskName() {
|
||||
return "X4O Write language documentation";
|
||||
}
|
||||
|
||||
void executeLanguageTask(String languageName,String languageVersion,File basePath) throws MojoExecutionException {
|
||||
X4OWriteLanguageDocExecutor writer = new X4OWriteLanguageDocExecutor();
|
||||
writer.setBasePath(basePath);
|
||||
writer.setLanguageName(languageName);
|
||||
writer.setLanguageVersion(languageVersion);
|
||||
try {
|
||||
writer.execute();
|
||||
} catch (ElementException e) {
|
||||
throw new MojoExecutionException(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
/*
|
||||
* Copyright (c) 2004-2012, Willem Cazander
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package org.x4o.plugin.maven;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.maven.plugin.MojoExecutionException;
|
||||
import org.apache.maven.plugins.annotations.Mojo;
|
||||
import org.apache.maven.plugins.annotations.ResolutionScope;
|
||||
|
||||
import org.x4o.xml.eld.xsd.X4OWriteLanguageSchemaExecutor;
|
||||
import org.x4o.xml.element.ElementException;
|
||||
|
||||
/**
|
||||
* X4OWriteLanguageSchemaMojo creates schema for language.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Apr 10, 2013
|
||||
*/
|
||||
@Mojo( name = X4OWriteLanguageSchemaMojo.GOAL,requiresProject=true,requiresDependencyResolution=ResolutionScope.COMPILE)
|
||||
public class X4OWriteLanguageSchemaMojo extends AbstractX4OLanguageMojo {
|
||||
|
||||
static public final String GOAL = "write-language-schema";
|
||||
|
||||
String getLanguageTaskName() {
|
||||
return "X4O Write language schema";
|
||||
}
|
||||
|
||||
void executeLanguageTask(String languageName,String languageVersion,File basePath) throws MojoExecutionException {
|
||||
X4OWriteLanguageSchemaExecutor writer = new X4OWriteLanguageSchemaExecutor();
|
||||
writer.setBasePath(basePath);
|
||||
writer.setLanguageName(languageName);
|
||||
writer.setLanguageVersion(languageVersion);
|
||||
try {
|
||||
writer.execute();
|
||||
} catch (ElementException e) {
|
||||
throw new MojoExecutionException(e.getMessage(),e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
/*
|
||||
* Copyright (c) 2004-2012, Willem Cazander
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/**
|
||||
* The maven plugin mojos.
|
||||
*
|
||||
* @since 1.0
|
||||
*/
|
||||
|
||||
package org.x4o.plugin.maven;
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
/*
|
||||
* Copyright (c) 2004-2012, Willem Cazander
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without modification, are permitted provided
|
||||
* that the following conditions are met:
|
||||
*
|
||||
* * Redistributions of source code must retain the above copyright notice, this list of conditions and the
|
||||
* following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
|
||||
* the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
|
||||
* THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
||||
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package org.x4o.plugin.maven;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import org.apache.maven.plugin.testing.AbstractMojoTestCase;
|
||||
|
||||
/**
|
||||
* X4OWriteLanguageDocMojoTest.
|
||||
*
|
||||
* @author Willem Cazander
|
||||
* @version 1.0 Apr 6, 2013
|
||||
*/
|
||||
public class X4OWriteLanguageDocMojoTest extends AbstractMojoTestCase {
|
||||
|
||||
/** {@inheritDoc} */
|
||||
protected void setUp() throws Exception {
|
||||
super.setUp(); // required
|
||||
}
|
||||
|
||||
/** {@inheritDoc} */
|
||||
protected void tearDown() throws Exception {
|
||||
super.tearDown(); // required
|
||||
}
|
||||
|
||||
private void executeGoal() throws Exception {
|
||||
File pom = getTestFile( "src/test/resources/junit/test-write-language-doc.pom" );
|
||||
assertNotNull( pom );
|
||||
assertTrue( pom.exists() );
|
||||
|
||||
X4OWriteLanguageDocMojo mojo = (X4OWriteLanguageDocMojo) lookupMojo( X4OWriteLanguageDocMojo.GOAL, pom );
|
||||
//mojo.s
|
||||
assertNotNull( mojo );
|
||||
mojo.execute();
|
||||
}
|
||||
|
||||
public void testEldDocCel() throws Exception {
|
||||
executeGoal(); //"test-elddoc-cel"
|
||||
File testDir = new File("target/test-elddoc/cel");
|
||||
//int files = testDir.listFiles().length;
|
||||
//assertEquals("Should created more then two files", true, files>2);
|
||||
}
|
||||
|
||||
/*
|
||||
public void testEldDocEld() {
|
||||
executeTarget("test-elddoc-eld");
|
||||
File testDir = new File("target/test-elddoc/eld");
|
||||
int files = testDir.listFiles().length;
|
||||
assertEquals("Should created more then two files", true, files>2);
|
||||
}
|
||||
|
||||
public void testEldDocEldVerbose() {
|
||||
executeTarget("test-elddoc-cel-verbose");
|
||||
assertLogContaining("Verbose:");
|
||||
}
|
||||
|
||||
public void testFailAllMissing() {
|
||||
expectBuildException("test-fail-all", "Should get exception with no attributes.");
|
||||
}
|
||||
public void testFailBasePath() {
|
||||
expectBuildException("test-fail-destdir", "Should get exception id destdir is not set.");
|
||||
}
|
||||
public void testFailBasePathError() {
|
||||
expectBuildException("test-fail-destdir-error", "Should get exception id destdir does not exists.");
|
||||
}
|
||||
public void testFailLanguage() {
|
||||
expectBuildException("test-fail-language", "Should get exception id language is not set.");
|
||||
}
|
||||
public void testFailLanguageError() {
|
||||
expectBuildException("test-fail-language-error", "Should get exception id language throws error.");
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
|
||||
http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.x4o.plugin.junit</groupId>
|
||||
<artifactId>x4o-plugin-maven-test</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<packaging>jar</packaging>
|
||||
<name>x4o-plugin-maven-test</name>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.10</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>x4o-plugin-maven</artifactId>
|
||||
<configuration>
|
||||
<outputDirectory>target/jtest/write-language-doc</outputDirectory>
|
||||
<languages>
|
||||
<cel>ALL</cel>
|
||||
<eld>ALL</eld>
|
||||
</languages>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
Loading…
Add table
Add a link
Reference in a new issue