Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.5:Update
modello
0001-Upgrade-to-SnakeYaml-2.2-439.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0001-Upgrade-to-SnakeYaml-2.2-439.patch of Package modello
From c6747419bf16f55b92a2d0eec2e87da09d9a1507 Mon Sep 17 00:00:00 2001 From: Tamas Cservenak <tamas@cservenak.net> Date: Wed, 29 May 2024 18:51:31 +0200 Subject: [PATCH 1/3] Upgrade to SnakeYaml 2.2 (#439) Upgrade to SnakeYaml 2.2 --- .../modello-plugin-snakeyaml/pom.xml | 10 +- .../snakeyaml/SnakeYamlReaderGenerator.java | 16 +- .../snakeyaml/SnakeYamlWriterGenerator.java | 4 +- .../snakeyaml/SnakeYamlGeneratorTest.java | 50 + .../src/test/resources/models/maven.mdo | 1668 +++++++++++++++++ 5 files changed, 1744 insertions(+), 4 deletions(-) create mode 100644 modello-plugins/modello-plugin-snakeyaml/src/test/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlGeneratorTest.java create mode 100644 modello-plugins/modello-plugin-snakeyaml/src/test/resources/models/maven.mdo diff --git a/modello-plugins/modello-plugin-snakeyaml/pom.xml b/modello-plugins/modello-plugin-snakeyaml/pom.xml index 656a26fa..418654cc 100644 --- a/modello-plugins/modello-plugin-snakeyaml/pom.xml +++ b/modello-plugins/modello-plugin-snakeyaml/pom.xml @@ -24,7 +24,15 @@ <dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> - <version>1.33</version> + <version>2.2</version> </dependency> </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-dependency-plugin</artifactId> + </plugin> + </plugins> + </build> </project> diff --git a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlReaderGenerator.java b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlReaderGenerator.java index d53a40a5..532afe6e 100644 --- a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlReaderGenerator.java +++ b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlReaderGenerator.java @@ -210,7 +210,7 @@ public class SnakeYamlReaderGenerator extends AbstractSnakeYamlGenerator { sc = unmarshall.getSourceCode(); - sc.add("Parser parser = new ParserImpl( new StreamReader( reader ) );"); + sc.add("Parser parser = new ParserImpl( new StreamReader( reader ), new LoaderOptions() );"); sc.add("return " + readerMethodName + "( parser, strict );"); @@ -288,6 +288,7 @@ public class SnakeYamlReaderGenerator extends AbstractSnakeYamlGenerator { jClass.addImport("org.yaml.snakeyaml.parser.ParserException"); jClass.addImport("org.yaml.snakeyaml.parser.ParserImpl"); jClass.addImport("org.yaml.snakeyaml.reader.StreamReader"); + jClass.addImport("org.yaml.snakeyaml.LoaderOptions"); jClass.addImport("java.io.InputStream"); jClass.addImport("java.io.InputStreamReader"); jClass.addImport("java.io.IOException"); @@ -820,6 +821,8 @@ public class SnakeYamlReaderGenerator extends AbstractSnakeYamlGenerator { sc = method.getSourceCode(); + sc.add("if (!(event instanceof ScalarEvent))"); + sc.addIndented("return false;"); sc.add("String currentName = ( (ScalarEvent) event ).getValue();"); sc.add(""); @@ -855,9 +858,17 @@ public class SnakeYamlReaderGenerator extends AbstractSnakeYamlGenerator { sc.add("if ( strict )"); + sc.add("{"); + sc.indent(); + sc.add("if ( event instanceof ScalarEvent )"); sc.add("{"); sc.addIndented( "throw new ParserException( \"Unrecognised tag: '\" + ( (ScalarEvent) event ).getValue() + \"'\", event.getStartMark(), \"\", null );"); + sc.add("} else {"); + sc.addIndented( + "return ; // throw new ParserException( \"Unrecognised : '\" + event.getEventId() + \"'\", event.getStartMark(), \"\", null );"); + sc.add("}"); + sc.unindent(); sc.add("}"); sc.add(""); @@ -1041,7 +1052,8 @@ public class SnakeYamlReaderGenerator extends AbstractSnakeYamlGenerator { return; } - String constr = "new " + locationTracker.getName() + "( parser.getLineNumber(), parser.getColumnNumber()"; + String constr = "new " + locationTracker.getName() + + "( parser.peekEvent().getStartMark().getLine(), parser.peekEvent().getStartMark().getColumn()"; constr += (sourceTracker != null) ? ", " + SOURCE_PARAM : ""; constr += " )"; diff --git a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlWriterGenerator.java b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlWriterGenerator.java index cd1a5f9d..00da62ff 100644 --- a/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlWriterGenerator.java +++ b/modello-plugins/modello-plugin-snakeyaml/src/main/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlWriterGenerator.java @@ -74,6 +74,7 @@ public class SnakeYamlWriterGenerator extends AbstractSnakeYamlGenerator { JClass jClass = new JClass(packageName + '.' + marshallerName); initHeader(jClass); + suppressAllWarnings(objectModel, jClass); jClass.addImport("org.yaml.snakeyaml.DumperOptions"); jClass.addImport("org.yaml.snakeyaml.DumperOptions.Version"); @@ -290,7 +291,8 @@ public class SnakeYamlWriterGenerator extends AbstractSnakeYamlGenerator { sc.indent(); writeScalarKey(sc, fieldTagName); - sc.add("generator.emit( new SequenceStartEvent( null, null, true, null, null, false ) );"); + sc.add( + "generator.emit( new SequenceStartEvent( null, null, true, null, null, FlowStyle.AUTO ) );"); sc.add("for ( " + toType + " o : " + value + " )"); diff --git a/modello-plugins/modello-plugin-snakeyaml/src/test/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlGeneratorTest.java b/modello-plugins/modello-plugin-snakeyaml/src/test/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlGeneratorTest.java new file mode 100644 index 00000000..a9bb50fb --- /dev/null +++ b/modello-plugins/modello-plugin-snakeyaml/src/test/java/org/codehaus/modello/plugin/snakeyaml/SnakeYamlGeneratorTest.java @@ -0,0 +1,50 @@ +package org.codehaus.modello.plugin.snakeyaml; + +/* + * Copyright (c) 2004, Codehaus.org + * + * Permission is hereby granted, free of charge, to any person obtaining a copy of + * this software and associated documentation files (the "Software"), to deal in + * the Software without restriction, including without limitation the rights to + * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies + * of the Software, and to permit persons to whom the Software is furnished to do + * so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +import java.util.Map; + +import org.codehaus.modello.AbstractModelloJavaGeneratorTest; +import org.codehaus.modello.core.ModelloCore; +import org.codehaus.modello.model.Model; + +public class SnakeYamlGeneratorTest extends AbstractModelloJavaGeneratorTest { + public SnakeYamlGeneratorTest() { + super("snakeyaml"); + } + + public void testYamlGenerator() throws Throwable { + ModelloCore modello = (ModelloCore) lookup(ModelloCore.ROLE); + + Model model = modello.loadModel(getXmlResourceReader("/models/maven.mdo")); + + Map<String, Object> parameters = getModelloParameters("4.0.0"); + + modello.generate(model, "java", parameters); + modello.generate(model, "snakeyaml-writer", parameters); + modello.generate(model, "snakeyaml-reader", parameters); + + addDependency("org.yaml", "snakeyaml"); + compileGeneratedSources(); + } +} diff --git a/modello-plugins/modello-plugin-snakeyaml/src/test/resources/models/maven.mdo b/modello-plugins/modello-plugin-snakeyaml/src/test/resources/models/maven.mdo new file mode 100644 index 00000000..4ebfc768 --- /dev/null +++ b/modello-plugins/modello-plugin-snakeyaml/src/test/resources/models/maven.mdo @@ -0,0 +1,1668 @@ +<!-- + | + | o add specification element to a field, this would be more a technical description of + | what is allowed in the field. + | + | o validators: there could be several levels of validation. Simple type validation could + | be done with a regex, but we need inter-field validation and rules which could be + | dealt with by something like drools. + | + | o i18n: would be good to be able to have names/descriptions/specifications + | in as many languages as possible. + | + | o versioning of individual elements on the class level and the field level so that + | different versions of the model can be output. + | + | o annotation mechanism so that changes to the model can be accurately tracked. + | + --> +<model> + <id>maven</id> + <name>Maven</name> + <description><![CDATA[Maven's model for Java project.]]></description> + <defaults> + <default> + <key>package</key> + <value>org.codehaus.modello.test.model</value> + </default> + </defaults> + <classes> + <class rootElement="true"> + <name>Model</name> + <version>3.0.0+</version> + <fields> + <field> + <name>extend</name> + <version>3.0.0+</version> + <description><![CDATA[ + The location of the parent project, if one exists. Values from the parent project will be + the default for this project if they are left unspecified. + The path may be absolute, or relative to the current project.xml file. + ]]></description> + <type>String</type> + </field> + <field> + <name>parent</name> + <version>4.0.0</version> + <description><![CDATA[Specified which project to extend.]]></description> + <association> + <type>Parent</type> + </association> + <comment></comment> + </field> + <field> + <name>modelVersion</name> + <version>4.0.0</version> + <required>true</required> + <description><![CDATA[The version of this model you are using.]]></description> + <type>String</type> + </field> + <field> + <name>pomVersion</name> + <version>3.0.0</version> + <required>true</required> + <type>String</type> + </field> + <field> + <name>id</name> + <version>3.0.0</version> + <required>true</required> + <description><![CDATA[ + The id of the project. + ]]></description> + <type>String</type> + </field> + <field> + <name>groupId</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[The primary grouping for your project.]]></description> + <type>String</type> + </field> + <field> + <name>artifactId</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[The identifier used when generating the artifact for your project.]]></description> + <type>String</type> + </field> + <field> + <name>type</name> + <version>4.0.0</version> + <description><![CDATA[The type of artifact this project produces.]]></description> + <type>String</type> + <defaultValue>jar</defaultValue> + </field> + <field> + <name>name</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[Human readable name of the project.]]></description> + <type>String</type> + </field> + <field> + <name>currentVersion</name> + <version>3.0.0</version> + <required>true</required> + <type>String</type> + </field> + <field> + <name>version</name> + <version>4.0.0</version> + <required>true</required> + <description><![CDATA[The current version of the project.]]></description> + <type>String</type> + </field> + <field> + <name>shortDescription</name> + <version>3.0.0+</version> + <description><![CDATA[An abbreviated description of the project.]]></description> + <type>String</type> + </field> + <field> + <name>description</name> + <version>3.0.0+</version> + <description><![CDATA[ + A detailed description of the project. This element is + usually specified as CDATA to enable the use of HTML tags + within the description. This description is used to + generate the + <a href="plugins/site/index.html">front page</a> + of the project's web site. + ]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>3.0.0+</version> + <description><![CDATA[The URL where the project can be found.]]></description> + <type>String</type> + </field> + <field> + <name>logo</name> + <version>3.0.0+</version> + <description><![CDATA[The logo for the project.]]></description> + <type>String</type> + </field> + <field> + <name>issueTrackingUrl</name> + <version>3.0.0</version> + <description> + <![CDATA[The URL where the issue tracking system used by the project can be found.]]></description> + <type>String</type> + </field> + <field> + <name>issueManagement</name> + <version>4.0.0</version> + <description><![CDATA[The project's issue management information.]]></description> + <association> + <type>IssueManagement</type> + </association> + </field> + <field> + <name>ciManagement</name> + <version>4.0.0</version> + <description><![CDATA[The project's continuous integration management information.]]></description> + <association> + <type>CiManagement</type> + </association> + </field> + <field> + <name>inceptionYear</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[The year the project started.]]></description> + <type>String</type> + </field> + <field> + <name>gumpRepositoryId</name> + <version>3.0.0</version> + <description><![CDATA[Hint for the gump continuous integration build system.]]></description> + <type>String</type> + </field> + <field> + <name>siteAddress</name> + <version>3.0.0</version> + <description><![CDATA[The FQDN of the host where the project's site is uploaded.]]></description> + <type>String</type> + </field> + <field> + <name>siteDirectory</name> + <version>3.0.0</version> + <description> + <![CDATA[The directory on the site host where site documentation is placed when the site is uploaded.]]></description> + <type>String</type> + </field> + <field> + <name>distributionSite</name> + <version>3.0.0</version> + <description><![CDATA[The FQDN of the host where the project's artifacts are uploaded.]]></description> + <type>String</type> + <comment>This naming is inconsistent and distribution should occur from a repository structure.</comment> + </field> + <field> + <name>distributionDirectory</name> + <version>3.0.0</version> + <description> + <![CDATA[The directory on the distribution host where artifacts are placed when uploaded.]]></description> + <type>String</type> + <comment>This naming is inconsistent and distribution should occur from a repository structure.</comment> + </field> + + <field> + <name>repositories</name> + <version>4.0.0</version> + <description><![CDATA[The lists of the remote repositories]]></description> + <association> + <type>Repository</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>pluginRepositories</name> + <version>4.0.0</version> + <description><![CDATA[The lists of the remote repositories for discovering plugins]]></description> + <association> + <type>Repository</type> + <multiplicity>*</multiplicity> + </association> + <comment>This may be removed or relocated in the near future. It is undecided whether plugins really need a + remote repository set of their own.</comment> + </field> + <field> + <name>mailingLists</name> + <version>3.0.0+</version> + <description><![CDATA[The mailing lists for the project.]]></description> + <association> + <type>MailingList</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>developers</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element describes all of the developers associated with a + project. Each developer is described by a + <code>developer</code> element, which is then described by + additional elements (described below). The auto-generated site + documentation references this information. + ]]></description> + <association> + <type>Developer</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>contributors</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element describes all of the contributors associated with a + project who are not developers. Each contributor is described by a + <code>contributor</code> element, which is then describe by additional + elements (described below). The auto-generated site documentation + references this information. + ]]></description> + <association> + <type>Contributor</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>dependencies</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element describes all of the dependencies associated with a + project. Each dependency is described by a + <code>dependency</code> element, which is then described by + additional elements (described below). + ]]></description> + <association> + <type>Dependency</type> + <multiplicity>*</multiplicity> + </association> + <comment>These should ultimately only be compile time dependencies when transitive dependencies come into + play.</comment> + </field> + <field> + <name>overrides</name> + <version>4.0.0</version> + <description><![CDATA[ + This element describes all of the dependency overrides for a + project. Each dependency is described by a + <code>override</code> element, which is then described by + additional elements (described below). + ]]></description> + <association> + <type>Override</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>licenses</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element describes all of the licenses for this project. Each license is described by a + <code>license</code> element, which is then describe by additional + elements (described below). The auto-generated site documentation + references this information. Projects should only list the license(s) that + applies to the project and not the licenses that apply to dependencies. + ]]></description> + <association> + <type>License</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>versions</name> + <version>3.0.0</version> + <description><![CDATA[The released versions of the project.]]></description> + <association> + <type>Version</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>branches</name> + <version>3.0.0</version> + <description><![CDATA[The SCM branches create for the project.]]></description> + <association> + <type>Branch</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>packageGroups</name> + <version>3.0.0+</version> + <description><![CDATA[Package groups required for complete javadocs.]]></description> + <association> + <type>PackageGroup</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>reports</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element includes the specification of reports to be + included in a Maven-generated site. These reports will be run + when a user executes + <code>maven site</code>. All of the + reports will be included in the navigation bar for browsing in + the order they are specified. + ]]></description> + <association> + <type>String</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>scm</name> + <version>4.0.0</version> + <description><![CDATA[Specification for the SCM use by the project.]]></description> + <association> + <type>Scm</type> + </association> + </field> + <field> + <name>repository</name> + <version>3.0.0</version> + <description><![CDATA[Specification for the SCM use by the project.]]></description> + <association> + <type>Repository</type> + </association> + <comment>This element needs to be renamed as it conflicts with the existing notion of repositories in + Maven.</comment> + </field> + <field> + <name>build</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[Information required to build the project.]]></description> + <association> + <type>Build</type> + </association> + </field> + <field> + <name>organization</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element describes various attributes of the organziation to + which the project belongs. These attributes are utilized when + documentation is created (for copyright notices and links). + ]]></description> + <association> + <type>Organization</type> + </association> + </field> + <field> + <name>distributionManagement</name> + <version>4.0.0</version> + <description><![CDATA[Distribution information for a project.]]></description> + <association> + <type>DistributionManagement</type> + </association> + </field> + <field> + <name>local</name> + <version>4.0.0</version> + <required>false</required> + <description><![CDATA[Local configuration information.]]></description> + <association> + <type>Local</type> + </association> + </field> + <!-- @todo long run 4.0.0 may not need properties, with the parameters being specified + for the plugin directly --> + <field> + <name>properties</name> + <version>3.0.0+</version> + <description><![CDATA[ + Properties about the project. This allows you to configure your project and the + plugins it uses. + ]]></description> + <type>Properties</type> + <association mapStyle="inline"> + <type>String</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>preGoals</name> + <version>4.0.0</version> + <description><![CDATA[Set of decorator(s) injected before the target goal(s).]]></description> + <association> + <type>PreGoal</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>postGoals</name> + <version>4.0.0</version> + <description><![CDATA[Set of decorator(s) injected after the target goal(s).]]></description> + <association> + <type>PostGoal</type> + <multiplicity>*</multiplicity> + </association> + </field> + </fields> + <!-- We need this because we can't use package as a field name. --> + <!-- @todo this means it is undocumented. Should we instead provide an optional field name so package can be mapped to the field packageName? --> + <codeSegments> + <codeSegment> + <version>3.0.0</version> + <code> + public void setVersion(String version) + { + this.currentVersion = version; + } + + public String getVersion() + { + return currentVersion; + } + </code> + </codeSegment> + <codeSegment> + <version>3.0.0+</version> + <code> + private String packageName; + + public void setPackage(String packageName) + { + this.packageName = packageName; + } + + public String getPackage() + { + return packageName; + } + </code> + </codeSegment> + <codeSegment> + <version>4.0.0</version> + <code> + public String getId() + { + StringBuilder id = new StringBuilder(); + + id.append( getGroupId() ); + id.append( ":" ); + id.append( getArtifactId() ); + id.append( ":" ); + id.append( getType() ); + id.append( ":" ); + id.append( getVersion() ); + + return id.toString(); + } + </code> + </codeSegment> + </codeSegments> + </class> + <!-- @todo: is any of this too CVS specific? Investigate other SCMs --> + <class> + <name>Branch</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element describes each of the branches of the + project. Each branch is described by a + <code>tag</code> + element + ]]></description> + <fields> + <field> + <name>tag</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[ + The branch tag in the version control system + (e.g. cvs) used by the project for the source + code associated with this branch of the + project. + ]]></description> + <type>String</type> + </field> + <field> + <name>description</name> + <version>4.0.0</version> + <description><![CDATA[ + A description of the branch and its strategy. + ]]></description> + <type>String</type> + </field> + <field> + <name>lastMergeTag</name> + <version>4.0.0</version> + <description><![CDATA[ + This is the tag in the version control system that was last used + to merge from the branch to the current codebase. Future merges + should merge only the changes from this tag to the next. + ]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>Build</name> + <version>3.0.0+</version> + <fields> + <field> + <name>nagEmailAddress</name> + <version>3.0.0</version> + <description><![CDATA[ + An address to which notifications regarding the status of builds + for this project can be sent. This is intended for use by tools + which do unattended builds, for example those providing for + continuous integration. Currently this is used by the + <a href="build-file.html#maven:gump-descriptor">maven:gump-descriptor</a> + target. + ]]></description> + <type>String</type> + <comment>This should be moved out of the build section. Vestigal for use with Gump.</comment> + </field> + <field> + <name>sourceDirectory</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[ + This element specifies a directory containing the source + of the project. The generated build system will compile + the source in this directory when the project is built. + The path given is relative to the project descriptor. + ]]></description> + <type>String</type> + </field> + <field> + <name>unitTestSourceDirectory</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[ + This element specifies a directory containing the unit test + source of the project. The generated build system will + compile these directories when the project is being tested. + The unit tests must use the JUnit test framework. + The path given is relative to the project descriptor. + ]]></description> + <type>String</type> + </field> + <field> + <name>aspectSourceDirectory</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element specifies a directory containing Aspect + sources of the project. The generated build system will + compile the Aspects in this directory when the project is + built if Aspects have been enabled (see the + <a + href="plugins/aspectj/goals.html">Aspectj goals</a> document). + The path given is relative to the project descriptor. + ]]></description> + <type>String</type> + </field> + <field> + <name>integrationUnitTestSourceDirectory</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element specifies a directory containing integration test + sources of the project. + ]]></description> + <type>String</type> + </field> + <field> + <name>sourceModifications</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[ + This element describes all of the sourceModifications associated with a + project. Each source modification is described by a + <code>sourceModification</code> element, which is then described by + additional elements (described below). These modifications are used + to exclude or include various source depending on the environment + the build is running in. + ]]></description> + <association> + <type>SourceModification</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>unitTest</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[This element specifies unit tests associated with the project.]]></description> + <defaultValue>new UnitTest()</defaultValue> + <association> + <type>UnitTest</type> + </association> + </field> + <field> + <name>resources</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element describes all of the resources associated with a project or unit tests. + Each resource is described by a resource element, which is then described by additional + elements (described + <a href="#resource">below</a>). These resources are used to + complete the jar file or to run unit test. + ]]></description> + <association> + <type>Resource</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>directory</name> + <version>4.0.0</version> + <description><![CDATA[ + The directory where all generated by the build is placed. + ]]></description> + <type>String</type> + </field> + <field> + <name>output</name> + <version>4.0.0</version> + <description><![CDATA[ + The directory where compiled application classes are placed. + ]]></description> + <type>String</type> + </field> + <field> + <name>finalName</name> + <version>4.0.0</version> + <description><![CDATA[ + The filename (including an extension, but with no path information) that the produced artifact + will be called. The default value is artifactId-version.extension (where extension is derived from + type). + ]]></description> + <type>String</type> + </field> + <field> + <name>testOutput</name> + <version>4.0.0</version> + <description><![CDATA[ + The directory where compiled test classes are placed. + ]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>CiManagement</name> + <version>4.0.0</version> + <fields> + <field> + <name>system</name> + <version>4.0.0</version> + <description><![CDATA[The name of the continuous integration system i.e. Bugzilla]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>4.0.0</version> + <description><![CDATA[Url for the continuous integration system use by the project.]]></description> + <type>String</type> + </field> + <field> + <name>nagEmailAddress</name> + <version>4.0.0</version> + <description><![CDATA[Email address for the party to be notified on unsuccessful builds.]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>Contributor</name> + <version>3.0.0+</version> + <fields> + <field> + <name>name</name> + <version>3.0.0+</version> + <description><![CDATA[The full name of the contributor.]]></description> + <type>String</type> + </field> + <field> + <name>email</name> + <version>3.0.0+</version> + <description><![CDATA[The email address of the contributor.]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>3.0.0+</version> + <description><![CDATA[The URL for the homepage of the contributor.]]></description> + <type>String</type> + </field> + <field> + <name>organization</name> + <version>3.0.0+</version> + <description><![CDATA[The organization to which the contributor belongs.]]></description> + <type>String</type> + </field> + <field> + <name>roles</name> + <version>3.0.0+</version> + <description><![CDATA[ + The roles the contributor plays in the project. Each role is + describe by a + <code>role</code> element, the body of which is a + role name. + ]]></description> + <association> + <type>String</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>timezone</name> + <version>3.0.0+</version> + <description><![CDATA[ + The timezone the contributor is in. This is a number in the range -14 to 14. + ]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>Dependency</name> + <version>3.0.0+</version> + <fields> + <field> + <name>id</name> + <version>3.0.0</version> + <required>true</required> + <description><![CDATA[ + The id of the project. + ]]></description> + <type>String</type> + </field> + <field> + <name>groupId</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[ + The project group that produced the dependency, e.g. + <code>geronimo</code>. + ]]></description> + <type>String</type> + </field> + <field> + <name>artifactId</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[ + The unique id for an artifact produced by the project group, e.g. + <code>germonimo-jms</code> + ]]></description> + <type>String</type> + </field> + <field> + <name>version</name> + <version>3.0.0+</version> + <required>true</required> + <description><![CDATA[ + The version of the dependency., e.g. + <code>3.2.1</code> + ]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>3.0.0+</version> + <description><![CDATA[ + This url will be provided to the user if the jar file cannot be downloaded + from the central repository. + ]]></description> + <type>String</type> + <comment>The URL should really be gleaned from a shared database of dependency information.</comment> + </field> + <field> + <name>jar</name> + <version>3.0.0</version> + <description><![CDATA[Literal name of the artifact.]]></description> + <type>String</type> + </field> + <field> + <name>artifact</name> + <version>4.0.0+</version> + <description><![CDATA[Literal name of the artifact]]></description> + <type>String</type> + </field> + <field> + <name>type</name> + <version>3.0.0+</version> + <description><![CDATA[ + Other known recognised dependency types are: + <code>ejb</code> and + <code>plugin</code>. + ]]></description> + <type>String</type> + <defaultValue>jar</defaultValue> + </field> + <field> + <name>properties</name> + <version>3.0.0+</version> + <description><![CDATA[ + Properties about the dependency. Various plugins allow you to + <code>mark</code> dependencies with properties. For example the + <a href="plugins/war/index.html">war</a> plugin looks for a + <code>war.bundle</code> property, and if found will include the dependency + in + <code>WEB-INF/lib</code>. For example syntax, check the war plugin docs. + ]]></description> + <type>Properties</type> + <association mapStyle="inline"> + <type>String</type> + <multiplicity>*</multiplicity> + </association> + </field> + </fields> + <codeSegments> + <codeSegment> + <version>3.0.0+</version> + <code> + public String toString() + { + return groupId + "/" + type + "s:" + artifactId + "-" + version; + } + </code> + </codeSegment> + <codeSegment> + <version>4.0.0</version> + <code> + public String getId() + { + return groupId + ":" + artifactId + ":" + type + ":" + version; + } + </code> + </codeSegment> + <codeSegment> + <version>3.0.0</version> + <code><![CDATA[ + public String getKey() + { + return getId() + ":" + getType(); + } + + public String getArtifactDirectory() + { + return getGroupId(); + } + + public String getArtifact() + { + // If the jar name has been explicty set then use that. This + // is when the <jar/> element is explicity used in the POM. + if ( getJar() != null) + { + return getJar(); + } + + return getArtifactId() + "-" + getVersion() + "." + getExtension(); + } + + public String getExtension() + { + if ("ejb".equals(getType()) || "plugin".equals(getType()) || "aspect".equals(getType())) return "jar"; + return getType(); + } + + public boolean isAddedToClasspath() + { + return ("jar".equals(getType()) || "ejb".equals(getType())); + } + + public boolean isPlugin() + { + return ("plugin".equals(getType())); + } + + public String getProperty( String property ) + { + return getProperties().getProperty( property ); + } + + public boolean equals( Object o ) + { + if ( this == o ) + { + return true; + } + + if ( !( o instanceof Dependency ) ) + { + return false; + } + + Dependency d = (Dependency) o; + return getId().equals( d.getId() ); + } + + public int hashCode() + { + return getId().hashCode(); + } + ]]></code> + </codeSegment> + </codeSegments> + </class> + <class> + <name>Override</name> + <version>4.0.0</version> + <fields> + <field> + <name>groupId</name> + <version>4.0.0</version> + <required>true</required> + <description><![CDATA[ + The project group that produced the dependency, e.g. + <code>geronimo</code>. + ]]></description> + <type>String</type> + </field> + <field> + <name>artifactId</name> + <version>4.0.0</version> + <required>true</required> + <description><![CDATA[ + The unique id for an artifact produced by the project group, e.g. + <code>germonimo-jms</code> + ]]></description> + <type>String</type> + </field> + <field> + <name>type</name> + <version>4.0.0</version> + <description><![CDATA[ + Other known recognised dependency types are: + <code>ejb</code> and + <code>plugin</code>. + ]]></description> + <type>String</type> + <defaultValue>jar</defaultValue> + </field> + <!-- @todo this doesn't consider forced-version overrides, and do we need the version to override? --> + <field> + <name>version</name> + <version>4.0.0</version> + <required>true</required> + <description><![CDATA[ + The version of the dependency., e.g. + <code>3.2.1</code> + ]]></description> + <type>String</type> + </field> + <field> + <name>file</name> + <version>4.0.0</version> + <required>true</required> + <description><![CDATA[ + The filename of the dependency that will be used to override the one from the repository, e.g. + <code>lib/non-distributable-code-1.3.jar</code> + ]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <superClass>Contributor</superClass> + <name>Developer</name> + <version>3.0.0+</version> + <fields> + <field> + <name>id</name> + <version>3.0.0+</version> + <description><![CDATA[The username of the developer.]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>IssueManagement</name> + <version>4.0.0</version> + <fields> + <field> + <name>system</name> + <version>4.0.0</version> + <description><![CDATA[The name of the issue management system i.e. Bugzilla]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>4.0.0</version> + <description><![CDATA[Url for the issue management system use by the project.]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>DistributionManagement</name> + <version>4.0.0</version> + <description><![CDATA[ + This elements describes all that pertains to distribution for a project. + ]]></description> + <fields> + <field> + <name>repository</name> + <version>4.0.0</version> + <description> + <![CDATA[Information needed for deploying to remote repository artifacts generated by the project]]></description> + <association> + <type>Repository</type> + </association> + </field> + <field> + <name>site</name> + <description><![CDATA[Information needed for deploying website files of the project.]]></description> + <version>4.0.0</version> + <association> + <type>Site</type> + </association> + </field> + </fields> + </class> + <class> + <name>License</name> + <version>3.0.0+</version> + <fields> + <field> + <name>name</name> + <version>3.0.0+</version> + <description><![CDATA[The full legal name of the license.]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>3.0.0+</version> + <description><![CDATA[The official url for the license text.]]></description> + <type>String</type> + </field> + <field> + <name>distribution</name> + <version>3.0.0</version> + <description><![CDATA[ + The primary method by which this project may be distributed. + <dl> + <dt>repo</dt> + <dd>may be downloaded from the Maven repository</dd> + <dt>manual</dt> + <dd>user must manually download and install the dependency.</dd> + </dl> + ]]></description> + <type>String</type> + </field> + <field> + <name>comments</name> + <version>3.0.0+</version> + <description><![CDATA[the description]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>MailingList</name> + <version>3.0.0+</version> + <description><![CDATA[ + This element describes all of the mailing lists associated with + a project. Each mailing list is described by a + <code>mailingList</code> element, which is then described by + additional elements (described below). The auto-generated site + documentation references this information. + ]]></description> + <fields> + <field> + <name>name</name> + <version>3.0.0+</version> + <description><![CDATA[The name of the mailing list.]]></description> + <type>String</type> + </field> + <field> + <name>subscribe</name> + <version>3.0.0+</version> + <description><![CDATA[ + The email address or link that can be used to subscribe to the mailing list. + If this is an email address, a + <code>mailto:</code> link will automatically be created when + the documentation is created. + ]]></description> + <type>String</type> + </field> + <field> + <name>unsubscribe</name> + <version>3.0.0+</version> + <description><![CDATA[ + The email address or link that can be used to unsubscribe to + the mailing list. If this is an email address, a + <code>mailto:</code> link will automatically be created + when the documentation is created. + ]]></description> + <type>String</type> + </field> + <field> + <name>post</name> + <version>4.0.0</version> + <description><![CDATA[ + The email address or link that can be used to post to + the mailing list. If this is an email address, a + <code>mailto:</code> link will automatically be created + when the documentation is created. + ]]></description> + <type>String</type> + </field> + <field> + <name>archive</name> + <version>3.0.0+</version> + <description><![CDATA[The link to a URL where you can browse the archive.]]></description> + <type>String</type> + <comment>This should probably be removed from 4.0.0 before alpha-1</comment> + </field> + <field> + <name>archives</name> + <version>4.0.0</version> + <description><![CDATA[The link to a URL where you can browse the archive.]]></description> + <association> + <type>String</type> + <multiplicity>*</multiplicity> + </association> + </field> + </fields> + <comment> + We could probably have a specific element for a dev mailing list for + things like CI, and maybe even a specific element for the user and scm + mailing lists. Then leave the more lose structure for any other type + of mailing list. + </comment> + </class> + <class> + <name>Organization</name> + <version>3.0.0+</version> + <fields> + <field> + <name>name</name> + <version>3.0.0+</version> + <description><![CDATA[The full name of the organization.]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>3.0.0+</version> + <description><![CDATA[The URL to the organization's home page.]]></description> + <type>String</type> + </field> + <field> + <name>logo</name> + <version>3.0.0+</version> + <description><![CDATA[ + The URL to the organization's logo image. This can be an URL relative + to the base directory of the generated web site, + (e.g., + <code>/images/org-logo.png</code>) or an absolute URL + (e.g., + <code>http://my.corp/logo.png</code>). This value is used + when generating the project documentation. + ]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>PackageGroup</name> + <version>3.0.0+</version> + <fields> + <field> + <name>title</name> + <version>3.0.0+</version> + <description><![CDATA[the description]]></description> + <type>String</type> + </field> + <field> + <name>packages</name> + <version>3.0.0+</version> + <description><![CDATA[the description]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>PatternSet</name> + <version>3.0.0+</version> + <fields> + <field> + <name>includes</name> + <version>3.0.0+</version> + <description><![CDATA[the description]]></description> + <association> + <type>String</type> + <multiplicity>*</multiplicity> + </association> + </field> + <field> + <name>excludes</name> + <version>3.0.0+</version> + <description><![CDATA[the description]]></description> + <association> + <type>String</type> + <multiplicity>*</multiplicity> + </association> + </field> + </fields> + <codeSegments> + <codeSegment> + <version>3.0.0+</version> + <!-- @todo: should these be built somewhere so they are only created once, and can be modified? --> + <code> + public java.util.List getDefaultExcludes() + { + java.util.List defaultExcludes = new java.util.ArrayList(); + defaultExcludes.add( "**/*~" ); + defaultExcludes.add( "**/#*#" ); + defaultExcludes.add( "**/.#*" ); + defaultExcludes.add( "**/%*%" ); + defaultExcludes.add( "**/._*" ); + + // CVS + defaultExcludes.add( "**/CVS" ); + defaultExcludes.add( "**/CVS/**" ); + defaultExcludes.add( "**/.cvsignore" ); + + // SCCS + defaultExcludes.add( "**/SCCS" ); + defaultExcludes.add( "**/SCCS/**" ); + + // Visual SourceSafe + defaultExcludes.add( "**/vssver.scc" ); + + // Subversion + defaultExcludes.add( "**/.svn" ); + defaultExcludes.add( "**/.svn/**" ); + + // Mac + defaultExcludes.add( "**/.DS_Store" ); + return defaultExcludes; + } + </code> + </codeSegment> + </codeSegments> + </class> + <class> + <name>Parent</name> + <version>4.0.0</version> + <fields> + <field> + <name>artifactId</name> + <version>4.0.0</version> + <description><![CDATA[The artifact id of the project to extend.]]></description> + <type>String</type> + </field> + <field> + <name>groupId</name> + <version>4.0.0</version> + <description><![CDATA[The group id of the project to extend.]]></description> + <type>String</type> + </field> + <field> + <name>version</name> + <version>4.0.0</version> + <description><![CDATA[The versi>on of the project to extend.]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>Repository</name> + <version>3.0.0</version> + <fields> + <field> + <name>connection</name> + <version>3.0.0</version> + <description><![CDATA[ + The source configuration management system URL + that describes the repository and how to connect to the + repository. This is used by Maven when + <a + href="plugins/dist/index.html">building versions</a> + from specific ID. + ]]></description> + <type>String</type> + </field> + <field> + <name>developerConnection</name> + <version>3.0.0</version> + <description><![CDATA[ + Just like connection, but for developers, i.e. this scm connection + will not be read only. + ]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>3.0.0</version> + <description><![CDATA[The URL to the project's browsable CVS repository.]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>Scm</name> + <version>4.0.0</version> + <fields> + <field> + <name>connection</name> + <version>4.0.0</version> + <description><![CDATA[ + The source configuration management system URL + that describes the repository and how to connect to the + repository. This is used by Maven when + <a + href="plugins/dist/index.html">building versions</a> + from specific ID. + ]]></description> + <type>String</type> + </field> + <field> + <name>developerConnection</name> + <version>4.0.0</version> + <description><![CDATA[ + Just like connection, but for developers, i.e. this scm connection + will not be read only. + ]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>4.0.0</version> + <description><![CDATA[The URL to the project's browsable CVS repository.]]></description> + <type>String</type> + </field> + <field> + <name>branches</name> + <version>4.0.0</version> + <description> + <![CDATA[The SCM branches that are currently active for the project. These should only be those forked from the current branch or trunk that are intended to be used.]]></description> + <association> + <type>String</type> + <multiplicity>*</multiplicity> + </association> + </field> + </fields> + </class> + <class> + <name>Resource</name> + <version>3.0.0+</version> + <superClass>PatternSet</superClass> + <fields> + <field> + <name>directory</name> + <version>3.0.0+</version> + <description><![CDATA[ + Describe the directory where the resource is stored. + The path may be absolute, or relative to the project.xml file. + ]]></description> + <type>String</type> + </field> + <field> + <name>targetPath</name> + <version>3.0.0+</version> + <description><![CDATA[ + Describe the resource target path. For example, if you want that resource + appear into a specific package ( + <code>org.apache.maven.messages</code>), you must specify this + element with this value : + <code>org/apache/maven/messages</code> + ]]></description> + <type>String</type> + </field> + <field> + <name>filtering</name> + <version>3.0.0+</version> + <description><![CDATA[Describe if resources are filtered or not.]]></description> + <type>boolean</type> + <defaultValue>false</defaultValue> + </field> + </fields> + </class> + <class> + <name>SourceModification</name> + <version>3.0.0+</version> + <superClass>Resource</superClass> + <fields> + <field> + <name>className</name> + <version>3.0.0+</version> + <description><![CDATA[ + If the class with this name can + <strong>not</strong> be + loaded, then the includes and excludes specified below + will be applied to the contents of the + <a href="#sourceDirectory">sourceDirectory</a> + ]]></description> + <type>String</type> + </field> + <field> + <name>property</name> + <version>3.0.0+</version> + <description><![CDATA[the description]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>UnitTest</name> + <version>3.0.0+</version> + <superClass>PatternSet</superClass> + <fields> + <field> + <name>resources</name> + <version>3.0.0+</version> + <description><![CDATA[the description]]></description> + <association> + <type>Resource</type> + <multiplicity>*</multiplicity> + </association> + </field> + </fields> + </class> + <class> + <name>Version</name> + <version>3.0.0</version> + <description><![CDATA[ + This element describes each of the previous versions of the + project. Each version is described by a + <code>version</code> + element + ]]></description> + <fields> + <field> + <name>name</name> + <version>3.0.0</version> + <description><![CDATA[ + The external version number under which this release was distributed. Examples include: + <code>1.0</code>, + <code>1.1-alpha1</code>, + <code>1.2-beta</code>, + <code>1.3.2</code> etc. + ]]></description> + <type>String</type> + </field> + <field> + <name>tag</name> + <version>3.0.0</version> + <description><![CDATA[ + The name given in the version control system (e.g. cvs) used by the project for the source + code associated with this version of the project. + ]]></description> + <type>String</type> + </field> + <field> + <name>id</name> + <version>3.0.0</version> + <description><![CDATA[ + A unique identifier for a version. This ID is + used to specify the version that + <a href="plugins/dist/index.html"> + <code>maven:dist</code> + </a> builds. + ]]></description> + <type>String</type> + </field> + </fields> + </class> + + <class> + <name>Repository</name> + <version>4.0.0</version> + <description><![CDATA[ + Repository contains the information needed + for establishing connections with remote repoistory + ]]></description> + <fields> + <field> + <name>id</name> + <version>4.0.0</version> + <description><![CDATA[ + A unique identifier for a repository. + ]]></description> + <type>String</type> + </field> + <field> + <name>name</name> + <version>4.0.0</version> + <description><![CDATA[ + Human readable name of the repository + ]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>4.0.0</version> + <description><![CDATA[ + The url of of the repository + ]]></description> + <type>String</type> + </field> + </fields> + <codeSegments> + <codeSegment> + <version>4.0.0</version> + <code> + public boolean equals( Object obj ) + { + Repository other = ( Repository ) obj; + + boolean retValue = false; + + if ( id != null ) + { + retValue = id.equals( other.id ); + } + + return retValue; + } + </code> + </codeSegment> + </codeSegments> + </class> + <!--@todo find better solution for managment of site deployments --> + <class> + <name>Site</name> + <version>4.0.0</version> + <description><![CDATA[ + Site contains the information needed + for deploying websites. + ]]></description> + <fields> + <field> + <name>id</name> + <version>4.0.0</version> + <description><![CDATA[ + A unique identifier for a deployment locataion. + ]]></description> + <type>String</type> + </field> + <field> + <name>name</name> + <version>4.0.0</version> + <description><![CDATA[ + Human readable name of the deployment location + ]]></description> + <type>String</type> + </field> + <field> + <name>url</name> + <version>4.0.0</version> + <description><![CDATA[ + The url of of the location where website is deployed + ]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <name>GoalDecorator</name> + <version>4.0.0</version> + <fields> + <field> + <name>name</name> + <version>4.0.0</version> + <description><![CDATA[The target goal which should be decorated.]]></description> + <type>String</type> + </field> + <field> + <name>attain</name> + <version>4.0.0</version> + <description><![CDATA[ + The goal which should be injected into the execution chain. + ]]></description> + <type>String</type> + </field> + </fields> + </class> + <class> + <superClass>GoalDecorator</superClass> + <name>PreGoal</name> + <version>4.0.0</version> + <fields></fields> + </class> + <class> + <superClass>GoalDecorator</superClass> + <name>PostGoal</name> + <version>4.0.0</version> + <fields></fields> + </class> + + <!-- @todo should modello take a parameter/code segment that will forbid the + specification of this in a project other than the user pom? --> + <class> + <name>Local</name> + <version>4.0.0</version> + <description><![CDATA[ + Local contains the information that is specific to the user's + local environment. This would only be expected in a user or site pom, + not a project POM. + ]]></description> + <fields> + <!-- @todo should local repository actually be part of the <repositories/> element, or be of repository type? --> + <field> + <name>repository</name> + <version>4.0.0</version> + <description><![CDATA[ + The local repository that contains downloaded artifacts. + ]]></description> + <type>String</type> + <!-- @todo systemProperty tag (maven.repo.local value) should be supported by modello --> + </field> + <field> + <name>online</name> + <version>4.0.0</version> + <description><![CDATA[ + Whether to run the build online. If not, no remote repositories are consulted for plugins or dependencies + and this configuration may be used by other plugins requiring online access. + ]]></description> + <type>boolean</type> + <defaultValue>true</defaultValue> + <!-- @todo systemProperty tag (maven.online value) should be supported by modello --> + </field> + </fields> + </class> + </classes> +</model> -- 2.45.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor