You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ki...@apache.org on 2021/02/28 02:04:20 UTC
svn commit: r1886991 [2/2] - in /xmlbeans: site/build/site/
site/build/site/community/ site/build/site/documentation/
site/build/site/download/ site/build/site/guide/ site/build/site/samples/
site/src/documentation/content/xdocs/ site/src/documentation...
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java?rev=1886991&r1=1886990&r2=1886991&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java Sun Feb 28 02:04:20 2021
@@ -1560,7 +1560,9 @@ public final class SchemaTypeCodePrinter
String arrayName = propertyName + "Array";
printJavaDoc("Gets " + (xget ? "(as xml) " : "") + "a List of " + propdesc + "s");
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public java.util.List<" + wrappedType + "> " + (xget ? "xget" : "get") + propertyName + "List() {");
startBlock();
@@ -1624,7 +1626,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.GET)) {
// Value getProp()
printJavaDoc((several ? "Gets first " : "Gets the ") + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + type + " get" + propertyName + "() {");
startBlock();
emitImplementationPreamble();
@@ -1653,7 +1657,9 @@ public final class SchemaTypeCodePrinter
if (!xmltype && (bmList == null || bmList.contains(BeanMethod.XGET))) {
// Value xgetProp()
printJavaDoc((several ? "Gets (as xml) first " : "Gets (as xml) the ") + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + xtype + " xget" + propertyName + "() {");
startBlock();
emitImplementationPreamble();
@@ -1675,7 +1681,9 @@ public final class SchemaTypeCodePrinter
if (nillable && (bmList == null || bmList.contains(BeanMethod.IS_NIL))) {
// boolean isNilProp()
printJavaDoc((several ? "Tests for nil first " : "Tests for nil ") + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public boolean isNil" + propertyName + "() {");
startBlock();
emitImplementationPreamble();
@@ -1691,7 +1699,9 @@ public final class SchemaTypeCodePrinter
if (prop.extendsJavaOption() && (bmList == null || bmList.contains(BeanMethod.IS_SET))) {
// boolean isSetProp()
printJavaDoc((several ? "True if has at least one " : "True if has ") + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public boolean isSet" + propertyName + "() {");
startBlock();
@@ -1722,7 +1732,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.GET_ARRAY)) {
// Value[] getProp()
printJavaDoc("Gets array of all " + propdesc + "s");
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + type + "[] get" + arrayName + "() {");
startBlock();
@@ -1734,7 +1746,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.GET_IDX)) {
// Value getProp(int i)
printJavaDoc("Gets ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + type + " get" + arrayName + "(int i) {");
startBlock();
emitImplementationPreamble();
@@ -1753,7 +1767,9 @@ public final class SchemaTypeCodePrinter
if (!xmltype && (bmList == null || bmList.contains(BeanMethod.XGET_ARRAY))) {
// Value[] xgetProp()
printJavaDoc("Gets (as xml) array of all " + propdesc + "s");
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + xtype + "[] xget" + arrayName + "() {");
startBlock();
emit("return xgetArray(" + setIdentifier + ", " + xtype + "[]::new);");
@@ -1763,7 +1779,9 @@ public final class SchemaTypeCodePrinter
if (!xmltype && (bmList == null || bmList.contains(BeanMethod.XGET_IDX))) {
// Value xgetProp(int i)
printJavaDoc("Gets (as xml) ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + xtype + " xget" + arrayName + "(int i) {");
startBlock();
emitImplementationPreamble();
@@ -1776,7 +1794,9 @@ public final class SchemaTypeCodePrinter
if (nillable && (bmList == null || bmList.contains(BeanMethod.IS_NIL_IDX))) {
// boolean isNil(int i);
printJavaDoc("Tests for nil ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public boolean isNil" + arrayName + "(int i) {");
startBlock();
emitImplementationPreamble();
@@ -1789,7 +1809,9 @@ public final class SchemaTypeCodePrinter
// int countProp();
if (bmList == null || bmList.contains(BeanMethod.SIZE_OF_ARRAY)) {
printJavaDoc("Returns number of " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public int sizeOf" + arrayName + "() {");
startBlock();
emitImplementationPreamble();
@@ -1828,7 +1850,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.SET)) {
// void setProp(Value v);
printJavaDoc((several ? "Sets first " : "Sets the ") + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void set" + propertyName + "(" + type + " " + safeVarName + ") {");
startBlock();
if (xmltype && !isSubstGroup && !isAttr) {
@@ -1850,7 +1874,9 @@ public final class SchemaTypeCodePrinter
if (!xmltype && (bmList == null || bmList.contains(BeanMethod.XSET))) {
// void xsetProp(Value v)
printJavaDoc((several ? "Sets (as xml) first " : "Sets (as xml) the ") + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void xset" + propertyName + "(" + xtype + " " + safeVarName + ") {");
startBlock();
emitImplementationPreamble();
@@ -1866,7 +1892,9 @@ public final class SchemaTypeCodePrinter
if (xmltype && !several && (bmList == null || bmList.contains(BeanMethod.ADD_NEW))) {
// Value addNewProp()
printJavaDoc("Appends and returns a new empty " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + xtype + " addNew" + propertyName + "() {");
startBlock();
emitImplementationPreamble();
@@ -1881,7 +1909,9 @@ public final class SchemaTypeCodePrinter
if (nillable && (bmList == null || bmList.contains(BeanMethod.SET_NIL))) {
printJavaDoc((several ? "Nils the first " : "Nils the ") + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void setNil" + propertyName + "() {");
startBlock();
emitImplementationPreamble();
@@ -1896,7 +1926,9 @@ public final class SchemaTypeCodePrinter
if (prop.extendsJavaOption() && (bmList == null || bmList.contains(BeanMethod.UNSET))) {
printJavaDoc((several ? "Removes first " : "Unsets the ") + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void unset" + propertyName + "() {");
startBlock();
emitImplementationPreamble();
@@ -1917,7 +1949,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.SET_ARRAY)) {
if (xmltype) {
printJavaDoc("Sets array of all " + propdesc + " WARNING: This method is not atomicaly synchronized.");
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void set" + arrayName + "(" + type + "[] " + safeVarName + "Array) {");
startBlock();
// do not use synchronize (monitor()) { and GlobalLock inside } !!! deadlock
@@ -1944,7 +1978,9 @@ public final class SchemaTypeCodePrinter
endBlock();
} else {
printJavaDoc("Sets array of all " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void set" + arrayName + "(" + type + "[] " + safeVarName + "Array) {");
startBlock();
emitImplementationPreamble();
@@ -1986,7 +2022,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.SET_IDX)) {
printJavaDoc("Sets ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void set" + arrayName + "(int i, " + type + " " + safeVarName + ") {");
startBlock();
if (xmltype && !isSubstGroup) {
@@ -2007,7 +2045,9 @@ public final class SchemaTypeCodePrinter
if (!xmltype && (bmList == null || bmList.contains(BeanMethod.XSET_ARRAY))) {
printJavaDoc("Sets (as xml) array of all " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void xset" + arrayName + "(" + xtype + "[]" + safeVarName + "Array) {");
startBlock();
emitImplementationPreamble();
@@ -2020,7 +2060,9 @@ public final class SchemaTypeCodePrinter
if (!xmltype && (bmList == null || bmList.contains(BeanMethod.XSET_IDX))) {
printJavaDoc("Sets (as xml) ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void xset" + arrayName + "(int i, " + xtype + " " + safeVarName + ") {");
startBlock();
emitImplementationPreamble();
@@ -2034,7 +2076,9 @@ public final class SchemaTypeCodePrinter
if (nillable && (bmList == null || bmList.contains(BeanMethod.SET_NIL_IDX))) {
printJavaDoc("Nils the ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void setNil" + arrayName + "(int i) {");
startBlock();
emitImplementationPreamble();
@@ -2048,7 +2092,9 @@ public final class SchemaTypeCodePrinter
if (!xmltype && (bmList == null || bmList.contains(BeanMethod.INSERT_IDX))) {
printJavaDoc("Inserts the value as the ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void insert" + propertyName + "(int i, " + type + " " + safeVarName + ") {");
startBlock();
emitImplementationPreamble();
@@ -2071,7 +2117,9 @@ public final class SchemaTypeCodePrinter
if (!xmltype && (bmList == null || bmList.contains(BeanMethod.ADD))) {
printJavaDoc("Appends the value as the last " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void add" + propertyName + "(" + type + " " + safeVarName + ") {");
startBlock();
emitImplementationPreamble();
@@ -2086,7 +2134,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.INSERT_NEW_IDX)) {
printJavaDoc("Inserts and returns a new empty value (as xml) as the ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + xtype + " insertNew" + propertyName + "(int i) {");
startBlock();
emitImplementationPreamble();
@@ -2107,7 +2157,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.ADD_NEW)) {
printJavaDoc("Appends and returns a new empty value (as xml) as the last " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public " + xtype + " addNew" + propertyName + "() {");
startBlock();
emitImplementationPreamble();
@@ -2122,7 +2174,9 @@ public final class SchemaTypeCodePrinter
if (bmList == null || bmList.contains(BeanMethod.REMOVE_IDX)) {
printJavaDoc("Removes the ith " + propdesc);
- emit("@Override");
+ if (!opt.isCompileNoAnnotations()) {
+ emit("@Override");
+ }
emit("public void remove" + propertyName + "(int i) {");
startBlock();
emitImplementationPreamble();
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java?rev=1886991&r1=1886990&r2=1886991&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/schema/StscState.java Sun Feb 28 02:04:20 2021
@@ -502,7 +502,7 @@ public class StscState {
}
/**
- * True if no particle valid (restriciton) option is set
+ * True if no particle valid (restriction) option is set
*/
public boolean noPvr() {
return _noPvr;
Added: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPlugin.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPlugin.java?rev=1886991&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPlugin.java (added)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPlugin.java Sun Feb 28 02:04:20 2021
@@ -0,0 +1,407 @@
+/* Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.tool;
+
+import org.apache.maven.model.Resource;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.project.MavenProject;
+import org.apache.xmlbeans.XmlError;
+import org.xml.sax.EntityResolver;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.*;
+import java.util.*;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import static org.apache.xmlbeans.impl.tool.SchemaCompiler.parsePartialMethods;
+
+@SuppressWarnings("unused")
+@Mojo(name = "compile", defaultPhase = LifecyclePhase.GENERATE_SOURCES)
+public class MavenPlugin extends AbstractMojo {
+ // ******************************************************************************************
+ // As we don't use the maven plugin-plugin, the defaultValues and others need to be manually
+ // copied into resources/maven/plugin.xml
+ // ******************************************************************************************
+
+ /** The maven project */
+ @Parameter( readonly = true, defaultValue = "${project}" )
+ private MavenProject project;
+
+ /** sourceDir is a base directory for the list in sourceschema */
+ @Parameter( defaultValue = "${project.basedir}/src/main/schema" )
+ private String sourceDir;
+
+ /** sourceSchemas is a comma-delimited list of all the schemas you want to compile */
+ @Parameter( defaultValue = "*.xsd,*.wsdl" )
+ private String sourceSchemas;
+
+ /** xmlConfigs points to your xmlconfig.xml file */
+ @Parameter( defaultValue = "${project.basedir}/src/schema/xmlconfig.xml" )
+ private String xmlConfigs;
+
+ /** javaTargetdir is where you want generated java source to appear */
+ @Parameter( defaultValue = "${project.basedir}/target/generated-sources" )
+ private String javaTargetDir;
+
+ /** classTargetDir is where you want compiled class files to appear */
+ @Parameter( defaultValue = "${project.basedir}/target/generated-resources" )
+ private String classTargetDir;
+
+ /** catalogLocation is the location of an entity resolver catalog to use for resolving namespace to schema locations. */
+ @Parameter
+ private String catalogLocation;
+
+ @Parameter
+ private String classPath;
+
+ @Parameter
+ private List<Resource> resources;
+
+ /** buildSchemas sets build process of the generated sources */
+ @Parameter(defaultValue = "true")
+ private boolean buildSchemas;
+
+ /** destination directory of the copied xsd files - default: schemaorg_apache_xmlbeans/src */
+ @Parameter( defaultValue = "schemaorg_apache_xmlbeans/src" )
+ private String baseSchemaLocation;
+
+ /** schema system name - default: ${project.artifactId} */
+ @Parameter( defaultValue = "${project.artifactId}" )
+ private String name;
+
+ /** verbose output - default: false */
+ @Parameter( defaultValue = "false" )
+ private boolean verbose;
+
+ /** no output - default: true */
+ @Parameter( defaultValue = "true" )
+ private boolean quite;
+
+ /** deactivate unique particle attribution - default: false */
+ @Parameter( defaultValue = "false" )
+ private boolean noUpa;
+
+ /** deactivate particle valid (restriction) - default: false */
+ @Parameter( defaultValue = "false" )
+ private boolean noPvr;
+
+ /** deactivate annotation generation - default: false */
+ @Parameter( defaultValue = "false" )
+ private boolean noAnn;
+
+ /** do not validate contents of documentation-tags - default: false */
+ @Parameter( defaultValue = "false" )
+ private boolean noVDoc;
+
+ /** Metadata package name. If explicitly set empty, generates to org.apache.xmlbeans.metadata - default: ${project.groupId}.${project.artifactId}.metadata */
+ @Parameter( defaultValue = "${project.groupId}.${project.artifactId}.metadata" )
+ private String repackage;
+
+ /**
+ * If this option is set, then the schema compiler will permit and
+ * ignore multiple definitions of the same component (element, attribute,
+ * type, etc) names in the given namespaces. If multiple definitions
+ * with the same name appear, the definitions that happen to be processed
+ * last will be ignored.
+ *
+ * a comma-seperated list of namespace URIs
+ */
+ @Parameter
+ private String mdefNamespaces;
+
+ /**
+ * Only generate a subset of the bean methods. Comma-seperated list of the following method types:
+ * GET, XGET, IS_SET, IS_NIL, IS_NIL_IDX, SET, SET_NIL, SET_NIL_IDX, XSET, UNSET,
+ * GET_ARRAY, XGET_ARRAY, GET_IDX, XGET_IDX, XSET_ARRAY, XSET_IDX,
+ * SIZE_OF_ARRAY, SET_ARRAY, SET_IDX,
+ * INSERT_IDX, INSERT_NEW_IDX,
+ * ADD, ADD_NEW, REMOVE_IDX,
+ * GET_LIST, XGET_LIST, SET_LIST,
+ * INSTANCE_TYPE
+ *
+ * Example: "ALL,-GET_LIST,-XGET_LIST" excludes GET_LIST and XGET_LIST methods
+ */
+ @Parameter
+ private String partialMethods;
+
+
+
+ /*
+ public String getSourceDir() {
+ return sourceDir;
+ }
+
+ public void setSourceDir(String sourceDir) {
+ this.sourceDir = sourceDir;
+ }
+
+ public String getSourceSchemas() {
+ return sourceSchemas;
+ }
+
+ public void setSourceSchemas(String sourceSchemas) {
+ this.sourceSchemas = sourceSchemas;
+ }
+
+ public String getXmlConfigs() {
+ return xmlConfigs;
+ }
+
+ public void setXmlConfigs(String xmlConfigs) {
+ this.xmlConfigs = xmlConfigs;
+ }
+
+ public String getJavaTargetDir() {
+ return javaTargetDir;
+ }
+
+ public void setJavaTargetDir(String javaTargetDir) {
+ this.javaTargetDir = javaTargetDir;
+ }
+
+ public String getClassTargetDir() {
+ return classTargetDir;
+ }
+
+ public void setClassTargetDir(String classTargetDir) {
+ this.classTargetDir = classTargetDir;
+ }
+
+ public String getCatalogLocation() {
+ return catalogLocation;
+ }
+
+ public void setCatalogLocation(String catalogLocation) {
+ this.catalogLocation = catalogLocation;
+ }
+
+ public String getClassPath() {
+ return classPath;
+ }
+
+ public void setClassPath(String classPath) {
+ this.classPath = classPath;
+ }
+
+ public List<Resource> getResources() {
+ return resources;
+ }
+
+ public void setResources(List<Resource> resources) {
+ this.resources = resources;
+ }
+
+ public boolean isBuildSchemas() {
+ return buildSchemas;
+ }
+
+ public void setBuildSchemas(boolean buildSchemas) {
+ this.buildSchemas = buildSchemas;
+ }
+
+ public String getBaseSchemaLocation() {
+ return baseSchemaLocation;
+ }
+
+ public void setBaseSchemaLocation(String baseSchemaLocation) {
+ if (baseSchemaLocation != null && !(baseSchemaLocation.length() == 0)) {
+ this.baseSchemaLocation = baseSchemaLocation;
+ }
+ }*/
+
+ public void execute() throws MojoExecutionException, MojoFailureException {
+ if (sourceDir == null || sourceDir.isEmpty() || !new File(sourceDir).isDirectory()) {
+ throw new MojoFailureException("Set configuration <sourceDir> (='"+sourceDir+"') to a valid directory containing *.xsd,*.wsdl files.");
+ }
+
+ if (baseSchemaLocation == null || baseSchemaLocation.isEmpty()) {
+ throw new MojoFailureException("baseSchemaLocation is empty");
+ }
+
+ if (sourceSchemas == null) {
+ getLog().debug("sourceSchemas is null");
+ }
+
+ if (classPath == null) {
+ getLog().debug("classPath is null");
+ }
+
+ List<File> xsds = new ArrayList<>();
+ List<File> wsdls = new ArrayList<>();
+ File base = new File(sourceDir);
+ Resource resource = new Resource();
+ resource.setDirectory(sourceDir);
+ resource.setTargetPath(baseSchemaLocation);
+
+ // if sourceSchemas is not specified use all found schemas
+ // otherwise convert comma-separated string to regex including glob parameter
+ Pattern pat = Pattern.compile(sourceSchemas == null ? ".*" :
+ "(" + sourceSchemas
+ .replace(",","|")
+ .replace(".", "\\.")
+ .replace("*",".*") +
+ ")");
+
+ File[] schemaFiles = Objects.requireNonNull(base.listFiles((dir, name) ->
+ !name.endsWith(".xsdconfig") && pat.matcher(name).matches()));
+ for (File sf : schemaFiles) {
+ (sf.getName().endsWith(".wsdl") ? wsdls : xsds).add(sf);
+ resource.addInclude(sf.getName());
+ }
+
+ resources = Collections.singletonList(resource);
+
+ if (buildSchemas) {
+ List<File> configs = (xmlConfigs == null || xmlConfigs.isEmpty()) ? Collections.emptyList()
+ : Stream.of(xmlConfigs.split(",")).flatMap(s ->
+ Stream.of(new File(s), new File(base, s)).filter(File::exists)
+ ).collect(Collectors.toList());
+
+ List<File> classPathList = new ArrayList<>();
+ List<URL> urls = new ArrayList<>();
+ if (classPath != null) {
+ for (String classpathElement : classPath.split(",")) {
+ File file = new File(classpathElement);
+ classPathList.add(file);
+ try {
+ urls.add(file.toURI().toURL());
+ } catch (MalformedURLException e) {
+ throw new MojoFailureException("invalid classpath: "+file, e);
+ }
+ }
+ }
+ ClassLoader cl = new URLClassLoader(urls.toArray(new URL[0]));
+ EntityResolver entityResolver = MavenPluginResolver.getResolver(catalogLocation);
+ URI sourceDirURI = new File(sourceDir).toURI();
+ entityResolver = new PassThroughResolver(cl, entityResolver, sourceDirURI, baseSchemaLocation);
+
+ Parameters params = new Parameters();
+ if (!xsds.isEmpty()) {
+ params.setXsdFiles(xsds.toArray(new File[0]));
+ }
+ if (!wsdls.isEmpty()) {
+ params.setWsdlFiles(wsdls.toArray(new File[0]));
+ }
+ if (!configs.isEmpty()) {
+ params.setConfigFiles(configs.toArray(new File[0]));
+ }
+ if (!classPathList.isEmpty()) {
+ params.setClasspath(classPathList.toArray(new File[0]));
+ }
+ params.setName(name);
+ params.setSrcDir(new File(javaTargetDir));
+ params.setClassesDir(new File(classTargetDir));
+ params.setNojavac(true);
+ params.setVerbose(verbose);
+ params.setEntityResolver(entityResolver);
+ params.setQuiet(quite);
+ params.setNoUpa(noUpa);
+ params.setNoPvr(noPvr);
+ params.setNoAnn(noAnn);
+ params.setNoVDoc(noVDoc);
+ if (repackage != null && !repackage.isEmpty()) {
+ params.setRepackage("org.apache.xmlbeans.metadata:"+repackage);
+ }
+ if (mdefNamespaces != null && !mdefNamespaces.isEmpty()) {
+ params.setMdefNamespaces(new HashSet<>(Arrays.asList(mdefNamespaces.split(","))));
+ }
+ List<XmlError> errorList = new ArrayList<>();
+ params.setErrorListener(errorList);
+
+ if (partialMethods != null && !partialMethods.isEmpty()) {
+ params.setPartialMethods(parsePartialMethods(partialMethods));
+ }
+// params.setBaseDir(null);
+// params.setJavaFiles(new File[0]);
+// params.setCompiler(null);
+// params.setMemoryInitialSize(null);
+// params.setMemoryMaximumSize(null);
+// params.setOutputJar(null);
+// params.setDownload(false);
+// params.setDebug(debug);
+// params.setExtensions(null);
+
+ boolean result = SchemaCompiler.compile(params);
+
+ if (!result) {
+ throw new MojoFailureException("Schema compilation failed!\n"+
+ errorList.stream().map(XmlError::toString).collect(Collectors.joining("\n"))
+ );
+ }
+
+ Resource genResource = new Resource();
+ genResource.setDirectory(classTargetDir);
+ project.addResource(genResource);
+ project.addCompileSourceRoot(javaTargetDir);
+ }
+
+ }
+
+ private static class PassThroughResolver implements EntityResolver {
+ private final ClassLoader cl;
+ private final EntityResolver delegate;
+ private final URI sourceDir;
+ //this copy has an / appended
+ private final String baseSchemaLocation;
+
+ public PassThroughResolver(ClassLoader cl, EntityResolver delegate, URI sourceDir, String baseSchemaLocation) {
+ this.cl = cl;
+ this.delegate = delegate;
+ this.sourceDir = sourceDir;
+ this.baseSchemaLocation = baseSchemaLocation + "/";
+ }
+
+ public InputSource resolveEntity(String publicId, String systemId) throws SAXException, IOException {
+ if (delegate != null) {
+ InputSource is = delegate.resolveEntity(publicId, systemId);
+ if (is != null) {
+ return is;
+ }
+ }
+ System.out.println("Could not resolve publicId: " + publicId + ", systemId: " + systemId + " from catalog");
+ String localSystemId;
+ try {
+ localSystemId = sourceDir.relativize(new URI(systemId)).toString();
+ } catch (URISyntaxException e) {
+ throw new IOException("Could not relativeize systemId", e);
+ }
+ InputStream in = cl.getResourceAsStream(localSystemId);
+ if (in != null) {
+ System.out.println("found in classpath at: " + localSystemId);
+ return new InputSource(in);
+ }
+ in = cl.getResourceAsStream(baseSchemaLocation + localSystemId);
+ if (in != null) {
+ System.out.println("found in classpath at: META-INF/" + localSystemId);
+ return new InputSource(in);
+ }
+ System.out.println("Not found in classpath, looking in current directory: " + systemId);
+ return new InputSource(systemId);
+ }
+ }
+
+}
Added: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPluginHelp.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPluginHelp.java?rev=1886991&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPluginHelp.java (added)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPluginHelp.java Sun Feb 28 02:04:20 2021
@@ -0,0 +1,378 @@
+/* Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.tool;
+
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Display help information on xmlbeans-maven-plugin.<br>
+ * Call <code>mvn xmlbeans.plugin:help -Ddetail=true -Dgoal=<goal-name></code> to display parameter details.
+ */
+@Mojo(name = "help", requiresProject = false, threadSafe = true)
+public class MavenPluginHelp extends AbstractMojo {
+ // ******************************************************************************************
+ // As we don't use the maven plugin-plugin, the defaultValues and others need to be manually
+ // copied into resources/maven/plugin-help.xml
+ // ******************************************************************************************
+
+
+ /**
+ * If <code>true</code>, display all settable properties for each goal.
+ */
+ @Parameter(property = "detail", defaultValue = "false")
+ private boolean detail;
+
+ /**
+ * The name of the goal for which to show help. If unspecified, all goals will be displayed.
+ */
+ @Parameter(property = "goal")
+ private java.lang.String goal;
+
+ /**
+ * The maximum length of a display line, should be positive.
+ */
+ @Parameter(property = "lineLength", defaultValue = "80")
+ private int lineLength;
+
+ /**
+ * The number of spaces per indentation level, should be positive.
+ */
+ @Parameter(property = "indentSize", defaultValue = "2")
+ private int indentSize;
+
+ // groupId/artifactId/plugin-help.xml
+ private static final String PLUGIN_HELP_PATH = "/META-INF/maven/plugin.xml";
+
+ private static final int DEFAULT_LINE_LENGTH = 80;
+
+ private Document build() throws MojoExecutionException {
+ getLog().debug("load plugin-help.xml: " + PLUGIN_HELP_PATH);
+ try (InputStream is = getClass().getResourceAsStream(PLUGIN_HELP_PATH)) {
+ DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
+ return dBuilder.parse(is);
+ } catch (IOException | ParserConfigurationException | SAXException e) {
+ throw new MojoExecutionException(e.getMessage(), e);
+ }
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public void execute() throws MojoExecutionException {
+ if (lineLength <= 0) {
+ getLog().warn("The parameter 'lineLength' should be positive, using '80' as default.");
+ lineLength = DEFAULT_LINE_LENGTH;
+ }
+ if (indentSize <= 0) {
+ getLog().warn("The parameter 'indentSize' should be positive, using '2' as default.");
+ indentSize = 2;
+ }
+
+ Document doc = build();
+
+ StringBuilder sb = new StringBuilder();
+ Node plugin = getSingleChild(doc, "plugin");
+
+
+ String name = getValue(plugin, "name");
+ String version = getValue(plugin, "version");
+ String id = getValue(plugin, "groupId") + ":" + getValue(plugin, "artifactId") + ":" + version;
+ if (isNotEmpty(name) && !name.contains(id)) {
+ append(sb, name + " " + version, 0);
+ } else {
+ if (isNotEmpty(name)) {
+ append(sb, name, 0);
+ } else {
+ append(sb, id, 0);
+ }
+ }
+ append(sb, getValue(plugin, "description"), 1);
+ append(sb, "", 0);
+
+ //<goalPrefix>plugin</goalPrefix>
+ String goalPrefix = getValue(plugin, "goalPrefix");
+
+ Node mojos1 = getSingleChild(plugin, "mojos");
+
+ List<Node> mojos = findNamedChild(mojos1, "mojo");
+
+ if (goal == null || goal.length() <= 0) {
+ append(sb, "This plugin has " + mojos.size() + (mojos.size() > 1 ? " goals:" : " goal:"), 0);
+ append(sb, "", 0);
+ }
+
+ for (Node mojo : mojos) {
+ writeGoal(sb, goalPrefix, (Element) mojo);
+ }
+
+ if (getLog().isInfoEnabled()) {
+ getLog().info(sb.toString());
+ }
+ }
+
+
+ private static boolean isNotEmpty(String string) {
+ return string != null && string.length() > 0;
+ }
+
+ private String getValue(Node node, String elementName)
+ throws MojoExecutionException {
+ return getSingleChild(node, elementName).getTextContent();
+ }
+
+ private Node getSingleChild(Node node, String elementName)
+ throws MojoExecutionException {
+ List<Node> namedChild = findNamedChild(node, elementName);
+ if (namedChild.isEmpty()) {
+ throw new MojoExecutionException("Could not find " + elementName + " in plugin-help.xml");
+ }
+ if (namedChild.size() > 1) {
+ throw new MojoExecutionException("Multiple " + elementName + " in plugin-help.xml");
+ }
+ return namedChild.get(0);
+ }
+
+ private List<Node> findNamedChild(Node node, String elementName) {
+ List<Node> result = new ArrayList<>();
+ NodeList childNodes = node.getChildNodes();
+ for (int i = 0; i < childNodes.getLength(); i++) {
+ Node item = childNodes.item(i);
+ if (elementName.equals(item.getNodeName())) {
+ result.add(item);
+ }
+ }
+ return result;
+ }
+
+ private Node findSingleChild(Node node, String elementName)
+ throws MojoExecutionException {
+ List<Node> elementsByTagName = findNamedChild(node, elementName);
+ if (elementsByTagName.isEmpty()) {
+ return null;
+ }
+ if (elementsByTagName.size() > 1) {
+ throw new MojoExecutionException("Multiple " + elementName + "in plugin-help.xml");
+ }
+ return elementsByTagName.get(0);
+ }
+
+ private void writeGoal(StringBuilder sb, String goalPrefix, Element mojo)
+ throws MojoExecutionException {
+ String mojoGoal = getValue(mojo, "goal");
+ Node configurationElement = findSingleChild(mojo, "configuration");
+ Node description = findSingleChild(mojo, "description");
+ if (goal == null || goal.length() <= 0 || mojoGoal.equals(goal)) {
+ append(sb, goalPrefix + ":" + mojoGoal, 0);
+ Node deprecated = findSingleChild(mojo, "deprecated");
+ if ((deprecated != null) && isNotEmpty(deprecated.getTextContent())) {
+ append(sb, "Deprecated. " + deprecated.getTextContent(), 1);
+ if (detail && description != null) {
+ append(sb, "", 0);
+ append(sb, description.getTextContent(), 1);
+ }
+ } else if (description != null) {
+ append(sb, description.getTextContent(), 1);
+ }
+ append(sb, "", 0);
+
+ if (detail) {
+ Node parametersNode = getSingleChild(mojo, "parameters");
+ List<Node> parameters = findNamedChild(parametersNode, "parameter");
+ append(sb, "Available parameters:", 1);
+ append(sb, "", 0);
+
+ for (Node parameter : parameters) {
+ writeParameter(sb, parameter, configurationElement);
+ }
+ }
+ }
+ }
+
+ private void writeParameter(StringBuilder sb, Node parameter, Node configurationElement)
+ throws MojoExecutionException {
+ String parameterName = getValue(parameter, "name");
+ String parameterDescription = getValue(parameter, "description");
+
+ Element fieldConfigurationElement = null;
+ if (configurationElement != null) {
+ fieldConfigurationElement = (Element) findSingleChild(configurationElement, parameterName);
+ }
+
+ String parameterDefaultValue = "";
+ if (fieldConfigurationElement != null && fieldConfigurationElement.hasAttribute("default-value")) {
+ parameterDefaultValue = " (Default: " + fieldConfigurationElement.getAttribute("default-value") + ")";
+ }
+ append(sb, parameterName + parameterDefaultValue, 2);
+ Node deprecated = findSingleChild(parameter, "deprecated");
+ if ((deprecated != null) && isNotEmpty(deprecated.getTextContent())) {
+ append(sb, "Deprecated. " + deprecated.getTextContent(), 3);
+ append(sb, "", 0);
+ }
+ append(sb, parameterDescription, 3);
+ if ("true".equals(getValue(parameter, "required"))) {
+ append(sb, "Required: Yes", 3);
+ }
+ if ((fieldConfigurationElement != null) && isNotEmpty(fieldConfigurationElement.getTextContent())) {
+ String property = getPropertyFromExpression(fieldConfigurationElement.getTextContent());
+ append(sb, "User property: " + property, 3);
+ }
+
+ append(sb, "", 0);
+ }
+
+ /**
+ * <p>Repeat a String <code>n</code> times to form a new string.</p>
+ *
+ * @param str String to repeat
+ * @param repeat number of times to repeat str
+ * @return String with repeated String
+ * @throws NegativeArraySizeException if <code>repeat < 0</code>
+ * @throws NullPointerException if str is <code>null</code>
+ */
+ private static String repeat(String str, int repeat) {
+ StringBuilder buffer = new StringBuilder(repeat * str.length());
+
+ for (int i = 0; i < repeat; i++) {
+ buffer.append(str);
+ }
+
+ return buffer.toString();
+ }
+
+ /**
+ * Append a description to the buffer by respecting the indentSize and lineLength parameters.
+ * <b>Note</b>: The last character is always a new line.
+ *
+ * @param sb The buffer to append the description, not <code>null</code>.
+ * @param description The description, not <code>null</code>.
+ * @param indent The base indentation level of each line, must not be negative.
+ */
+ private void append(StringBuilder sb, String description, int indent) {
+ for (String line : toLines(description, indent, indentSize, lineLength)) {
+ sb.append(line).append('\n');
+ }
+ }
+
+ /**
+ * Splits the specified text into lines of convenient display length.
+ *
+ * @param text The text to split into lines, must not be <code>null</code>.
+ * @param indent The base indentation level of each line, must not be negative.
+ * @param indentSize The size of each indentation, must not be negative.
+ * @param lineLength The length of the line, must not be negative.
+ * @return The sequence of display lines, never <code>null</code>.
+ * @throws NegativeArraySizeException if <code>indent < 0</code>
+ */
+ private static List<String> toLines(String text, int indent, int indentSize, int lineLength) {
+ List<String> lines = new ArrayList<>();
+
+ String ind = repeat("\t", indent);
+
+ String[] plainLines = text.split("(\r\n)|(\r)|(\n)");
+
+ for (String plainLine : plainLines) {
+ toLines(lines, ind + plainLine, indentSize, lineLength);
+ }
+
+ return lines;
+ }
+
+ /**
+ * Adds the specified line to the output sequence, performing line wrapping if necessary.
+ *
+ * @param lines The sequence of display lines, must not be <code>null</code>.
+ * @param line The line to add, must not be <code>null</code>.
+ * @param indentSize The size of each indentation, must not be negative.
+ * @param lineLength The length of the line, must not be negative.
+ */
+ private static void toLines(List<String> lines, String line, int indentSize, int lineLength) {
+ int lineIndent = getIndentLevel(line);
+ StringBuilder buf = new StringBuilder(256);
+
+ String[] tokens = line.split(" +");
+
+ for (String token : tokens) {
+ if (buf.length() > 0) {
+ if (buf.length() + token.length() >= lineLength) {
+ lines.add(buf.toString());
+ buf.setLength(0);
+ buf.append(repeat(" ", lineIndent * indentSize));
+ } else {
+ buf.append(' ');
+ }
+ }
+
+ for (int j = 0; j < token.length(); j++) {
+ char c = token.charAt(j);
+ if (c == '\t') {
+ buf.append(repeat(" ", indentSize - buf.length() % indentSize));
+ } else if (c == '\u00A0') {
+ buf.append(' ');
+ } else {
+ buf.append(c);
+ }
+ }
+ }
+ lines.add(buf.toString());
+ }
+
+ /**
+ * Gets the indentation level of the specified line.
+ *
+ * @param line The line whose indentation level should be retrieved, must not be <code>null</code>.
+ * @return The indentation level of the line.
+ */
+ private static int getIndentLevel(String line) {
+ int level = 0;
+ for (int i = 0; i < line.length() && line.charAt(i) == '\t'; i++) {
+ level++;
+ }
+ for (int i = level + 1; i <= level + 4 && i < line.length(); i++) {
+ if (line.charAt(i) == '\t') {
+ level++;
+ break;
+ }
+ }
+ return level;
+ }
+
+ private String getPropertyFromExpression(String expression) {
+ if (expression != null && expression.startsWith("${") && expression.endsWith("}")
+ && !expression.substring(2).contains("${")) {
+ // expression="${xxx}" -> property="xxx"
+ return expression.substring(2, expression.length() - 1);
+ }
+ // no property can be extracted
+ return null;
+ }
+}
Added: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPluginResolver.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPluginResolver.java?rev=1886991&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPluginResolver.java (added)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/MavenPluginResolver.java Sun Feb 28 02:04:20 2021
@@ -0,0 +1,34 @@
+/* Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.tool;
+
+import com.sun.org.apache.xml.internal.resolver.CatalogManager;
+import com.sun.org.apache.xml.internal.resolver.tools.CatalogResolver;
+import org.xml.sax.EntityResolver;
+
+/**
+ * Helper class for XML catalogs, which is provided as Java 8 and Java 9+ version (multi release)
+ */
+public class MavenPluginResolver {
+ public static EntityResolver getResolver(String catalogLocation) {
+ if (catalogLocation == null) {
+ return null;
+ }
+ CatalogManager catalogManager = CatalogManager.getStaticManager();
+ catalogManager.setCatalogFiles(catalogLocation);
+ return new CatalogResolver(catalogManager);
+ }
+}
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java?rev=1886991&r1=1886990&r2=1886991&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/SchemaCompiler.java Sun Feb 28 02:04:20 2021
@@ -639,7 +639,7 @@ public class SchemaCompiler {
long start = System.currentTimeMillis();
- // Calculate the usenames based on the relativized filenames on the filesystem
+ // Calculate the basenames based on the relativized filenames on the filesystem
if (baseDir == null) {
String userDir = SystemProperties.getProperty("user.dir");
assert (userDir != null);
@@ -686,6 +686,7 @@ public class SchemaCompiler {
options.setSchemaCodePrinter(codePrinter);
}
options.setCompilePartialMethod(partialMethods);
+ options.setCompileNoAnnotations(noAnn);
// save .xsb files
system.save(filer);
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java?rev=1886991&r1=1886990&r2=1886991&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/tool/XMLBean.java Sun Feb 28 02:04:20 2021
@@ -46,6 +46,7 @@ import java.util.*;
* for instructions on FileSets if you are unfamiliar with their usage.
*/
+@SuppressWarnings("unused")
public class XMLBean extends MatchingTask {
private final List<FileSet> schemas = new ArrayList<>();
@@ -101,7 +102,7 @@ public class XMLBean extends MatchingTas
//required
if (schemas.size() == 0
&& schema == null
- && fileset.getDir(project) == null) {
+ && fileset.getDir(getProject()) == null) {
String msg = "The 'schema' or 'dir' attribute or a nested fileset is required.";
if (failonerror) {
throw new BuildException(msg);
@@ -129,12 +130,12 @@ public class XMLBean extends MatchingTas
}
}
- if (fileset.getDir(project) != null) {
+ if (fileset.getDir(getProject()) != null) {
schemas.add(fileset);
}
for (FileSet fs : schemas) {
- FileScanner scanner = fs.getDirectoryScanner(project);
+ FileScanner scanner = fs.getDirectoryScanner(getProject());
File basedir = scanner.getBasedir();
String[] paths = scanner.getIncludedFiles();
@@ -190,7 +191,7 @@ public class XMLBean extends MatchingTas
// use the system classpath if user didn't provide any
if (classpath == null) {
- classpath = new Path(project);
+ classpath = new Path(getProject());
classpath.concatSystemClasspath();
}
@@ -239,7 +240,7 @@ public class XMLBean extends MatchingTas
// compile the source
Javac javac = new Javac();
- javac.setProject(project);
+ javac.setProject(getProject());
javac.setTaskName(getTaskName());
javac.setClasspath(classpath);
if (compiler != null) {
@@ -258,7 +259,7 @@ public class XMLBean extends MatchingTas
javac.setIncludeantruntime(includeAntRuntime);
javac.setIncludejavaruntime(includeJavaRuntime);
javac.setNowarn(nowarn);
- javac.setSrcdir(new Path(project, srcgendir.getAbsolutePath()));
+ javac.setSrcdir(new Path(getProject(), srcgendir.getAbsolutePath()));
if (memoryInitialSize != null) {
javac.setMemoryInitialSize(memoryInitialSize);
}
@@ -277,7 +278,7 @@ public class XMLBean extends MatchingTas
if (destfile != null) {
// jar the compiled classes
Jar jar = new Jar();
- jar.setProject(project);
+ jar.setProject(getProject());
jar.setTaskName(getTaskName());
jar.setBasedir(classgendir);
jar.setDestFile(destfile);
@@ -363,7 +364,7 @@ public class XMLBean extends MatchingTas
*/
public Path createClasspath() {
if (classpath == null) {
- classpath = new Path(project);
+ classpath = new Path(getProject());
}
return classpath.createPath();
}
@@ -375,7 +376,7 @@ public class XMLBean extends MatchingTas
*/
public void setClasspathRef(Reference classpathref) {
if (classpath == null) {
- classpath = new Path(project);
+ classpath = new Path(getProject());
}
classpath.createPath().setRefid(classpathref);
@@ -803,7 +804,7 @@ public class XMLBean extends MatchingTas
public ErrorLogger(boolean noisy) {
_noisy = noisy;
- _baseURI = uriFromFile(project.getBaseDir());
+ _baseURI = uriFromFile(getProject().getBaseDir());
}
public boolean add(XmlError err) {
Modified: xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/xpath/saxon/SaxonXPathEngine.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/xpath/saxon/SaxonXPathEngine.java?rev=1886991&r1=1886990&r2=1886991&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/xpath/saxon/SaxonXPathEngine.java (original)
+++ xmlbeans/trunk/src/main/java/org/apache/xmlbeans/impl/xpath/saxon/SaxonXPathEngine.java Sun Feb 28 02:04:20 2021
@@ -32,7 +32,7 @@ import java.util.List;
public class SaxonXPathEngine extends XPathExecutionContext implements XPathEngine {
// full datetime format: yyyy-MM-dd'T'HH:mm:ss'Z'
- private final DateFormat xmlDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+ private final DateFormat xmlDateFormat = new SimpleDateFormat("yyyy-MM-dd", java.util.Locale.ROOT);
private Cur _cur;
private SaxonXPath _engine;
Added: xmlbeans/trunk/src/main/multimodule/java9/org/apache/xmlbeans/impl/tool/MavenPluginResolver.class
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/multimodule/java9/org/apache/xmlbeans/impl/tool/MavenPluginResolver.class?rev=1886991&view=auto
==============================================================================
Binary file - no diff available.
Propchange: xmlbeans/trunk/src/main/multimodule/java9/org/apache/xmlbeans/impl/tool/MavenPluginResolver.class
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: xmlbeans/trunk/src/main/multimodule/java9/org/apache/xmlbeans/impl/tool/MavenPluginResolver.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/multimodule/java9/org/apache/xmlbeans/impl/tool/MavenPluginResolver.java?rev=1886991&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/multimodule/java9/org/apache/xmlbeans/impl/tool/MavenPluginResolver.java (added)
+++ xmlbeans/trunk/src/main/multimodule/java9/org/apache/xmlbeans/impl/tool/MavenPluginResolver.java Sun Feb 28 02:04:20 2021
@@ -0,0 +1,40 @@
+/* Copyright 2004 The Apache Software Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.xmlbeans.impl.tool;
+
+import org.xml.sax.EntityResolver;
+
+import javax.xml.catalog.Catalog;
+import javax.xml.catalog.CatalogFeatures;
+import javax.xml.catalog.CatalogManager;
+import java.io.File;
+
+/**
+ * Helper class for XML catalogs, which is provided as Java 8 and Java 9+ version (multi release)
+ */
+public class MavenPluginResolver {
+ public static EntityResolver getResolver(String catalogLocation) {
+ if (catalogLocation == null) {
+ return null;
+ }
+
+ CatalogFeatures features = CatalogFeatures.builder()
+ .with(CatalogFeatures.Feature.PREFER, "system")
+ .build();
+ Catalog catalog = CatalogManager.catalog(features, new File(catalogLocation).toURI());
+ return CatalogManager.catalogResolver(catalog);
+ }
+}
Copied: xmlbeans/trunk/src/main/resources/maven/org.apache.xmlbeans/xmlbeans/pom.xml (from r1886990, xmlbeans/trunk/src/main/resources/maven/pom.xml)
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/resources/maven/org.apache.xmlbeans/xmlbeans/pom.xml?p2=xmlbeans/trunk/src/main/resources/maven/org.apache.xmlbeans/xmlbeans/pom.xml&p1=xmlbeans/trunk/src/main/resources/maven/pom.xml&r1=1886990&r2=1886991&rev=1886991&view=diff
==============================================================================
--- xmlbeans/trunk/src/main/resources/maven/pom.xml (original)
+++ xmlbeans/trunk/src/main/resources/maven/org.apache.xmlbeans/xmlbeans/pom.xml Sun Feb 28 02:04:20 2021
@@ -100,6 +100,26 @@
<version>3.18.0</version>
<scope>provided</scope>
</dependency>
+
+ <!-- dependencies for xmlbeans maven plugin -->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-model</artifactId>
+ <version>3.0</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.maven.plugin-tools</groupId>
+ <artifactId>maven-plugin-annotations</artifactId>
+ <version>3.4</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
<profiles>
Added: xmlbeans/trunk/src/main/resources/maven/plugin.xml
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/main/resources/maven/plugin.xml?rev=1886991&view=auto
==============================================================================
--- xmlbeans/trunk/src/main/resources/maven/plugin.xml (added)
+++ xmlbeans/trunk/src/main/resources/maven/plugin.xml Sun Feb 28 02:04:20 2021
@@ -0,0 +1,484 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+
+<plugin>
+ <name>xmlbeans</name>
+ <description></description>
+ <groupId>org.apache.xmlbeans</groupId>
+ <artifactId>xmlbeans</artifactId>
+ <version>@VERSION@</version>
+ <goalPrefix>xmlbeans.plugin</goalPrefix>
+ <isolatedRealm>false</isolatedRealm>
+ <inheritedByDefault>true</inheritedByDefault>
+ <mojos>
+ <mojo>
+ <goal>help</goal>
+ <description>Display help information on xmlbeans-maven-plugin.<br>
+ Call <code>mvn xmlbeans.plugin:help -Ddetail=true -Dgoal=&lt;goal-name&gt;</code> to display parameter details.</description>
+ <requiresDirectInvocation>false</requiresDirectInvocation>
+ <requiresProject>false</requiresProject>
+ <requiresReports>false</requiresReports>
+ <aggregator>false</aggregator>
+ <requiresOnline>false</requiresOnline>
+ <inheritedByDefault>true</inheritedByDefault>
+ <implementation>org.apache.xmlbeans.impl.tool.MavenPluginHelp</implementation>
+ <language>java</language>
+ <instantiationStrategy>per-lookup</instantiationStrategy>
+ <executionStrategy>once-per-session</executionStrategy>
+ <threadSafe>true</threadSafe>
+ <parameters>
+ <parameter>
+ <name>detail</name>
+ <type>boolean</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>If <code>true</code>, display all settable properties for each goal.</description>
+ </parameter>
+ <parameter>
+ <name>goal</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>The name of the goal for which to show help. If unspecified, all goals will be displayed.</description>
+ </parameter>
+ <parameter>
+ <name>indentSize</name>
+ <type>int</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>The number of spaces per indentation level, should be positive.</description>
+ </parameter>
+ <parameter>
+ <name>lineLength</name>
+ <type>int</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>The maximum length of a display line, should be positive.</description>
+ </parameter>
+ </parameters>
+ <configuration>
+ <detail implementation="boolean" default-value="false">${detail}</detail>
+ <goal implementation="java.lang.String">${goal}</goal>
+ <indentSize implementation="int" default-value="2">${indentSize}</indentSize>
+ <lineLength implementation="int" default-value="80">${lineLength}</lineLength>
+ </configuration>
+ </mojo>
+ <mojo>
+ <goal>compile</goal>
+ <requiresDirectInvocation>false</requiresDirectInvocation>
+ <requiresProject>false</requiresProject>
+ <requiresReports>false</requiresReports>
+ <aggregator>false</aggregator>
+ <requiresOnline>false</requiresOnline>
+ <inheritedByDefault>true</inheritedByDefault>
+ <phase>generate-sources</phase>
+ <executePhase>generate-sources</executePhase>
+ <executeGoal>compile</executeGoal>
+ <implementation>org.apache.xmlbeans.impl.tool.MavenPlugin</implementation>
+ <language>java</language>
+ <instantiationStrategy>per-lookup</instantiationStrategy>
+ <executionStrategy>once-per-session</executionStrategy>
+ <threadSafe>false</threadSafe>
+ <parameters>
+ <parameter>
+ <name>project</name>
+ <type>org.apache.maven.project.MavenProject</type>
+ <required>true</required>
+ <editable>false</editable>
+ <description>reference to the project</description>
+ </parameter>
+ <parameter>
+ <name>baseSchemaLocation</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>destination directory of the copied xsd files</description>
+ </parameter>
+ <parameter>
+ <name>buildSchemas</name>
+ <type>boolean</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>buildSchemas sets build process of the generated sources</description>
+ </parameter>
+ <parameter>
+ <name>catalogLocation</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>catalogLocation is the location of an entity resolver catalog to use for resolving namespace to schema locations.</description>
+ </parameter>
+ <parameter>
+ <name>classPath</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description></description>
+ </parameter>
+ <parameter>
+ <name>classTargetDir</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>classTargetDir is where you want compiled class files to appear</description>
+ </parameter>
+ <parameter>
+ <name>javaTargetDir</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>javaTargetdir is where you want generated java source to appear</description>
+ </parameter>
+ <parameter>
+ <name>resources</name>
+ <type>java.util.List</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description></description>
+ </parameter>
+ <parameter>
+ <name>sourceDir</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>sourceDir is a base directory for the list in sourceschema</description>
+ </parameter>
+ <parameter>
+ <name>sourceSchemas</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>sourceSchemas is a comma-delimited list of all the schemas you want to compile</description>
+ </parameter>
+ <parameter>
+ <name>xmlConfigs</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>xmlConfigs points to your xmlconfig.xml file</description>
+ </parameter>
+ <parameter>
+ <name>name</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>schema system name</description>
+ </parameter>
+ <parameter>
+ <name>repackage</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>Metadata package name. If explicitly set empty, generates to org.apache.xmlbeans.metadata</description>
+ </parameter>
+ <parameter>
+ <name>mdefNamespaces</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>
+ If this option is set, then the schema compiler will permit and
+ ignore multiple definitions of the same component (element, attribute,
+ type, etc) names in the given namespaces. If multiple definitions
+ with the same name appear, the definitions that happen to be processed
+ last will be ignored.
+
+ a comma-seperated list of namespace URIs
+ </description>
+ </parameter>
+ <parameter>
+ <name>partialMethods</name>
+ <type>java.lang.String</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>
+ Only generate a subset of the bean methods. Comma-seperated list of the following method types:
+ GET, XGET, IS_SET, IS_NIL, IS_NIL_IDX, SET, SET_NIL, SET_NIL_IDX, XSET, UNSET,
+ GET_ARRAY, XGET_ARRAY, GET_IDX, XGET_IDX, XSET_ARRAY, XSET_IDX,
+ SIZE_OF_ARRAY, SET_ARRAY, SET_IDX,
+ INSERT_IDX, INSERT_NEW_IDX,
+ ADD, ADD_NEW, REMOVE_IDX,
+ GET_LIST, XGET_LIST, SET_LIST,
+ INSTANCE_TYPE
+
+ Example: "ALL,-GET_LIST,-XGET_LIST" excludes GET_LIST and XGET_LIST methods
+ </description>
+ </parameter>
+ <parameter>
+ <name>verbose</name>
+ <type>boolean</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>verbose output</description>
+ </parameter>
+ <parameter>
+ <name>quite</name>
+ <type>boolean</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>no output</description>
+ </parameter>
+ <parameter>
+ <name>noUpa</name>
+ <type>boolean</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>deactivate unique particle attribution</description>
+ </parameter>
+ <parameter>
+ <name>noPvr</name>
+ <type>boolean</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>deactivate particle valid (restriction)</description>
+ </parameter>
+ <parameter>
+ <name>noAnn</name>
+ <type>boolean</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>deactivate annotation generation</description>
+ </parameter>
+ <parameter>
+ <name>noVDoc</name>
+ <type>boolean</type>
+ <required>false</required>
+ <editable>true</editable>
+ <description>do not validate contents of documentation-tags</description>
+ </parameter>
+ </parameters>
+ <configuration>
+ <project implementation="org.apache.maven.project.MavenProject" default-value="${project}"/>
+ <buildSchemas implementation="boolean" default-value="true"/>
+ <sourceDir implementation="java.lang.String" default-value="${project.basedir}/src/main/schema"/>
+ <sourceSchemas implementation="java.lang.String" default-value="*.xsd,*.wsdl"/>
+ <xmlConfigs implementation="java.lang.String" default-value="${project.basedir}/src/schema/xmlconfig.xml"/>
+ <javaTargetDir implementation="java.lang.String" default-value="${project.basedir}/target/generated-sources"/>
+ <classTargetDir implementation="java.lang.String" default-value="${project.basedir}/target/generated-resources"/>
+ <baseSchemaLocation implementation="java.lang.String" default-value="schemaorg_apache_xmlbeans/src"/>
+ <name implementation="java.lang.String" default-value="${project.artifactId}"/>
+ <repackage implementation="java.lang.String" default-value="${project.groupId}.${project.artifactId}.metadata"/>
+ <verbose implementation="boolean" default-value="false"/>
+ <quite implementation="boolean" default-value="true"/>
+ <noUpa implementation="boolean" default-value="false"/>
+ <noPvr implementation="boolean" default-value="false"/>
+ <noAnn implementation="boolean" default-value="false"/>
+ <noVDoc implementation="boolean" default-value="false"/>
+ </configuration>
+ </mojo>
+ </mojos>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-plugin-api</artifactId>
+ <version>3.6.1</version>
+ </dependency>
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven</groupId>-->
+<!-- <artifactId>maven-model</artifactId>-->
+<!-- <version>3.6.1</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven</groupId>-->
+<!-- <artifactId>maven-artifact</artifactId>-->
+<!-- <version>3.6.1</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.commons</groupId>-->
+<!-- <artifactId>commons-lang3</artifactId>-->
+<!-- <version>3.8.1</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.eclipse.sisu</groupId>-->
+<!-- <artifactId>org.eclipse.sisu.plexus</artifactId>-->
+<!-- <version>0.3.3</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>javax.enterprise</groupId>-->
+<!-- <artifactId>cdi-api</artifactId>-->
+<!-- <version>1.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>javax.annotation</groupId>-->
+<!-- <artifactId>jsr250-api</artifactId>-->
+<!-- <version>1.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>javax.inject</groupId>-->
+<!-- <artifactId>javax.inject</artifactId>-->
+<!-- <version>1</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.eclipse.sisu</groupId>-->
+<!-- <artifactId>org.eclipse.sisu.inject</artifactId>-->
+<!-- <version>0.3.3</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.codehaus.plexus</groupId>-->
+<!-- <artifactId>plexus-component-annotations</artifactId>-->
+<!-- <version>1.5.5</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.codehaus.plexus</groupId>-->
+<!-- <artifactId>plexus-utils</artifactId>-->
+<!-- <version>3.2.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.codehaus.plexus</groupId>-->
+<!-- <artifactId>plexus-classworlds</artifactId>-->
+<!-- <version>2.6.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven.shared</groupId>-->
+<!-- <artifactId>file-management</artifactId>-->
+<!-- <version>3.0.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven.shared</groupId>-->
+<!-- <artifactId>maven-shared-io</artifactId>-->
+<!-- <version>3.0.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven</groupId>-->
+<!-- <artifactId>maven-compat</artifactId>-->
+<!-- <version>3.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven</groupId>-->
+<!-- <artifactId>maven-model-builder</artifactId>-->
+<!-- <version>3.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven</groupId>-->
+<!-- <artifactId>maven-settings</artifactId>-->
+<!-- <version>3.0</version>-->
+<!-- </dependency>-->
+ <dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-core</artifactId>
+ <version>3.0</version>
+ </dependency>
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven</groupId>-->
+<!-- <artifactId>maven-settings-builder</artifactId>-->
+<!-- <version>3.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven</groupId>-->
+<!-- <artifactId>maven-repository-metadata</artifactId>-->
+<!-- <version>3.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven</groupId>-->
+<!-- <artifactId>maven-aether-provider</artifactId>-->
+<!-- <version>3.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.aether</groupId>-->
+<!-- <artifactId>aether-impl</artifactId>-->
+<!-- <version>1.7</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.aether</groupId>-->
+<!-- <artifactId>aether-spi</artifactId>-->
+<!-- <version>1.7</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.aether</groupId>-->
+<!-- <artifactId>aether-api</artifactId>-->
+<!-- <version>1.7</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.aether</groupId>-->
+<!-- <artifactId>aether-util</artifactId>-->
+<!-- <version>1.7</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.plexus</groupId>-->
+<!-- <artifactId>plexus-sec-dispatcher</artifactId>-->
+<!-- <version>1.3</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.plexus</groupId>-->
+<!-- <artifactId>plexus-cipher</artifactId>-->
+<!-- <version>1.4</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.codehaus.plexus</groupId>-->
+<!-- <artifactId>plexus-interpolation</artifactId>-->
+<!-- <version>1.14</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.sisu</groupId>-->
+<!-- <artifactId>sisu-inject-plexus</artifactId>-->
+<!-- <version>1.4.2</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.sisu</groupId>-->
+<!-- <artifactId>sisu-inject-bean</artifactId>-->
+<!-- <version>1.4.2</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.sonatype.sisu</groupId>-->
+<!-- <artifactId>sisu-guice</artifactId>-->
+<!-- <version>2.1.7</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven.wagon</groupId>-->
+<!-- <artifactId>wagon-provider-api</artifactId>-->
+<!-- <version>2.10</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.maven.shared</groupId>-->
+<!-- <artifactId>maven-shared-utils</artifactId>-->
+<!-- <version>3.0.0</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>commons-io</groupId>-->
+<!-- <artifactId>commons-io</artifactId>-->
+<!-- <version>2.4</version>-->
+<!-- </dependency>-->
+<!-- <dependency>-->
+<!-- <groupId>com.google.code.findbugs</groupId>-->
+<!-- <artifactId>jsr305</artifactId>-->
+<!-- <version>2.0.1</version>-->
+<!-- </dependency>-->
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-api</artifactId>
+ <version>2.14.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ <version>2.14.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sf.saxon</groupId>
+ <artifactId>Saxon-HE</artifactId>
+ <version>10.3</version>
+ </dependency>
+ <dependency>
+ <groupId>com.github.javaparser</groupId>
+ <artifactId>javaparser-core</artifactId>
+ <version>3.18.0</version>
+ </dependency>
+ </dependencies>
+</plugin>
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org