From 2b1dd0ad04fc6f38de020ed748f90562d1f375b7 Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Fri, 12 Jan 2024 10:21:41 -1000 Subject: [PATCH 1/7] [Java.Interop.Tools.Maven] Initial commit. --- Java.Interop.sln | 14 + .../automation/templates/core-tests.yaml | 8 + .../DefaultPomResolver.cs | 23 + .../Extensions/MavenNetExtensions.cs | 76 + .../Extensions/PropertyStack.cs | 42 + src/Java.Interop.Tools.Maven/IPomResolver.cs | 8 + .../Java.Interop.Tools.Maven.csproj | 27 + .../Models/Artifact.cs | 45 + .../Models/Project.Partial.cs | 62 + .../Models/Project.cs | 6589 +++++++++++++++++ .../Models/ResolvedDependency.cs | 68 + .../Models/ResolvedProject.cs | 186 + .../Repositories/CachedMavenRepository.cs | 94 + .../Repositories/IMavenRepository.cs | 12 + .../Repositories/InMemoryMavenRepository.cs | 35 + .../Repositories/MavenRepository.cs | 38 + .../DependenciesTests.cs | 57 + .../Extensions/MavenPomResolver.cs | 40 + .../Extensions/TestDataExtensions.cs | 33 + .../Java.Interop.Tools.Maven-Tests.csproj | 31 + .../PomResolverTests.cs | 76 + .../PropertySubstitutionTests.cs | 161 + 22 files changed, 7725 insertions(+) create mode 100644 src/Java.Interop.Tools.Maven/DefaultPomResolver.cs create mode 100644 src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs create mode 100644 src/Java.Interop.Tools.Maven/Extensions/PropertyStack.cs create mode 100644 src/Java.Interop.Tools.Maven/IPomResolver.cs create mode 100644 src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.csproj create mode 100644 src/Java.Interop.Tools.Maven/Models/Artifact.cs create mode 100644 src/Java.Interop.Tools.Maven/Models/Project.Partial.cs create mode 100644 src/Java.Interop.Tools.Maven/Models/Project.cs create mode 100644 src/Java.Interop.Tools.Maven/Models/ResolvedDependency.cs create mode 100644 src/Java.Interop.Tools.Maven/Models/ResolvedProject.cs create mode 100644 src/Java.Interop.Tools.Maven/Repositories/CachedMavenRepository.cs create mode 100644 src/Java.Interop.Tools.Maven/Repositories/IMavenRepository.cs create mode 100644 src/Java.Interop.Tools.Maven/Repositories/InMemoryMavenRepository.cs create mode 100644 src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs create mode 100644 tests/Java.Interop.Tools.Maven-Tests/DependenciesTests.cs create mode 100644 tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenPomResolver.cs create mode 100644 tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs create mode 100644 tests/Java.Interop.Tools.Maven-Tests/Java.Interop.Tools.Maven-Tests.csproj create mode 100644 tests/Java.Interop.Tools.Maven-Tests/PomResolverTests.cs create mode 100644 tests/Java.Interop.Tools.Maven-Tests/PropertySubstitutionTests.cs diff --git a/Java.Interop.sln b/Java.Interop.sln index d662692ca..7ed121c9a 100644 --- a/Java.Interop.sln +++ b/Java.Interop.sln @@ -113,6 +113,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Java.Interop.Tools.Expressi EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Java.Interop.Tools.Expressions-Tests", "tests\Java.Interop.Tools.Expressions-Tests\Java.Interop.Tools.Expressions-Tests.csproj", "{211BAA88-66B1-41B2-88B2-530DBD8DF702}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop.Tools.Maven", "src\Java.Interop.Tools.Maven\Java.Interop.Tools.Maven.csproj", "{DA458F90-218B-4FE3-995F-AF4B27895FA2}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Java.Interop.Tools.Maven-Tests", "tests\Java.Interop.Tools.Maven-Tests\Java.Interop.Tools.Maven-Tests.csproj", "{6BC04C7F-949E-4F93-BF1F-E3B1DF0B888D}" +EndProject Global GlobalSection(SharedMSBuildProjectFiles) = preSolution src\Java.Interop.NamingCustomAttributes\Java.Interop.NamingCustomAttributes.projitems*{58b564a1-570d-4da2-b02d-25bddb1a9f4f}*SharedItemsImports = 5 @@ -320,6 +324,14 @@ Global {211BAA88-66B1-41B2-88B2-530DBD8DF702}.Debug|Any CPU.Build.0 = Debug|Any CPU {211BAA88-66B1-41B2-88B2-530DBD8DF702}.Release|Any CPU.ActiveCfg = Release|Any CPU {211BAA88-66B1-41B2-88B2-530DBD8DF702}.Release|Any CPU.Build.0 = Release|Any CPU + {DA458F90-218B-4FE3-995F-AF4B27895FA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {DA458F90-218B-4FE3-995F-AF4B27895FA2}.Debug|Any CPU.Build.0 = Debug|Any CPU + {DA458F90-218B-4FE3-995F-AF4B27895FA2}.Release|Any CPU.ActiveCfg = Release|Any CPU + {DA458F90-218B-4FE3-995F-AF4B27895FA2}.Release|Any CPU.Build.0 = Release|Any CPU + {6BC04C7F-949E-4F93-BF1F-E3B1DF0B888D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6BC04C7F-949E-4F93-BF1F-E3B1DF0B888D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6BC04C7F-949E-4F93-BF1F-E3B1DF0B888D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6BC04C7F-949E-4F93-BF1F-E3B1DF0B888D}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -374,6 +386,8 @@ Global {CB05E11B-B96F-4179-A4E9-5D6BDE29A8FC} = {271C9F30-F679-4793-942B-0D9527CB3E2F} {1A0262FE-3CDB-4AF2-AAD8-65C59524FE8A} = {0998E45F-8BCE-4791-A944-962CD54E2D80} {211BAA88-66B1-41B2-88B2-530DBD8DF702} = {271C9F30-F679-4793-942B-0D9527CB3E2F} + {DA458F90-218B-4FE3-995F-AF4B27895FA2} = {0998E45F-8BCE-4791-A944-962CD54E2D80} + {6BC04C7F-949E-4F93-BF1F-E3B1DF0B888D} = {271C9F30-F679-4793-942B-0D9527CB3E2F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {29204E0C-382A-49A0-A814-AD7FBF9774A5} diff --git a/build-tools/automation/templates/core-tests.yaml b/build-tools/automation/templates/core-tests.yaml index 1f11013ed..f172cb898 100644 --- a/build-tools/automation/templates/core-tests.yaml +++ b/build-tools/automation/templates/core-tests.yaml @@ -76,6 +76,14 @@ steps: arguments: bin/Test$(Build.Configuration)$(NetCoreTargetFrameworkPathSuffix)/Xamarin.SourceWriter-Tests.dll continueOnError: true +- task: DotNetCoreCLI@2 + displayName: 'Tests: Java.Interop.Tools.Maven' + inputs: + command: test + testRunTitle: Java.Interop.Tools.Maven (${{ parameters.platformName }}) + arguments: bin/Test$(Build.Configuration)$(NetCoreTargetFrameworkPathSuffix)/Java.Interop.Tools.Maven-Tests.dll + continueOnError: true + - task: DotNetCoreCLI@2 displayName: 'Tests: Java.Interop' condition: or(eq('${{ parameters.runNativeDotnetTests }}', 'true'), eq('${{ parameters.runNativeTests }}', 'true')) diff --git a/src/Java.Interop.Tools.Maven/DefaultPomResolver.cs b/src/Java.Interop.Tools.Maven/DefaultPomResolver.cs new file mode 100644 index 000000000..41531bcd0 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/DefaultPomResolver.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven; + +public class DefaultPomResolver : IPomResolver +{ + readonly Dictionary poms = new (); + + public void Register (Project project) + { + poms.Add (project.ToString (), project); + } + + public virtual Project ResolveRawProject (Artifact artifact) + { + if (poms.TryGetValue (artifact.ToString (), out var project)) + return project; + + throw new InvalidOperationException ($"No POM registered for {artifact}"); + } +} diff --git a/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs b/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs new file mode 100644 index 000000000..2546ea676 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs @@ -0,0 +1,76 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven.Extensions; + +static class MavenNetExtensions +{ + public static bool HasValue ([NotNullWhen (true)] this string? str) => !string.IsNullOrEmpty (str); + + public static string OrEmpty (this string? str) => str ?? string.Empty; + + public static string GetInheritedProperty (this ResolvedDependency dependency, ResolvedProject project, Func property) + { + // Check our section + if (CheckDependencyManagementSection (project, dependency, property, out var result)) + return result; + + // Check imported POMs + foreach (var imported in project.ImportedPomProjects) { + var value = GetInheritedProperty (dependency, imported, property); + + if (value.HasValue ()) + return value; + } + + // Check parent POM + if (project.Parent is not null && !project.Parent.IsSuperPom) + return GetInheritedProperty (dependency, project.Parent, property); + + return string.Empty; + } + + static bool CheckImportedPoms (ResolvedDependency dependency, ResolvedProject project, Func property, [NotNullWhen (true)] out string? result) + { + result = null; + + foreach (var imported in project.ImportedPomProjects) { + var imported_dep = imported.Resolved.DependencyManagement?.Dependencies.FirstOrDefault (x => x.ArtifactId == dependency.ArtifactId && x.GroupId == dependency.GroupId); + + if (imported_dep != null) { + result = property (new ResolvedDependency (imported, imported_dep, true)); + + if (result.HasValue ()) + return true; + } + + // Recurse, as imported POMs can also import POMs + if (CheckImportedPoms (dependency, imported, property, out result)) + return true; + } + + return false; + } + + static bool CheckDependencyManagementSection (ResolvedProject project, ResolvedDependency dependency, Func property, [NotNullWhen (true)] out string? result) + { + result = null; + + // Check + var dep_man = project.Resolved.DependencyManagement?.Dependencies.FirstOrDefault (x => x.ArtifactId == dependency.ArtifactId && x.GroupId == dependency.GroupId); + + if (dep_man != null) { + result = property (new ResolvedDependency (project, dep_man, true)) ?? string.Empty; + return result.HasValue (); + } + + return false; + } + + public static Artifact ToArtifact (this Dependency dependency) + { + return new Artifact (dependency.GroupId.OrEmpty (), dependency.ArtifactId.OrEmpty ().OrEmpty (), dependency.Version.OrEmpty ()); + } +} diff --git a/src/Java.Interop.Tools.Maven/Extensions/PropertyStack.cs b/src/Java.Interop.Tools.Maven/Extensions/PropertyStack.cs new file mode 100644 index 000000000..41ab67a43 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Extensions/PropertyStack.cs @@ -0,0 +1,42 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Xml.Linq; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven.Extensions; + +class PropertyStack +{ + // Why go to this trouble? + // A property can be specified in both a child POM and its parent POM. + // Even if the property is being consumed in the parent POM, the property in + // the child POM takes precedence. + readonly List>> stack = new (); + + public void Push (ModelProperties? properties) + { + // We add a new list to the stack, even if it's empty, so that the Pop works later + var list = new List> (); + + if (properties?.Any is Collection props) + foreach (var prop in props) + list.Add (new KeyValuePair (prop.Name.LocalName, prop.Value)); + + stack.Add (list); + } + + public void Pop () + { + stack.RemoveAt (stack.Count - 1); + } + + public string Apply (string value) + { + foreach (var property_set in stack) { + foreach (var prop in property_set) + value = value.Replace ($"${{{prop.Key}}}", prop.Value); + } + + return value; + } +} diff --git a/src/Java.Interop.Tools.Maven/IPomResolver.cs b/src/Java.Interop.Tools.Maven/IPomResolver.cs new file mode 100644 index 000000000..ff9807279 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/IPomResolver.cs @@ -0,0 +1,8 @@ +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven; + +public interface IPomResolver +{ + Project ResolveRawProject (Artifact artifact); +} diff --git a/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.csproj b/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.csproj new file mode 100644 index 000000000..9c0f50dc2 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.csproj @@ -0,0 +1,27 @@ + + + + netstandard2.0 + 11.0 + enable + INTERNAL_NULLABLE_ATTRIBUTES + enable + true + ..\..\product.snk + + + + + + $(UtilityOutputFullPath) + + + + + + + + + + + diff --git a/src/Java.Interop.Tools.Maven/Models/Artifact.cs b/src/Java.Interop.Tools.Maven/Models/Artifact.cs new file mode 100644 index 000000000..387697819 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Models/Artifact.cs @@ -0,0 +1,45 @@ +using System; +using System.Diagnostics.CodeAnalysis; + +namespace Java.Interop.Tools.Maven.Models; + +public class Artifact +{ + public string GroupId { get; } + + public string Id { get; } + + public string Version { get; } + + public Artifact (string groupId, string artifactId, string version) + { + Id = artifactId; + GroupId = groupId; + Version = version; + } + + public static Artifact Parse (string value) + { + if (TryParse (value, out var artifact)) + return artifact; + + throw new ArgumentException ($"Invalid artifact format: {value}"); + } + + public static bool TryParse (string value, [NotNullWhen (true)]out Artifact? artifact) + { + artifact = null; + + var parts = value.Split (':'); + + if (parts.Length != 3) + return false; + + artifact = new Artifact (parts [0], parts [1], parts [2]); + + return true; + } + + // This is a "well-known" format we use, it should not be changed. + public override string ToString () => $"{GroupId}:{Id}:{Version}"; +} diff --git a/src/Java.Interop.Tools.Maven/Models/Project.Partial.cs b/src/Java.Interop.Tools.Maven/Models/Project.Partial.cs new file mode 100644 index 000000000..b87821408 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Models/Project.Partial.cs @@ -0,0 +1,62 @@ +using System.Diagnostics.CodeAnalysis; +using System.IO; +using System.Xml; +using System.Xml.Serialization; +using Java.Interop.Tools.Maven.Extensions; + +namespace Java.Interop.Tools.Maven.Models; + +public partial class Project +{ + public static Project Parse (Stream stream) + { + Project? result = null; + + var serializer = new XmlSerializer (typeof (Project)); + + using (var sr = new StreamReader (stream)) + result = (Project) serializer.Deserialize (new XmlTextReader (sr) { + Namespaces = false, + }); + + return result; + } + + public static Project ParseXml (string xml) + { + Project? result = null; + + var serializer = new XmlSerializer (typeof (Project)); + + using (var sr = new StringReader (xml)) + result = (Project) serializer.Deserialize (new XmlTextReader (sr) { + Namespaces = false, + }); + + return result; + } + + public bool TryGetParentPomArtifact ([NotNullWhen (true)] out Artifact? parent) + { + parent = null; + + if (Parent is not null) { + parent = new Artifact (Parent.GroupId.OrEmpty (), Parent.ArtifactId.OrEmpty (), Parent.Version.OrEmpty ()); + return true; + } + + return false; + } + + public override string ToString () => $"{GroupId}:{ArtifactId}:{Version}"; + + public string ToXml () + { + var serializer = new XmlSerializer (typeof (Project)); + + using (var sw = new StringWriter ()) { + serializer.Serialize (sw, this); + return sw.ToString (); + } + } +} diff --git a/src/Java.Interop.Tools.Maven/Models/Project.cs b/src/Java.Interop.Tools.Maven/Models/Project.cs new file mode 100644 index 000000000..78ab6a565 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Models/Project.cs @@ -0,0 +1,6589 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +// https://github.com/mganss/XmlSchemaClassGenerator +// This code was generated by XmlSchemaClassGenerator version 2.1.1057.0 using the following command: +// xscgen maven-4.0.0.xsd --nullable --nc --nr +namespace Java.Interop.Tools.Maven.Models +{ + + + /// + /// 3.0.0+ + /// The <code>&lt;project&gt;</code> element is the root of the descriptor. + /// The following table lists all of the possible child elements. + /// 3.0.0+ + /// The <code>&lt;project&gt;</code> element is the root of the descriptor. + /// The following table lists all of the possible child elements. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The <code>&lt;project&gt;</code> element is the root of the descriptor. The following table lists all of the possible child elements. 3.0.0+ The <code>&lt;project&gt;</code> element is the root of the descriptor. The following table lists all of the possible child elements.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Project")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlRootAttribute("project")] + public partial class Project + { + + /// + /// 4.0.0+ + /// Declares to which version of project descriptor this POM conforms. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Declares to which version of project descriptor this POM conforms.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("modelVersion")] + public string ModelVersion { get; set; } + + /// + /// 4.0.0+ + /// 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 location + /// is given as a group ID, artifact ID and version. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ 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 l" + + "ocation is given as a group ID, artifact ID and version.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("parent")] + public Parent Parent { get; set; } + + /// + /// 3.0.0+ + /// A universally unique identifier for a project. It is normal to + /// use a fully-qualified package name to distinguish it from other + /// projects with a similar name (eg. <code>org.apache.maven</code>). + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ A universally unique identifier for a project. It is normal to use a fully" + + "-qualified package name to distinguish it from other projects with a similar nam" + + "e (eg. <code>org.apache.maven</code>).")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("groupId")] + public string GroupId { get; set; } + + /// + /// 3.0.0+ + /// The identifier for this artifact that is unique within the group given by the + /// group ID. An artifact is something that is either produced or used by a project. + /// Examples of artifacts produced by Maven for a project include: JARs, source and binary + /// distributions, and WARs. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The identifier for this artifact that is unique within the group given by the group ID. An artifact is something that is either produced or used by a project. Examples of artifacts produced by Maven for a project include: JARs, source and binary distributions, and WARs.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("artifactId")] + public string ArtifactId { get; set; } + + /// + /// 4.0.0+ + /// The current version of the artifact produced by this project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The current version of the artifact produced by this project.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("version")] + public string Version { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _packaging = "jar"; + + /// + /// 4.0.0+ + /// The type of artifact this project produces, for example <code>jar</code> + /// <code>war</code> + /// <code>ear</code> + /// <code>pom</code>. + /// Plugins can create their own packaging, and + /// therefore their own packaging types, + /// so this list does not contain all possible types. + /// + [System.ComponentModel.DefaultValueAttribute("jar")] + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The type of artifact this project produces, for example <code>jar</code> <code>war</code> <code>ear</code> <code>pom</code>. Plugins can create their own packaging, and therefore their own packaging types, so this list does not contain all possible types.")] + [System.Xml.Serialization.XmlElementAttribute("packaging")] + public string Packaging + { + get + { + return _packaging; + } + set + { + _packaging = value; + } + } + + /// + /// 3.0.0+ + /// The full name of the project. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The full name of the project.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 3.0.0+ + /// A detailed description of the project, used by Maven whenever it needs to + /// describe the project, such as on the web site. While this element can be specified as + /// CDATA to enable the use of HTML tags within the description, it is discouraged to allow + /// plain text representation. If you need to modify the index page of the generated web + /// site, you are able to specify your own instead of adjusting this text. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ A detailed description of the project, used by Maven whenever it needs to describe the project, such as on the web site. While this element can be specified as CDATA to enable the use of HTML tags within the description, it is discouraged to allow plain text representation. If you need to modify the index page of the generated web site, you are able to specify your own instead of adjusting this text.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("description")] + public string Description { get; set; } + + /// + /// 3.0.0+ + /// The URL to the project's homepage. + /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if + /// project's <code>child.project.url.inherit.append.path="false"</code> + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The URL to the project's homepage. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if project's <code>child.project.url.inherit.append.path=""false""</code>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + /// + /// 3.0.0+ + /// The year of the project's inception, specified with 4 digits. This value is + /// used when generating copyright notices as well as being informational. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The year of the project\'s inception, specified with 4 digits. This value i" + + "s used when generating copyright notices as well as being informational.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("inceptionYear")] + public string InceptionYear { get; set; } + + /// + /// 3.0.0+ + /// This element describes various attributes of the organization to which the + /// project belongs. These attributes are utilized when documentation is created (for + /// copyright notices and links). + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes various attributes of the organization to which the" + + " project belongs. These attributes are utilized when documentation is created (f" + + "or copyright notices and links).")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("organization")] + public Organization Organization { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _licenses; + + /// + /// 3.0.0+ + /// This element describes all of the licenses for this project. + /// Each license is described by a <code>license</code> element, which + /// is then described by additional elements. + /// Projects should only list the license(s) that applies to the project + /// and not the licenses that apply to dependencies. + /// If multiple licenses are listed, it is assumed that the user can select + /// any of them, not that they must accept all. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ This element describes all of the licenses for this project. Each license is described by a <code>license</code> element, which is then described by additional elements. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. If multiple licenses are listed, it is assumed that the user can select any of them, not that they must accept all.")] + [System.Xml.Serialization.XmlArrayAttribute("licenses")] + [System.Xml.Serialization.XmlArrayItemAttribute("license")] + public System.Collections.ObjectModel.Collection Licenses + { + get + { + return _licenses; + } + private set + { + _licenses = value; + } + } + + /// + /// Gets a value indicating whether the Licenses collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LicensesSpecified + { + get + { + return (this.Licenses.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Project() + { + this._licenses = new System.Collections.ObjectModel.Collection(); + this._developers = new System.Collections.ObjectModel.Collection(); + this._contributors = new System.Collections.ObjectModel.Collection(); + this._mailingLists = new System.Collections.ObjectModel.Collection(); + this._modules = new System.Collections.ObjectModel.Collection(); + this._dependencies = new System.Collections.ObjectModel.Collection(); + this._repositories = new System.Collections.ObjectModel.Collection(); + this._pluginRepositories = new System.Collections.ObjectModel.Collection(); + this._profiles = new System.Collections.ObjectModel.Collection(); + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _developers; + + /// + /// 3.0.0+ + /// Describes the committers of a project. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Describes the committers of a project.")] + [System.Xml.Serialization.XmlArrayAttribute("developers")] + [System.Xml.Serialization.XmlArrayItemAttribute("developer")] + public System.Collections.ObjectModel.Collection Developers + { + get + { + return _developers; + } + private set + { + _developers = value; + } + } + + /// + /// Gets a value indicating whether the Developers collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DevelopersSpecified + { + get + { + return (this.Developers.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _contributors; + + /// + /// 3.0.0+ + /// Describes the contributors to a project that are not yet committers. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Describes the contributors to a project that are not yet committers.")] + [System.Xml.Serialization.XmlArrayAttribute("contributors")] + [System.Xml.Serialization.XmlArrayItemAttribute("contributor")] + public System.Collections.ObjectModel.Collection Contributors + { + get + { + return _contributors; + } + private set + { + _contributors = value; + } + } + + /// + /// Gets a value indicating whether the Contributors collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ContributorsSpecified + { + get + { + return (this.Contributors.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _mailingLists; + + /// + /// 3.0.0+ + /// Contains information about a project's mailing lists. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Contains information about a project\'s mailing lists.")] + [System.Xml.Serialization.XmlArrayAttribute("mailingLists")] + [System.Xml.Serialization.XmlArrayItemAttribute("mailingList")] + public System.Collections.ObjectModel.Collection MailingLists + { + get + { + return _mailingLists; + } + private set + { + _mailingLists = value; + } + } + + /// + /// Gets a value indicating whether the MailingLists collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MailingListsSpecified + { + get + { + return (this.MailingLists.Count != 0); + } + } + + /// + /// 4.0.0+ + /// Describes the prerequisites in the build environment for this project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Describes the prerequisites in the build environment for this project.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("prerequisites")] + public Prerequisites Prerequisites { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _modules; + + /// + /// 4.0.0+ + /// The modules (sometimes called subprojects) to build as a part of this + /// project. Each module listed is a relative path to the directory containing the module. + /// To be consistent with the way default urls are calculated from parent, it is recommended + /// to have module names match artifact ids. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids.")] + [System.Xml.Serialization.XmlArrayAttribute("modules")] + [System.Xml.Serialization.XmlArrayItemAttribute("module")] + public System.Collections.ObjectModel.Collection Modules + { + get + { + return _modules; + } + private set + { + _modules = value; + } + } + + /// + /// Gets a value indicating whether the Modules collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ModulesSpecified + { + get + { + return (this.Modules.Count != 0); + } + } + + /// + /// 4.0.0+ + /// Specification for the SCM used by the project, such as CVS, Subversion, etc. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Specification for the SCM used by the project, such as CVS, Subversion, et" + + "c.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("scm")] + public Scm Scm { get; set; } + + /// + /// 4.0.0+ + /// The project's issue management system information. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The project\'s issue management system information.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("issueManagement")] + public IssueManagement IssueManagement { get; set; } + + /// + /// 4.0.0+ + /// The project's continuous integration information. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The project\'s continuous integration information.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("ciManagement")] + public CiManagement CiManagement { get; set; } + + /// + /// 4.0.0+ + /// Distribution information for a project that enables deployment of the site + /// and artifacts to remote web servers and repositories respectively. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Distribution information for a project that enables deployment of the site" + + " and artifacts to remote web servers and repositories respectively.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("distributionManagement")] + public DistributionManagement DistributionManagement { get; set; } + + /// + /// 4.0.0+ + /// Properties that can be used throughout the POM as a substitution, and + /// are used as filters in resources if enabled. + /// The format is <code>&lt;name&gt;value&lt;/name&gt;</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Properties that can be used throughout the POM as a substitution, and are " + + "used as filters in resources if enabled. The format is <code>&lt;name&" + + "amp;gt;value&lt;/name&gt;</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("properties")] + public ModelProperties Properties { get; set; } + + /// + /// 4.0.0+ + /// Default dependency information for projects that inherit from this one. The + /// dependencies in this section are not immediately resolved. Instead, when a POM derived + /// from this one declares a dependency described by a matching groupId and artifactId, the + /// version and other values from this section are used for that dependency if they were not + /// already specified. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("dependencyManagement")] + public DependencyManagement DependencyManagement { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _dependencies; + + /// + /// 3.0.0+ + /// This element describes all of the dependencies associated with a + /// project. + /// These dependencies are used to construct a classpath for your + /// project during the build process. They are automatically downloaded from the + /// repositories defined in this project. + /// See <a href="https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the + /// dependency mechanism</a> for more information. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See <a href=""https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"">the dependency mechanism</a> for more information.")] + [System.Xml.Serialization.XmlArrayAttribute("dependencies")] + [System.Xml.Serialization.XmlArrayItemAttribute("dependency")] + public System.Collections.ObjectModel.Collection Dependencies + { + get + { + return _dependencies; + } + private set + { + _dependencies = value; + } + } + + /// + /// Gets a value indicating whether the Dependencies collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DependenciesSpecified + { + get + { + return (this.Dependencies.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _repositories; + + /// + /// 4.0.0+ + /// The lists of the remote repositories for discovering dependencies and + /// extensions. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The lists of the remote repositories for discovering dependencies and exte" + + "nsions.")] + [System.Xml.Serialization.XmlArrayAttribute("repositories")] + [System.Xml.Serialization.XmlArrayItemAttribute("repository")] + public System.Collections.ObjectModel.Collection Repositories + { + get + { + return _repositories; + } + private set + { + _repositories = value; + } + } + + /// + /// Gets a value indicating whether the Repositories collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RepositoriesSpecified + { + get + { + return (this.Repositories.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _pluginRepositories; + + /// + /// 4.0.0+ + /// The lists of the remote repositories for discovering plugins for builds and + /// reports. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The lists of the remote repositories for discovering plugins for builds an" + + "d reports.")] + [System.Xml.Serialization.XmlArrayAttribute("pluginRepositories")] + [System.Xml.Serialization.XmlArrayItemAttribute("pluginRepository")] + public System.Collections.ObjectModel.Collection PluginRepositories + { + get + { + return _pluginRepositories; + } + private set + { + _pluginRepositories = value; + } + } + + /// + /// Gets a value indicating whether the PluginRepositories collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginRepositoriesSpecified + { + get + { + return (this.PluginRepositories.Count != 0); + } + } + + /// + /// 3.0.0+ + /// Information required to build the project. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Information required to build the project.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("build")] + public Build Build { get; set; } + + /// + /// 4.0.0+ + /// <b>Deprecated</b>. Now ignored by Maven. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ <b>Deprecated</b>. Now ignored by Maven.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("reports")] + public ModelReports Reports { get; set; } + + /// + /// 4.0.0+ + /// This element includes the specification of report plugins to use + /// to generate the reports on the Maven-generated site. + /// These reports will be run when a user executes <code>mvn site</code>. + /// All of the reports will be included in the navigation bar for browsing. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes <code>mvn site</code>. All of the reports will be included in the navigation bar for browsing.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("reporting")] + public Reporting Reporting { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _profiles; + + /// + /// 4.0.0+ + /// A listing of project-local build profiles which will modify the build process + /// when activated. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ A listing of project-local build profiles which will modify the build proc" + + "ess when activated.")] + [System.Xml.Serialization.XmlArrayAttribute("profiles")] + [System.Xml.Serialization.XmlArrayItemAttribute("profile")] + public System.Collections.ObjectModel.Collection Profiles + { + get + { + return _profiles; + } + private set + { + _profiles = value; + } + } + + /// + /// Gets a value indicating whether the Profiles collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ProfilesSpecified + { + get + { + return (this.Profiles.Count != 0); + } + } + + /// + /// 4.0.0+ + /// When children inherit from project's url, append path or not? Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code> + /// <br><b>Default value is</b>: <code>true</code> + /// <br><b>Since</b>: Maven 3.6.1 + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from project's url, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlAttributeAttribute("child.project.url.inherit.append.path")] + public string ChildProjectUrlInheritAppendPath { get; set; } + } + + /// + /// 4.0.0+ + /// The <code>&lt;parent&gt;</code> element contains information required to locate the parent project from which + /// this project will inherit from. + /// <strong>Note:</strong> The children of this element are not interpolated and must be given as literal values. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The <code>&lt;parent&gt;</code> element contains information required to locate the parent project from which this project will inherit from. <strong>Note:</strong> The children of this element are not interpolated and must be given as literal values.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Parent")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Parent + { + + /// + /// 4.0.0+ + /// The group id of the parent project to inherit from. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The group id of the parent project to inherit from.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("groupId")] + public string GroupId { get; set; } + + /// + /// 4.0.0+ + /// The artifact id of the parent project to inherit from. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact id of the parent project to inherit from.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("artifactId")] + public string ArtifactId { get; set; } + + /// + /// 4.0.0+ + /// The version of the parent project to inherit. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The version of the parent project to inherit.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("version")] + public string Version { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _relativePath = "../pom.xml"; + + /// + /// 4.0.0+ + /// The relative path of the parent <code>pom.xml</code> file within the check out. + /// If not specified, it defaults to <code>../pom.xml</code>. + /// Maven looks for the parent POM first in this location on + /// the filesystem, then the local repository, and lastly in the remote repo. + /// <code>relativePath</code> allows you to select a different location, + /// for example when your structure is flat, or deeper without an intermediate parent POM. + /// However, the group ID, artifact ID and version are still required, + /// and must match the file in the location given or it will revert to the repository for the POM. + /// This feature is only for enhancing the development in a local checkout of that project. + /// Set the value to an empty string in case you want to disable the feature and always resolve + /// the parent POM from the repositories. + /// + [System.ComponentModel.DefaultValueAttribute("../pom.xml")] + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The relative path of the parent <code>pom.xml</code> file within the check out. If not specified, it defaults to <code>../pom.xml</code>. Maven looks for the parent POM first in this location on the filesystem, then the local repository, and lastly in the remote repo. <code>relativePath</code> allows you to select a different location, for example when your structure is flat, or deeper without an intermediate parent POM. However, the group ID, artifact ID and version are still required, and must match the file in the location given or it will revert to the repository for the POM. This feature is only for enhancing the development in a local checkout of that project. Set the value to an empty string in case you want to disable the feature and always resolve the parent POM from the repositories.")] + [System.Xml.Serialization.XmlElementAttribute("relativePath")] + public string RelativePath + { + get + { + return _relativePath; + } + set + { + _relativePath = value; + } + } + } + + /// + /// 3.0.0+ + /// Specifies the organization that produces this project. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Specifies the organization that produces this project.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Organization")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Organization + { + + /// + /// 3.0.0+ + /// The full name of the organization. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The full name of the organization.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 3.0.0+ + /// The URL to the organization's home page. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL to the organization\'s home page.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelLicenses", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelLicenses + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _license; + + [System.Xml.Serialization.XmlElementAttribute("license")] + public System.Collections.ObjectModel.Collection License + { + get + { + return _license; + } + private set + { + _license = value; + } + } + + /// + /// Gets a value indicating whether the License collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool LicenseSpecified + { + get + { + return (this.License.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelLicenses() + { + this._license = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 3.0.0+ + /// Describes the licenses for this project. This is used to generate the license + /// page of the project's web site, as well as being taken into consideration in other reporting + /// and validation. The licenses listed for the project are that of the project itself, and not + /// of dependencies. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ Describes the licenses for this project. This is used to generate the license page of the project's web site, as well as being taken into consideration in other reporting and validation. The licenses listed for the project are that of the project itself, and not of dependencies.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("License")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class License + { + + /// + /// 3.0.0+ + /// The full legal name of the license. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The full legal name of the license.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 3.0.0+ + /// The official url for the license text. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The official url for the license text.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + /// + /// 3.0.0+ + /// 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> + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ 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>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("distribution")] + public string Distribution { get; set; } + + /// + /// 3.0.0+ + /// Addendum information pertaining to this license. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Addendum information pertaining to this license.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("comments")] + public string Comments { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelDevelopers", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelDevelopers + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _developer; + + [System.Xml.Serialization.XmlElementAttribute("developer")] + public System.Collections.ObjectModel.Collection Developer + { + get + { + return _developer; + } + private set + { + _developer = value; + } + } + + /// + /// Gets a value indicating whether the Developer collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DeveloperSpecified + { + get + { + return (this.Developer.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelDevelopers() + { + this._developer = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 3.0.0+ + /// Information about one of the committers on this project. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Information about one of the committers on this project.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Developer")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Developer + { + + /// + /// 3.0.0+ + /// The unique ID of the developer in the SCM. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The unique ID of the developer in the SCM.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("id")] + public string Id { get; set; } + + /// + /// 3.0.0+ + /// The full name of the contributor. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The full name of the contributor.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 3.0.0+ + /// The email address of the contributor. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The email address of the contributor.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("email")] + public string Email { get; set; } + + /// + /// 3.0.0+ + /// The URL for the homepage of the contributor. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL for the homepage of the contributor.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + /// + /// 3.0.0+ + /// The organization to which the contributor belongs. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The organization to which the contributor belongs.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("organization")] + public string Organization { get; set; } + + /// + /// 3.0.0+ + /// The URL of the organization. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL of the organization.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("organizationUrl")] + public string OrganizationUrl { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _roles; + + /// + /// 3.0.0+ + /// The roles the contributor plays in the project. Each role is described by a + /// <code>role</code> element, the body of which is a role name. This can also be used to + /// describe the contribution. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The roles the contributor plays in the project. Each role is described by " + + "a <code>role</code> element, the body of which is a role name. This " + + "can also be used to describe the contribution.")] + [System.Xml.Serialization.XmlArrayAttribute("roles")] + [System.Xml.Serialization.XmlArrayItemAttribute("role")] + public System.Collections.ObjectModel.Collection Roles + { + get + { + return _roles; + } + private set + { + _roles = value; + } + } + + /// + /// Gets a value indicating whether the Roles collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RolesSpecified + { + get + { + return (this.Roles.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Developer() + { + this._roles = new System.Collections.ObjectModel.Collection(); + } + + /// + /// 3.0.0+ + /// The timezone the contributor is in. Typically, this is a number in the range + /// <a href="http://en.wikipedia.org/wiki/UTC%E2%88%9212:00">-12</a> to <a href="http://en.wikipedia.org/wiki/UTC%2B14:00">+14</a> + /// or a valid time zone id like "America/Montreal" (UTC-05:00) or "Europe/Paris" (UTC+01:00). + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The timezone the contributor is in. Typically, this is a number in the range <a href=""http://en.wikipedia.org/wiki/UTC%E2%88%9212:00"">-12</a> to <a href=""http://en.wikipedia.org/wiki/UTC%2B14:00"">+14</a> or a valid time zone id like ""America/Montreal"" (UTC-05:00) or ""Europe/Paris"" (UTC+01:00).")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("timezone")] + public string Timezone { get; set; } + + /// + /// 3.0.0+ + /// Properties about the contributor, such as an instant messenger handle. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Properties about the contributor, such as an instant messenger handle.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("properties")] + public DeveloperProperties Properties { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("DeveloperRoles", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeveloperRoles + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _role; + + [System.Xml.Serialization.XmlElementAttribute("role")] + public System.Collections.ObjectModel.Collection Role + { + get + { + return _role; + } + private set + { + _role = value; + } + } + + /// + /// Gets a value indicating whether the Role collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RoleSpecified + { + get + { + return (this.Role.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public DeveloperRoles() + { + this._role = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("DeveloperProperties", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeveloperProperties + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public DeveloperProperties() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelContributors", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelContributors + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _contributor; + + [System.Xml.Serialization.XmlElementAttribute("contributor")] + public System.Collections.ObjectModel.Collection Contributor + { + get + { + return _contributor; + } + private set + { + _contributor = value; + } + } + + /// + /// Gets a value indicating whether the Contributor collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ContributorSpecified + { + get + { + return (this.Contributor.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelContributors() + { + this._contributor = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 3.0.0+ + /// Description of a person who has contributed to the project, but who does not have + /// commit privileges. Usually, these contributions come in the form of patches submitted. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Description of a person who has contributed to the project, but who does n" + + "ot have commit privileges. Usually, these contributions come in the form of patc" + + "hes submitted.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Contributor")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Contributor + { + + /// + /// 3.0.0+ + /// The full name of the contributor. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The full name of the contributor.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 3.0.0+ + /// The email address of the contributor. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The email address of the contributor.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("email")] + public string Email { get; set; } + + /// + /// 3.0.0+ + /// The URL for the homepage of the contributor. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL for the homepage of the contributor.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + /// + /// 3.0.0+ + /// The organization to which the contributor belongs. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The organization to which the contributor belongs.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("organization")] + public string Organization { get; set; } + + /// + /// 3.0.0+ + /// The URL of the organization. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL of the organization.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("organizationUrl")] + public string OrganizationUrl { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _roles; + + /// + /// 3.0.0+ + /// The roles the contributor plays in the project. Each role is described by a + /// <code>role</code> element, the body of which is a role name. This can also be used to + /// describe the contribution. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The roles the contributor plays in the project. Each role is described by " + + "a <code>role</code> element, the body of which is a role name. This " + + "can also be used to describe the contribution.")] + [System.Xml.Serialization.XmlArrayAttribute("roles")] + [System.Xml.Serialization.XmlArrayItemAttribute("role")] + public System.Collections.ObjectModel.Collection Roles + { + get + { + return _roles; + } + private set + { + _roles = value; + } + } + + /// + /// Gets a value indicating whether the Roles collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RolesSpecified + { + get + { + return (this.Roles.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Contributor() + { + this._roles = new System.Collections.ObjectModel.Collection(); + } + + /// + /// 3.0.0+ + /// The timezone the contributor is in. Typically, this is a number in the range + /// <a href="http://en.wikipedia.org/wiki/UTC%E2%88%9212:00">-12</a> to <a href="http://en.wikipedia.org/wiki/UTC%2B14:00">+14</a> + /// or a valid time zone id like "America/Montreal" (UTC-05:00) or "Europe/Paris" (UTC+01:00). + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The timezone the contributor is in. Typically, this is a number in the range <a href=""http://en.wikipedia.org/wiki/UTC%E2%88%9212:00"">-12</a> to <a href=""http://en.wikipedia.org/wiki/UTC%2B14:00"">+14</a> or a valid time zone id like ""America/Montreal"" (UTC-05:00) or ""Europe/Paris"" (UTC+01:00).")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("timezone")] + public string Timezone { get; set; } + + /// + /// 3.0.0+ + /// Properties about the contributor, such as an instant messenger handle. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Properties about the contributor, such as an instant messenger handle.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("properties")] + public ContributorProperties Properties { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ContributorRoles", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ContributorRoles + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _role; + + [System.Xml.Serialization.XmlElementAttribute("role")] + public System.Collections.ObjectModel.Collection Role + { + get + { + return _role; + } + private set + { + _role = value; + } + } + + /// + /// Gets a value indicating whether the Role collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RoleSpecified + { + get + { + return (this.Role.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ContributorRoles() + { + this._role = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ContributorProperties", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ContributorProperties + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ContributorProperties() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelMailingLists", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelMailingLists + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _mailingList; + + [System.Xml.Serialization.XmlElementAttribute("mailingList")] + public System.Collections.ObjectModel.Collection MailingList + { + get + { + return _mailingList; + } + private set + { + _mailingList = value; + } + } + + /// + /// Gets a value indicating whether the MailingList collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool MailingListSpecified + { + get + { + return (this.MailingList.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelMailingLists() + { + this._mailingList = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 3.0.0+ + /// This element describes all of the mailing lists associated with a project. The + /// auto-generated site references this information. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes all of the mailing lists associated with a project." + + " The auto-generated site references this information.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("MailingList")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class MailingList + { + + /// + /// 3.0.0+ + /// The name of the mailing list. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The name of the mailing list.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 3.0.0+ + /// 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. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The email address or link that can be used to subscribe to the mailing lis" + + "t. If this is an email address, a <code>mailto:</code> link will aut" + + "omatically be created when the documentation is created.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("subscribe")] + public string Subscribe { get; set; } + + /// + /// 3.0.0+ + /// 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. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The email address or link that can be used to unsubscribe to the mailing l" + + "ist. If this is an email address, a <code>mailto:</code> link will a" + + "utomatically be created when the documentation is created.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("unsubscribe")] + public string Unsubscribe { get; set; } + + /// + /// 3.0.0+ + /// 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. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ 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 automati" + + "cally be created when the documentation is created.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("post")] + public string Post { get; set; } + + /// + /// 3.0.0+ + /// The link to a URL where you can browse the mailing list archive. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The link to a URL where you can browse the mailing list archive.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("archive")] + public string Archive { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _otherArchives; + + /// + /// 3.0.0+ + /// The link to alternate URLs where you can browse the list archive. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The link to alternate URLs where you can browse the list archive.")] + [System.Xml.Serialization.XmlArrayAttribute("otherArchives")] + [System.Xml.Serialization.XmlArrayItemAttribute("otherArchive")] + public System.Collections.ObjectModel.Collection OtherArchives + { + get + { + return _otherArchives; + } + private set + { + _otherArchives = value; + } + } + + /// + /// Gets a value indicating whether the OtherArchives collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OtherArchivesSpecified + { + get + { + return (this.OtherArchives.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public MailingList() + { + this._otherArchives = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("MailingListOtherArchives", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class MailingListOtherArchives + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _otherArchive; + + [System.Xml.Serialization.XmlElementAttribute("otherArchive")] + public System.Collections.ObjectModel.Collection OtherArchive + { + get + { + return _otherArchive; + } + private set + { + _otherArchive = value; + } + } + + /// + /// Gets a value indicating whether the OtherArchive collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool OtherArchiveSpecified + { + get + { + return (this.OtherArchive.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public MailingListOtherArchives() + { + this._otherArchive = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// Describes the prerequisites a project can have. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Describes the prerequisites a project can have.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Prerequisites")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Prerequisites + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _maven = "2.0"; + + /// + /// 4.0.0+ + /// For a plugin project (packaging is <code>maven-plugin</code>), the minimum version of + /// Maven required to use the resulting plugin.<br> + /// + [System.ComponentModel.DefaultValueAttribute("2.0")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ For a plugin project (packaging is <code>maven-plugin</code>)," + + " the minimum version of Maven required to use the resulting plugin.<br>")] + [System.Xml.Serialization.XmlElementAttribute("maven")] + public string Maven + { + get + { + return _maven; + } + set + { + _maven = value; + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelModules", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelModules + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _module; + + [System.Xml.Serialization.XmlElementAttribute("module")] + public System.Collections.ObjectModel.Collection Module + { + get + { + return _module; + } + private set + { + _module = value; + } + } + + /// + /// Gets a value indicating whether the Module collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ModuleSpecified + { + get + { + return (this.Module.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelModules() + { + this._module = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// The <code>&lt;scm&gt;</code> element contains informations required to the SCM + /// (Source Control Management) of the project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;scm&gt;</code> element contains informat" + + "ions required to the SCM (Source Control Management) of the project.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Scm")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Scm + { + + /// + /// 4.0.0+ + /// The source control management system URL + /// that describes the repository and how to connect to the + /// repository. For more information, see the + /// <a href="https://maven.apache.org/scm/scm-url-format.html">URL format</a> + /// and <a href="https://maven.apache.org/scm/scms-overview.html">list of supported SCMs</a>. + /// This connection is read-only. + /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if + /// scm's <code>child.scm.connection.inherit.append.path="false"</code> + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The source control management system URL that describes the repository and how to connect to the repository. For more information, see the <a href=""https://maven.apache.org/scm/scm-url-format.html"">URL format</a> and <a href=""https://maven.apache.org/scm/scms-overview.html"">list of supported SCMs</a>. This connection is read-only. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's <code>child.scm.connection.inherit.append.path=""false""</code>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("connection")] + public string Connection { get; set; } + + /// + /// 4.0.0+ + /// Just like <code>connection</code>, but for developers, i.e. this scm connection + /// will not be read only. + /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if + /// scm's <code>child.scm.developerConnection.inherit.append.path="false"</code> + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Just like <code>connection</code>, but for developers, i.e. this scm connection will not be read only. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's <code>child.scm.developerConnection.inherit.append.path=""false""</code>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("developerConnection")] + public string DeveloperConnection { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _tag = "HEAD"; + + /// + /// 4.0.0+ + /// The tag of current code. By default, it's set to HEAD during development. + /// + [System.ComponentModel.DefaultValueAttribute("HEAD")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ The tag of current code. By default, it\'s set to HEAD during development.")] + [System.Xml.Serialization.XmlElementAttribute("tag")] + public string Tag + { + get + { + return _tag; + } + set + { + _tag = value; + } + } + + /// + /// 4.0.0+ + /// The URL to the project's browsable SCM repository, such as ViewVC or Fisheye. + /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if + /// scm's <code>child.scm.url.inherit.append.path="false"</code> + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The URL to the project's browsable SCM repository, such as ViewVC or Fisheye. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's <code>child.scm.url.inherit.append.path=""false""</code>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + /// + /// 4.0.0+ + /// When children inherit from scm connection, append path or not? Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code> + /// <br><b>Default value is</b>: <code>true</code> + /// <br><b>Since</b>: Maven 3.6.1 + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from scm connection, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlAttributeAttribute("child.scm.connection.inherit.append.path")] + public string ChildScmConnectionInheritAppendPath { get; set; } + + /// + /// 4.0.0+ + /// When children inherit from scm developer connection, append path or not? Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code> + /// <br><b>Default value is</b>: <code>true</code> + /// <br><b>Since</b>: Maven 3.6.1 + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from scm developer connection, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlAttributeAttribute("child.scm.developerConnection.inherit.append.path")] + public string ChildScmDeveloperConnectionInheritAppendPath { get; set; } + + /// + /// 4.0.0+ + /// When children inherit from scm url, append path or not? Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code> + /// <br><b>Default value is</b>: <code>true</code> + /// <br><b>Since</b>: Maven 3.6.1 + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from scm url, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlAttributeAttribute("child.scm.url.inherit.append.path")] + public string ChildScmUrlInheritAppendPath { get; set; } + } + + /// + /// 4.0.0+ + /// Information about the issue tracking (or bug tracking) system used to manage this + /// project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Information about the issue tracking (or bug tracking) system used to mana" + + "ge this project.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("IssueManagement")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class IssueManagement + { + + /// + /// 4.0.0+ + /// The name of the issue management system, e.g. Bugzilla + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the issue management system, e.g. Bugzilla")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("system")] + public string System { get; set; } + + /// + /// 4.0.0+ + /// URL for the issue management system used by the project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ URL for the issue management system used by the project.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + } + + /// + /// 4.0.0+ + /// The <code>&lt;CiManagement&gt;</code> element contains informations required to the + /// continuous integration system of the project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;CiManagement&gt;</code> element contains" + + " informations required to the continuous integration system of the project.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("CiManagement")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CiManagement + { + + /// + /// 4.0.0+ + /// The name of the continuous integration system, e.g. <code>continuum</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the continuous integration system, e.g. <code>continuum&" + + "lt;/code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("system")] + public string System { get; set; } + + /// + /// 4.0.0+ + /// URL for the continuous integration system used by the project if it has a web + /// interface. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ URL for the continuous integration system used by the project if it has a " + + "web interface.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _notifiers; + + /// + /// 4.0.0+ + /// Configuration for notifying developers/users when a build is unsuccessful, + /// including user information and notification mode. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Configuration for notifying developers/users when a build is unsuccessful," + + " including user information and notification mode.")] + [System.Xml.Serialization.XmlArrayAttribute("notifiers")] + [System.Xml.Serialization.XmlArrayItemAttribute("notifier")] + public System.Collections.ObjectModel.Collection Notifiers + { + get + { + return _notifiers; + } + private set + { + _notifiers = value; + } + } + + /// + /// Gets a value indicating whether the Notifiers collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool NotifiersSpecified + { + get + { + return (this.Notifiers.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public CiManagement() + { + this._notifiers = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("CiManagementNotifiers", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class CiManagementNotifiers + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _notifier; + + [System.Xml.Serialization.XmlElementAttribute("notifier")] + public System.Collections.ObjectModel.Collection Notifier + { + get + { + return _notifier; + } + private set + { + _notifier = value; + } + } + + /// + /// Gets a value indicating whether the Notifier collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool NotifierSpecified + { + get + { + return (this.Notifier.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public CiManagementNotifiers() + { + this._notifier = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// Configures one method for notifying users/developers when a build breaks. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Configures one method for notifying users/developers when a build breaks.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Notifier")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Notifier + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _type = "mail"; + + /// + /// 4.0.0+ + /// The mechanism used to deliver notifications. + /// + [System.ComponentModel.DefaultValueAttribute("mail")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ The mechanism used to deliver notifications.")] + [System.Xml.Serialization.XmlElementAttribute("type")] + public string Type + { + get + { + return _type; + } + set + { + _type = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private bool _sendOnError = true; + + /// + /// 4.0.0+ + /// Whether to send notifications on error. + /// + [System.ComponentModel.DefaultValueAttribute(true)] + [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to send notifications on error.")] + [System.Xml.Serialization.XmlElementAttribute("sendOnError")] + public bool SendOnError + { + get + { + return _sendOnError; + } + set + { + _sendOnError = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private bool _sendOnFailure = true; + + /// + /// 4.0.0+ + /// Whether to send notifications on failure. + /// + [System.ComponentModel.DefaultValueAttribute(true)] + [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to send notifications on failure.")] + [System.Xml.Serialization.XmlElementAttribute("sendOnFailure")] + public bool SendOnFailure + { + get + { + return _sendOnFailure; + } + set + { + _sendOnFailure = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private bool _sendOnSuccess = true; + + /// + /// 4.0.0+ + /// Whether to send notifications on success. + /// + [System.ComponentModel.DefaultValueAttribute(true)] + [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to send notifications on success.")] + [System.Xml.Serialization.XmlElementAttribute("sendOnSuccess")] + public bool SendOnSuccess + { + get + { + return _sendOnSuccess; + } + set + { + _sendOnSuccess = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private bool _sendOnWarning = true; + + /// + /// 4.0.0+ + /// Whether to send notifications on warning. + /// + [System.ComponentModel.DefaultValueAttribute(true)] + [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to send notifications on warning.")] + [System.Xml.Serialization.XmlElementAttribute("sendOnWarning")] + public bool SendOnWarning + { + get + { + return _sendOnWarning; + } + set + { + _sendOnWarning = value; + } + } + + /// + /// 4.0.0+ + /// <b>Deprecated</b>. Where to send the notification to - eg email address. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ <b>Deprecated</b>. Where to send the notification to - eg emai" + + "l address.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("address")] + public string Address { get; set; } + + /// + /// 0.0.0+ + /// Extended configuration specific to this notifier goes here. + /// + [System.ComponentModel.DescriptionAttribute("0.0.0+ Extended configuration specific to this notifier goes here.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("configuration")] + public NotifierConfiguration Configuration { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("NotifierConfiguration", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class NotifierConfiguration + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public NotifierConfiguration() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// This elements describes all that pertains to distribution for a project. It is + /// primarily used for deployment of artifacts and the site produced by the build. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ This elements describes all that pertains to distribution for a project. I" + + "t is primarily used for deployment of artifacts and the site produced by the bui" + + "ld.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("DistributionManagement")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DistributionManagement + { + + /// + /// 4.0.0+ + /// Information needed to deploy the artifacts generated by the project to a + /// remote repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Information needed to deploy the artifacts generated by the project to a r" + + "emote repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("repository")] + public DeploymentRepository Repository { get; set; } + + /// + /// 4.0.0+ + /// Where to deploy snapshots of artifacts to. If not given, it defaults to the + /// <code>repository</code> element. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Where to deploy snapshots of artifacts to. If not given, it defaults to th" + + "e <code>repository</code> element.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("snapshotRepository")] + public DeploymentRepository SnapshotRepository { get; set; } + + /// + /// 4.0.0+ + /// Information needed for deploying the web site of the project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Information needed for deploying the web site of the project.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("site")] + public Site Site { get; set; } + + /// + /// 4.0.0+ + /// The URL of the project's download page. If not given users will be + /// referred to the homepage given by <code>url</code>. + /// This is given to assist in locating artifacts that are not in the repository due to + /// licensing restrictions. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The URL of the project\'s download page. If not given users will be referre" + + "d to the homepage given by <code>url</code>. This is given to assist" + + " in locating artifacts that are not in the repository due to licensing restricti" + + "ons.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("downloadUrl")] + public string DownloadUrl { get; set; } + + /// + /// 4.0.0+ + /// Relocation information of the artifact if it has been moved to a new group ID + /// and/or artifact ID. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Relocation information of the artifact if it has been moved to a new group" + + " ID and/or artifact ID.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("relocation")] + public Relocation Relocation { get; set; } + + /// + /// 4.0.0+ + /// Gives the status of this artifact in the remote repository. + /// This must not be set in your local project, as it is updated by + /// tools placing it in the reposiory. Valid values are: <code>none</code> (default), + /// <code>converted</code> (repository manager converted this from an Maven 1 POM), + /// <code>partner</code> + /// (directly synced from a partner Maven 2 repository), <code>deployed</code> (was deployed from a Maven 2 + /// instance), <code>verified</code> (has been hand verified as correct and final). + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Gives the status of this artifact in the remote repository. This must not be set in your local project, as it is updated by tools placing it in the reposiory. Valid values are: <code>none</code> (default), <code>converted</code> (repository manager converted this from an Maven 1 POM), <code>partner</code> (directly synced from a partner Maven 2 repository), <code>deployed</code> (was deployed from a Maven 2 instance), <code>verified</code> (has been hand verified as correct and final).")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("status")] + public string Status { get; set; } + } + + /// + /// 4.0.0+ + /// Repository contains the information needed for deploying to the remote + /// repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Repository contains the information needed for deploying to the remote rep" + + "ository.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("DeploymentRepository")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DeploymentRepository + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private bool _uniqueVersion = true; + + /// + /// 4.0.0+ + /// Whether to assign snapshots a unique version comprised of the timestamp and + /// build number, or to use the same version each time + /// + [System.ComponentModel.DefaultValueAttribute(true)] + [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to assign snapshots a unique version comprised of the timestamp an" + + "d build number, or to use the same version each time")] + [System.Xml.Serialization.XmlElementAttribute("uniqueVersion")] + public bool UniqueVersion + { + get + { + return _uniqueVersion; + } + set + { + _uniqueVersion = value; + } + } + + /// + /// 4.0.0+ + /// How to handle downloading of releases from this repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ How to handle downloading of releases from this repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("releases")] + public RepositoryPolicy Releases { get; set; } + + /// + /// 4.0.0+ + /// How to handle downloading of snapshots from this repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ How to handle downloading of snapshots from this repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("snapshots")] + public RepositoryPolicy Snapshots { get; set; } + + /// + /// 4.0.0+ + /// A unique identifier for a repository. This is used to match the repository + /// to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is + /// used during POM inheritance and profile injection to detect repositories that should be merged. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ A unique identifier for a repository. This is used to match the repository to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("id")] + public string Id { get; set; } + + /// + /// 4.0.0+ + /// Human readable name of the repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Human readable name of the repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 4.0.0+ + /// The url of the repository, in the form <code>protocol://hostname/path</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The url of the repository, in the form <code>protocol://hostname/pat" + + "h</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _layout = "default"; + + /// + /// 4.0.0+ + /// The type of layout this repository uses for locating and storing artifacts - + /// can be <code>legacy</code> or <code>default</code>. + /// + [System.ComponentModel.DefaultValueAttribute("default")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ The type of layout this repository uses for locating and storing artifacts" + + " - can be <code>legacy</code> or <code>default</code>.")] + [System.Xml.Serialization.XmlElementAttribute("layout")] + public string Layout + { + get + { + return _layout; + } + set + { + _layout = value; + } + } + } + + /// + /// 4.0.0+ + /// Download policy. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Download policy.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("RepositoryPolicy")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class RepositoryPolicy + { + + /// + /// 4.0.0+ + /// Whether to use this repository for downloading this type of artifact. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>true</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether to use this repository for downloading this type of artifact. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("enabled")] + public string Enabled { get; set; } + + /// + /// 4.0.0+ + /// The frequency for downloading updates - can be + /// <code>always,</code> + /// <code>daily</code> + /// (default), + /// <code>interval:XXX</code> + /// (in minutes) or + /// <code>never</code> + /// (only if it doesn't exist locally). + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The frequency for downloading updates - can be <code>always,</cod" + + "e> <code>daily</code> (default), <code>interval:XXX</cod" + + "e> (in minutes) or <code>never</code> (only if it doesn\'t exist l" + + "ocally).")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("updatePolicy")] + public string UpdatePolicy { get; set; } + + /// + /// 4.0.0+ + /// What to do when verification of an artifact checksum fails. Valid values are + /// <code>ignore</code> + /// , + /// <code>fail</code> + /// or + /// <code>warn</code> + /// (the default). + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ What to do when verification of an artifact checksum fails. Valid values a" + + "re <code>ignore</code> , <code>fail</code> or <code&g" + + "t;warn</code> (the default).")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("checksumPolicy")] + public string ChecksumPolicy { get; set; } + } + + /// + /// 4.0.0+ + /// Contains the information needed for deploying websites. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Contains the information needed for deploying websites.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Site")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Site + { + + /// + /// 4.0.0+ + /// A unique identifier for a deployment location. This is used to match the + /// site to configuration in the <code>settings.xml</code> file, for example. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ A unique identifier for a deployment location. This is used to match the s" + + "ite to configuration in the <code>settings.xml</code> file, for exam" + + "ple.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("id")] + public string Id { get; set; } + + /// + /// 4.0.0+ + /// Human readable name of the deployment location. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Human readable name of the deployment location.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 4.0.0+ + /// The url of the location where website is deployed, in the form <code>protocol://hostname/path</code>. + /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if + /// site's <code>child.site.url.inherit.append.path="false"</code> + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The url of the location where website is deployed, in the form <code>protocol://hostname/path</code>. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if site's <code>child.site.url.inherit.append.path=""false""</code>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + /// + /// 4.0.0+ + /// When children inherit from distribution management site url, append path or not? Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code> + /// <br><b>Default value is</b>: <code>true</code> + /// <br><b>Since</b>: Maven 3.6.1 + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from distribution management site url, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlAttributeAttribute("child.site.url.inherit.append.path")] + public string ChildSiteUrlInheritAppendPath { get; set; } + } + + /// + /// 4.0.0+ + /// Describes where an artifact has moved to. If any of the values are omitted, it is + /// assumed to be the same as it was before. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Describes where an artifact has moved to. If any of the values are omitted" + + ", it is assumed to be the same as it was before.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Relocation")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Relocation + { + + /// + /// 4.0.0+ + /// The group ID the artifact has moved to. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID the artifact has moved to.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("groupId")] + public string GroupId { get; set; } + + /// + /// 4.0.0+ + /// The new artifact ID of the artifact. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The new artifact ID of the artifact.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("artifactId")] + public string ArtifactId { get; set; } + + /// + /// 4.0.0+ + /// The new version of the artifact. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The new version of the artifact.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("version")] + public string Version { get; set; } + + /// + /// 4.0.0+ + /// An additional message to show the user about the move, such as the reason. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ An additional message to show the user about the move, such as the reason." + + "")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("message")] + public string Message { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelProperties", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelProperties + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelProperties() + { + this._any = new System.Collections.ObjectModel.Collection (); + } + } + + /// + /// 4.0.0+ + /// Section for management of default dependency information for use in a group of + /// POMs. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Section for management of default dependency information for use in a grou" + + "p of POMs.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("DependencyManagement")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DependencyManagement + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _dependencies; + + /// + /// 4.0.0+ + /// The dependencies specified here are not used until they are referenced in a + /// POM within the group. This allows the specification of a "standard" version for a + /// particular dependency. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The dependencies specified here are not used until they are referenced in " + + "a POM within the group. This allows the specification of a \"standard\" version fo" + + "r a particular dependency.")] + [System.Xml.Serialization.XmlArrayAttribute("dependencies")] + [System.Xml.Serialization.XmlArrayItemAttribute("dependency")] + public System.Collections.ObjectModel.Collection Dependencies + { + get + { + return _dependencies; + } + private set + { + _dependencies = value; + } + } + + /// + /// Gets a value indicating whether the Dependencies collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DependenciesSpecified + { + get + { + return (this.Dependencies.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public DependencyManagement() + { + this._dependencies = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("DependencyManagementDependencies", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DependencyManagementDependencies + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _dependency; + + [System.Xml.Serialization.XmlElementAttribute("dependency")] + public System.Collections.ObjectModel.Collection Dependency + { + get + { + return _dependency; + } + private set + { + _dependency = value; + } + } + + /// + /// Gets a value indicating whether the Dependency collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DependencySpecified + { + get + { + return (this.Dependency.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public DependencyManagementDependencies() + { + this._dependency = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 3.0.0+ + /// The <code>&lt;dependency&gt;</code> element contains information about a dependency + /// of the project. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The <code>&lt;dependency&gt;</code> element contains i" + + "nformation about a dependency of the project.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Dependency")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Dependency + { + + /// + /// 3.0.0+ + /// The project group that produced the dependency, e.g. + /// <code>org.apache.maven</code>. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The project group that produced the dependency, e.g. <code>org.apach" + + "e.maven</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("groupId")] + public string GroupId { get; set; } + + /// + /// 3.0.0+ + /// The unique id for an artifact produced by the project group, e.g. + /// <code>maven-artifact</code>. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The unique id for an artifact produced by the project group, e.g. <code" + + ">maven-artifact</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("artifactId")] + public string ArtifactId { get; set; } + + /// + /// 3.0.0+ + /// The version of the dependency, e.g. <code>3.2.1</code>. In Maven 2, this can also be + /// specified as a range of versions. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The version of the dependency, e.g. <code>3.2.1</code>. In Mav" + + "en 2, this can also be specified as a range of versions.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("version")] + public string Version { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _type = "jar"; + + /// + /// 4.0.0+ + /// The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. + /// Some examples are <code>jar</code>, <code>war</code>, <code>ejb-client</code> + /// and <code>test-jar</code>: see <a href="../maven-core/artifact-handlers.html">default + /// artifact handlers</a> for a list. New types can be defined by extensions, so this is not a complete list. + /// + [System.ComponentModel.DefaultValueAttribute("jar")] + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are <code>jar</code>, <code>war</code>, <code>ejb-client</code> and <code>test-jar</code>: see <a href=""../maven-core/artifact-handlers.html"">default artifact handlers</a> for a list. New types can be defined by extensions, so this is not a complete list.")] + [System.Xml.Serialization.XmlElementAttribute("type")] + public string Type + { + get + { + return _type; + } + set + { + _type = value; + } + } + + /// + /// 4.0.0+ + /// The classifier of the dependency. It is appended to + /// the filename after the version. This allows: + /// <ul> + /// <li>referring to attached artifact, for example <code>sources</code> and <code>javadoc</code>: + /// see <a href="../maven-core/artifact-handlers.html">default artifact handlers</a> for a list,</li> + /// <li>distinguishing two artifacts + /// that belong to the same POM but were built differently. + /// For example, <code>jdk14</code> and <code>jdk15</code>.</li> + /// </ul> + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The classifier of the dependency. It is appended to the filename after the version. This allows: <ul> <li>referring to attached artifact, for example <code>sources</code> and <code>javadoc</code>: see <a href=""../maven-core/artifact-handlers.html"">default artifact handlers</a> for a list,</li> <li>distinguishing two artifacts that belong to the same POM but were built differently. For example, <code>jdk14</code> and <code>jdk15</code>.</li> </ul>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("classifier")] + public string Classifier { get; set; } + + /// + /// 4.0.0+ + /// The scope of the dependency - <code>compile</code>, <code>runtime</code>, + /// <code>test</code>, <code>system</code>, and <code>provided</code>. Used to + /// calculate the various classpaths used for compilation, testing, and so on. + /// It also assists in determining which artifacts to include in a distribution of + /// this project. For more information, see + /// <a href="https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the + /// dependency mechanism</a>. The default scope is <code>compile</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The scope of the dependency - <code>compile</code>, <code>runtime</code>, <code>test</code>, <code>system</code>, and <code>provided</code>. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see <a href=""https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"">the dependency mechanism</a>. The default scope is <code>compile</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("scope")] + public string Scope { get; set; } + + /// + /// 4.0.0+ + /// FOR SYSTEM SCOPE ONLY. Note that use of this property is <b>discouraged</b> + /// and may be replaced in later versions. This specifies the path on the filesystem + /// for this dependency. + /// Requires an absolute path for the value, not relative. + /// Use a property that gives the machine specific absolute path, + /// e.g. <code>${java.home}</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ FOR SYSTEM SCOPE ONLY. Note that use of this property is <b>discouraged</b> and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. <code>${java.home}</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("systemPath")] + public string SystemPath { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _exclusions; + + /// + /// 4.0.0+ + /// Lists a set of artifacts that should be excluded from this dependency's + /// artifact list when it comes to calculating transitive dependencies. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Lists a set of artifacts that should be excluded from this dependency\'s ar" + + "tifact list when it comes to calculating transitive dependencies.")] + [System.Xml.Serialization.XmlArrayAttribute("exclusions")] + [System.Xml.Serialization.XmlArrayItemAttribute("exclusion")] + public System.Collections.ObjectModel.Collection Exclusions + { + get + { + return _exclusions; + } + private set + { + _exclusions = value; + } + } + + /// + /// Gets a value indicating whether the Exclusions collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ExclusionsSpecified + { + get + { + return (this.Exclusions.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Dependency() + { + this._exclusions = new System.Collections.ObjectModel.Collection(); + } + + /// + /// 4.0.0+ + /// Indicates the dependency is optional for use of this library. While the + /// version of the dependency will be taken into account for dependency calculation if the + /// library is used elsewhere, it will not be passed on transitively. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>false</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>false</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("optional")] + public string Optional { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("DependencyExclusions", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class DependencyExclusions + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _exclusion; + + [System.Xml.Serialization.XmlElementAttribute("exclusion")] + public System.Collections.ObjectModel.Collection Exclusion + { + get + { + return _exclusion; + } + private set + { + _exclusion = value; + } + } + + /// + /// Gets a value indicating whether the Exclusion collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ExclusionSpecified + { + get + { + return (this.Exclusion.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public DependencyExclusions() + { + this._exclusion = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// The <code>&lt;exclusion&gt;</code> element contains informations required to exclude + /// an artifact to the project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;exclusion&gt;</code> element contains in" + + "formations required to exclude an artifact to the project.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Exclusion")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Exclusion + { + + /// + /// 4.0.0+ + /// The artifact ID of the project to exclude. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact ID of the project to exclude.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("artifactId")] + public string ArtifactId { get; set; } + + /// + /// 4.0.0+ + /// The group ID of the project to exclude. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID of the project to exclude.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("groupId")] + public string GroupId { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelDependencies", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelDependencies + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _dependency; + + [System.Xml.Serialization.XmlElementAttribute("dependency")] + public System.Collections.ObjectModel.Collection Dependency + { + get + { + return _dependency; + } + private set + { + _dependency = value; + } + } + + /// + /// Gets a value indicating whether the Dependency collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DependencySpecified + { + get + { + return (this.Dependency.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelDependencies() + { + this._dependency = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelRepositories", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelRepositories + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _repository; + + [System.Xml.Serialization.XmlElementAttribute("repository")] + public System.Collections.ObjectModel.Collection Repository + { + get + { + return _repository; + } + private set + { + _repository = value; + } + } + + /// + /// Gets a value indicating whether the Repository collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RepositorySpecified + { + get + { + return (this.Repository.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelRepositories() + { + this._repository = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// A repository contains the information needed for establishing connections with + /// remote repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ A repository contains the information needed for establishing connections " + + "with remote repository.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Repository")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Repository + { + + /// + /// 4.0.0+ + /// How to handle downloading of releases from this repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ How to handle downloading of releases from this repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("releases")] + public RepositoryPolicy Releases { get; set; } + + /// + /// 4.0.0+ + /// How to handle downloading of snapshots from this repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ How to handle downloading of snapshots from this repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("snapshots")] + public RepositoryPolicy Snapshots { get; set; } + + /// + /// 4.0.0+ + /// A unique identifier for a repository. This is used to match the repository + /// to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is + /// used during POM inheritance and profile injection to detect repositories that should be merged. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ A unique identifier for a repository. This is used to match the repository to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("id")] + public string Id { get; set; } + + /// + /// 4.0.0+ + /// Human readable name of the repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Human readable name of the repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 4.0.0+ + /// The url of the repository, in the form <code>protocol://hostname/path</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The url of the repository, in the form <code>protocol://hostname/pat" + + "h</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("url")] + public string Url { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _layout = "default"; + + /// + /// 4.0.0+ + /// The type of layout this repository uses for locating and storing artifacts - + /// can be <code>legacy</code> or <code>default</code>. + /// + [System.ComponentModel.DefaultValueAttribute("default")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ The type of layout this repository uses for locating and storing artifacts" + + " - can be <code>legacy</code> or <code>default</code>.")] + [System.Xml.Serialization.XmlElementAttribute("layout")] + public string Layout + { + get + { + return _layout; + } + set + { + _layout = value; + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelPluginRepositories", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelPluginRepositories + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _pluginRepository; + + [System.Xml.Serialization.XmlElementAttribute("pluginRepository")] + public System.Collections.ObjectModel.Collection PluginRepository + { + get + { + return _pluginRepository; + } + private set + { + _pluginRepository = value; + } + } + + /// + /// Gets a value indicating whether the PluginRepository collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginRepositorySpecified + { + get + { + return (this.PluginRepository.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelPluginRepositories() + { + this._pluginRepository = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 3.0.0+ + /// The <code>&lt;build&gt;</code> element contains informations required to build the project. + /// Default values are defined in Super POM. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ The <code>&lt;build&gt;</code> element contains inform" + + "ations required to build the project. Default values are defined in Super POM.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Build")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Build + { + + /// + /// 3.0.0+ + /// This element specifies a directory containing the source of the project. The + /// generated build system will compile the sources from this directory when the project is + /// built. The path given is relative to the project descriptor. + /// The default value is <code>src/main/java</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ This element specifies a directory containing the source of the project. The generated build system will compile the sources from this directory when the project is built. The path given is relative to the project descriptor. The default value is <code>src/main/java</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("sourceDirectory")] + public string SourceDirectory { get; set; } + + /// + /// 4.0.0+ + /// This element specifies a directory containing the script sources of the + /// project. This directory is meant to be different from the sourceDirectory, in that its + /// contents will be copied to the output directory in most cases (since scripts are + /// interpreted rather than compiled). + /// The default value is <code>src/main/scripts</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ This element specifies a directory containing the script sources of the project. This directory is meant to be different from the sourceDirectory, in that its contents will be copied to the output directory in most cases (since scripts are interpreted rather than compiled). The default value is <code>src/main/scripts</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("scriptSourceDirectory")] + public string ScriptSourceDirectory { get; set; } + + /// + /// 4.0.0+ + /// 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 path given is relative to the project descriptor. + /// The default value is <code>src/test/java</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ 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 path given is relative to the project descriptor. The default value is <code>src/test/java</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("testSourceDirectory")] + public string TestSourceDirectory { get; set; } + + /// + /// 4.0.0+ + /// The directory where compiled application classes are placed. + /// The default value is <code>target/classes</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The directory where compiled application classes are placed. The default v" + + "alue is <code>target/classes</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("outputDirectory")] + public string OutputDirectory { get; set; } + + /// + /// 4.0.0+ + /// The directory where compiled test classes are placed. + /// The default value is <code>target/test-classes</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The directory where compiled test classes are placed. The default value is" + + " <code>target/test-classes</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("testOutputDirectory")] + public string TestOutputDirectory { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _extensions; + + /// + /// 4.0.0+ + /// A set of build extensions to use from this project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ A set of build extensions to use from this project.")] + [System.Xml.Serialization.XmlArrayAttribute("extensions")] + [System.Xml.Serialization.XmlArrayItemAttribute("extension")] + public System.Collections.ObjectModel.Collection Extensions + { + get + { + return _extensions; + } + private set + { + _extensions = value; + } + } + + /// + /// Gets a value indicating whether the Extensions collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ExtensionsSpecified + { + get + { + return (this.Extensions.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Build() + { + this._extensions = new System.Collections.ObjectModel.Collection(); + this._resources = new System.Collections.ObjectModel.Collection(); + this._testResources = new System.Collections.ObjectModel.Collection(); + this._filters = new System.Collections.ObjectModel.Collection(); + this._plugins = new System.Collections.ObjectModel.Collection(); + } + + /// + /// 3.0.0+ + /// The default goal (or phase in Maven 2) to execute when none is specified for + /// the project. Note that in case of a multi-module build, only the default goal of the top-level + /// project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, + /// multiple goals/phases can be separated by whitespace. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("defaultGoal")] + public string DefaultGoal { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _resources; + + /// + /// 3.0.0+ + /// This element describes all of the classpath resources such as properties + /// files associated with a project. These resources are often included in the final + /// package. + /// The default value is <code>src/main/resources</code>. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes all of the classpath resources such as properties f" + + "iles associated with a project. These resources are often included in the final " + + "package. The default value is <code>src/main/resources</code>.")] + [System.Xml.Serialization.XmlArrayAttribute("resources")] + [System.Xml.Serialization.XmlArrayItemAttribute("resource")] + public System.Collections.ObjectModel.Collection Resources + { + get + { + return _resources; + } + private set + { + _resources = value; + } + } + + /// + /// Gets a value indicating whether the Resources collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ResourcesSpecified + { + get + { + return (this.Resources.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _testResources; + + /// + /// 4.0.0+ + /// This element describes all of the classpath resources such as properties + /// files associated with a project's unit tests. + /// The default value is <code>src/test/resources</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ This element describes all of the classpath resources such as properties f" + + "iles associated with a project\'s unit tests. The default value is <code>sr" + + "c/test/resources</code>.")] + [System.Xml.Serialization.XmlArrayAttribute("testResources")] + [System.Xml.Serialization.XmlArrayItemAttribute("testResource")] + public System.Collections.ObjectModel.Collection TestResources + { + get + { + return _testResources; + } + private set + { + _testResources = value; + } + } + + /// + /// Gets a value indicating whether the TestResources collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TestResourcesSpecified + { + get + { + return (this.TestResources.Count != 0); + } + } + + /// + /// 4.0.0+ + /// The directory where all files generated by the build are placed. + /// The default value is <code>target</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The directory where all files generated by the build are placed. The defau" + + "lt value is <code>target</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("directory")] + public string Directory { get; set; } + + /// + /// 4.0.0+ + /// The filename (excluding the extension, and with no path information) that + /// the produced artifact will be called. + /// The default value is <code>${artifactId}-${version}</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The filename (excluding the extension, and with no path information) that " + + "the produced artifact will be called. The default value is <code>${artifac" + + "tId}-${version}</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("finalName")] + public string FinalName { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _filters; + + /// + /// 4.0.0+ + /// The list of filter properties files that are used when filtering is enabled. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of filter properties files that are used when filtering is enable" + + "d.")] + [System.Xml.Serialization.XmlArrayAttribute("filters")] + [System.Xml.Serialization.XmlArrayItemAttribute("filter")] + public System.Collections.ObjectModel.Collection Filters + { + get + { + return _filters; + } + private set + { + _filters = value; + } + } + + /// + /// Gets a value indicating whether the Filters collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FiltersSpecified + { + get + { + return (this.Filters.Count != 0); + } + } + + /// + /// 4.0.0+ + /// Default plugin information to be made available for reference by projects + /// derived from this one. This plugin configuration will not be resolved or bound to the + /// lifecycle unless referenced. Any local configuration for a given plugin will override + /// the plugin's entire definition here. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("pluginManagement")] + public PluginManagement PluginManagement { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _plugins; + + /// + /// 4.0.0+ + /// The list of plugins to use. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of plugins to use.")] + [System.Xml.Serialization.XmlArrayAttribute("plugins")] + [System.Xml.Serialization.XmlArrayItemAttribute("plugin")] + public System.Collections.ObjectModel.Collection Plugins + { + get + { + return _plugins; + } + private set + { + _plugins = value; + } + } + + /// + /// Gets a value indicating whether the Plugins collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginsSpecified + { + get + { + return (this.Plugins.Count != 0); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildExtensions", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildExtensions + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _extension; + + [System.Xml.Serialization.XmlElementAttribute("extension")] + public System.Collections.ObjectModel.Collection Extension + { + get + { + return _extension; + } + private set + { + _extension = value; + } + } + + /// + /// Gets a value indicating whether the Extension collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ExtensionSpecified + { + get + { + return (this.Extension.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildExtensions() + { + this._extension = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// Describes a build extension to utilise. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Describes a build extension to utilise.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Extension")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Extension + { + + /// + /// 4.0.0+ + /// The group ID of the extension's artifact. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID of the extension\'s artifact.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("groupId")] + public string GroupId { get; set; } + + /// + /// 4.0.0+ + /// The artifact ID of the extension. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact ID of the extension.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("artifactId")] + public string ArtifactId { get; set; } + + /// + /// 4.0.0+ + /// The version of the extension. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The version of the extension.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("version")] + public string Version { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildResources", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildResources + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _resource; + + [System.Xml.Serialization.XmlElementAttribute("resource")] + public System.Collections.ObjectModel.Collection Resource + { + get + { + return _resource; + } + private set + { + _resource = value; + } + } + + /// + /// Gets a value indicating whether the Resource collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ResourceSpecified + { + get + { + return (this.Resource.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildResources() + { + this._resource = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 3.0.0+ + /// This element describes all of the classpath resources associated with a project + /// or unit tests. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes all of the classpath resources associated with a pr" + + "oject or unit tests.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Resource")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Resource + { + + /// + /// 3.0.0+ + /// Describe the resource target path. The path is relative to the target/classes + /// directory (i.e. <code>${project.build.outputDirectory}</code>). + /// For example, if you want that resource to appear in a specific package + /// (<code>org.apache.maven.messages</code>), you must specify this + /// element with this value: <code>org/apache/maven/messages</code>. + /// This is not required if you simply put the resources in that directory + /// structure at the source, however. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ Describe the resource target path. The path is relative to the target/classes directory (i.e. <code>${project.build.outputDirectory}</code>). For example, if you want that resource to appear in a specific package (<code>org.apache.maven.messages</code>), you must specify this element with this value: <code>org/apache/maven/messages</code>. This is not required if you simply put the resources in that directory structure at the source, however.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("targetPath")] + public string TargetPath { get; set; } + + /// + /// 3.0.0+ + /// Whether resources are filtered to replace tokens with parameterised values or not. + /// The values are taken from the <code>properties</code> element and from the + /// properties in the files listed in the <code>filters</code> element. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>false</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ Whether resources are filtered to replace tokens with parameterised values or not. The values are taken from the <code>properties</code> element and from the properties in the files listed in the <code>filters</code> element. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>false</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("filtering")] + public string Filtering { get; set; } + + /// + /// 3.0.0+ + /// Describe the directory where the resources are stored. The path is relative + /// to the POM. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Describe the directory where the resources are stored. The path is relativ" + + "e to the POM.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("directory")] + public string Directory { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _includes; + + /// + /// 3.0.0+ + /// A list of patterns to include, e.g. <code>**&#47;*.xml</code>. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ A list of patterns to include, e.g. <code>**&#47;*.xml</code&" + + "gt;.")] + [System.Xml.Serialization.XmlArrayAttribute("includes")] + [System.Xml.Serialization.XmlArrayItemAttribute("include")] + public System.Collections.ObjectModel.Collection Includes + { + get + { + return _includes; + } + private set + { + _includes = value; + } + } + + /// + /// Gets a value indicating whether the Includes collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool IncludesSpecified + { + get + { + return (this.Includes.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Resource() + { + this._includes = new System.Collections.ObjectModel.Collection(); + this._excludes = new System.Collections.ObjectModel.Collection(); + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _excludes; + + /// + /// 3.0.0+ + /// A list of patterns to exclude, e.g. <code>**&#47;*.xml</code> + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ A list of patterns to exclude, e.g. <code>**&#47;*.xml</code&" + + "gt;")] + [System.Xml.Serialization.XmlArrayAttribute("excludes")] + [System.Xml.Serialization.XmlArrayItemAttribute("exclude")] + public System.Collections.ObjectModel.Collection Excludes + { + get + { + return _excludes; + } + private set + { + _excludes = value; + } + } + + /// + /// Gets a value indicating whether the Excludes collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ExcludesSpecified + { + get + { + return (this.Excludes.Count != 0); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ResourceIncludes", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ResourceIncludes + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _include; + + [System.Xml.Serialization.XmlElementAttribute("include")] + public System.Collections.ObjectModel.Collection Include + { + get + { + return _include; + } + private set + { + _include = value; + } + } + + /// + /// Gets a value indicating whether the Include collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool IncludeSpecified + { + get + { + return (this.Include.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ResourceIncludes() + { + this._include = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ResourceExcludes", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ResourceExcludes + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _exclude; + + [System.Xml.Serialization.XmlElementAttribute("exclude")] + public System.Collections.ObjectModel.Collection Exclude + { + get + { + return _exclude; + } + private set + { + _exclude = value; + } + } + + /// + /// Gets a value indicating whether the Exclude collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ExcludeSpecified + { + get + { + return (this.Exclude.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ResourceExcludes() + { + this._exclude = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildTestResources", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildTestResources + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _testResource; + + [System.Xml.Serialization.XmlElementAttribute("testResource")] + public System.Collections.ObjectModel.Collection TestResource + { + get + { + return _testResource; + } + private set + { + _testResource = value; + } + } + + /// + /// Gets a value indicating whether the TestResource collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TestResourceSpecified + { + get + { + return (this.TestResource.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildTestResources() + { + this._testResource = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildFilters", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildFilters + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _filter; + + [System.Xml.Serialization.XmlElementAttribute("filter")] + public System.Collections.ObjectModel.Collection Filter + { + get + { + return _filter; + } + private set + { + _filter = value; + } + } + + /// + /// Gets a value indicating whether the Filter collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FilterSpecified + { + get + { + return (this.Filter.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildFilters() + { + this._filter = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// Section for management of default plugin information for use in a group of POMs. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Section for management of default plugin information for use in a group of" + + " POMs.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginManagement")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginManagement + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _plugins; + + /// + /// 4.0.0+ + /// The list of plugins to use. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of plugins to use.")] + [System.Xml.Serialization.XmlArrayAttribute("plugins")] + [System.Xml.Serialization.XmlArrayItemAttribute("plugin")] + public System.Collections.ObjectModel.Collection Plugins + { + get + { + return _plugins; + } + private set + { + _plugins = value; + } + } + + /// + /// Gets a value indicating whether the Plugins collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginsSpecified + { + get + { + return (this.Plugins.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginManagement() + { + this._plugins = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginManagementPlugins", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginManagementPlugins + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _plugin; + + [System.Xml.Serialization.XmlElementAttribute("plugin")] + public System.Collections.ObjectModel.Collection Plugin + { + get + { + return _plugin; + } + private set + { + _plugin = value; + } + } + + /// + /// Gets a value indicating whether the Plugin collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginSpecified + { + get + { + return (this.Plugin.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginManagementPlugins() + { + this._plugin = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// The <code>&lt;plugin&gt;</code> element contains informations required for a plugin. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;plugin&gt;</code> element contains infor" + + "mations required for a plugin.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Plugin")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Plugin + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _groupId = "org.apache.maven.plugins"; + + /// + /// 4.0.0+ + /// The group ID of the plugin in the repository. + /// + [System.ComponentModel.DefaultValueAttribute("org.apache.maven.plugins")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID of the plugin in the repository.")] + [System.Xml.Serialization.XmlElementAttribute("groupId")] + public string GroupId + { + get + { + return _groupId; + } + set + { + _groupId = value; + } + } + + /// + /// 4.0.0+ + /// The artifact ID of the plugin in the repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact ID of the plugin in the repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("artifactId")] + public string ArtifactId { get; set; } + + /// + /// 4.0.0+ + /// The version (or valid range of versions) of the plugin to be used. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The version (or valid range of versions) of the plugin to be used.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("version")] + public string Version { get; set; } + + /// + /// 4.0.0+ + /// Whether to load Maven extensions (such as packaging and type handlers) from + /// this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>false</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether to load Maven extensions (such as packaging and type handlers) from this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>false</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("extensions")] + public string Extensions { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _executions; + + /// + /// 4.0.0+ + /// Multiple specifications of a set of goals to execute during the build + /// lifecycle, each having (possibly) a different configuration. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Multiple specifications of a set of goals to execute during the build life" + + "cycle, each having (possibly) a different configuration.")] + [System.Xml.Serialization.XmlArrayAttribute("executions")] + [System.Xml.Serialization.XmlArrayItemAttribute("execution")] + public System.Collections.ObjectModel.Collection Executions + { + get + { + return _executions; + } + private set + { + _executions = value; + } + } + + /// + /// Gets a value indicating whether the Executions collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ExecutionsSpecified + { + get + { + return (this.Executions.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Plugin() + { + this._executions = new System.Collections.ObjectModel.Collection(); + this._dependencies = new System.Collections.ObjectModel.Collection(); + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _dependencies; + + /// + /// 4.0.0+ + /// Additional dependencies that this project needs to introduce to the plugin's + /// classloader. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Additional dependencies that this project needs to introduce to the plugin" + + "\'s classloader.")] + [System.Xml.Serialization.XmlArrayAttribute("dependencies")] + [System.Xml.Serialization.XmlArrayItemAttribute("dependency")] + public System.Collections.ObjectModel.Collection Dependencies + { + get + { + return _dependencies; + } + private set + { + _dependencies = value; + } + } + + /// + /// Gets a value indicating whether the Dependencies collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DependenciesSpecified + { + get + { + return (this.Dependencies.Count != 0); + } + } + + /// + /// 4.0.0+ + /// <b>Deprecated</b>. Unused by Maven. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ <b>Deprecated</b>. Unused by Maven.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("goals")] + public PluginGoals Goals { get; set; } + + /// + /// 4.0.0+ + /// Whether any configuration should be propagated to child POMs. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>true</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether any configuration should be propagated to child POMs. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("inherited")] + public string Inherited { get; set; } + + /// + /// 0.0.0+ + /// <p>The configuration as DOM object.</p> + /// <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add + /// <code>xml:space="preserve"</code> to elements you want to preserve whitespace.</p> + /// <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> + /// or <code>combine.self</code> attributes to the children of the configuration element:</p> + /// <ul> + /// <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> + /// <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> + /// </ul> + /// <p>See <a href="https://maven.apache.org/pom.html#Plugins">POM Reference documentation</a> and + /// <a href="https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> + /// for more information.</p> + /// + [System.ComponentModel.DescriptionAttribute(@"0.0.0+ <p>The configuration as DOM object.</p> <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add <code>xml:space=""preserve""</code> to elements you want to preserve whitespace.</p> <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> or <code>combine.self</code> attributes to the children of the configuration element:</p> <ul> <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> </ul> <p>See <a href=""https://maven.apache.org/pom.html#Plugins"">POM Reference documentation</a> and <a href=""https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html"">Xpp3DomUtils</a> for more information.</p>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("configuration")] + public PluginConfiguration Configuration { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginExecutions", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginExecutions + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _execution; + + [System.Xml.Serialization.XmlElementAttribute("execution")] + public System.Collections.ObjectModel.Collection Execution + { + get + { + return _execution; + } + private set + { + _execution = value; + } + } + + /// + /// Gets a value indicating whether the Execution collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ExecutionSpecified + { + get + { + return (this.Execution.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginExecutions() + { + this._execution = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// The <code>&lt;execution&gt;</code> element contains informations required for the + /// execution of a plugin. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;execution&gt;</code> element contains in" + + "formations required for the execution of a plugin.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginExecution")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginExecution + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _id = "default"; + + /// + /// 4.0.0+ + /// The identifier of this execution for labelling the goals during the build, + /// and for matching executions to merge during inheritance and profile injection. + /// + [System.ComponentModel.DefaultValueAttribute("default")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ The identifier of this execution for labelling the goals during the build," + + " and for matching executions to merge during inheritance and profile injection.")] + [System.Xml.Serialization.XmlElementAttribute("id")] + public string Id + { + get + { + return _id; + } + set + { + _id = value; + } + } + + /// + /// 4.0.0+ + /// The build lifecycle phase to bind the goals in this execution to. If omitted, + /// the goals will be bound to the default phase specified by the plugin. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The build lifecycle phase to bind the goals in this execution to. If omitt" + + "ed, the goals will be bound to the default phase specified by the plugin.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("phase")] + public string Phase { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _goals; + + /// + /// 4.0.0+ + /// The goals to execute with the given configuration. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The goals to execute with the given configuration.")] + [System.Xml.Serialization.XmlArrayAttribute("goals")] + [System.Xml.Serialization.XmlArrayItemAttribute("goal")] + public System.Collections.ObjectModel.Collection Goals + { + get + { + return _goals; + } + private set + { + _goals = value; + } + } + + /// + /// Gets a value indicating whether the Goals collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool GoalsSpecified + { + get + { + return (this.Goals.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginExecution() + { + this._goals = new System.Collections.ObjectModel.Collection(); + } + + /// + /// 4.0.0+ + /// Whether any configuration should be propagated to child POMs. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>true</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether any configuration should be propagated to child POMs. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("inherited")] + public string Inherited { get; set; } + + /// + /// 0.0.0+ + /// <p>The configuration as DOM object.</p> + /// <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add + /// <code>xml:space="preserve"</code> to elements you want to preserve whitespace.</p> + /// <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> + /// or <code>combine.self</code> attributes to the children of the configuration element:</p> + /// <ul> + /// <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> + /// <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> + /// </ul> + /// <p>See <a href="https://maven.apache.org/pom.html#Plugins">POM Reference documentation</a> and + /// <a href="https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> + /// for more information.</p> + /// + [System.ComponentModel.DescriptionAttribute(@"0.0.0+ <p>The configuration as DOM object.</p> <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add <code>xml:space=""preserve""</code> to elements you want to preserve whitespace.</p> <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> or <code>combine.self</code> attributes to the children of the configuration element:</p> <ul> <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> </ul> <p>See <a href=""https://maven.apache.org/pom.html#Plugins"">POM Reference documentation</a> and <a href=""https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html"">Xpp3DomUtils</a> for more information.</p>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("configuration")] + public PluginExecutionConfiguration Configuration { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginExecutionGoals", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginExecutionGoals + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _goal; + + [System.Xml.Serialization.XmlElementAttribute("goal")] + public System.Collections.ObjectModel.Collection Goal + { + get + { + return _goal; + } + private set + { + _goal = value; + } + } + + /// + /// Gets a value indicating whether the Goal collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool GoalSpecified + { + get + { + return (this.Goal.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginExecutionGoals() + { + this._goal = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginExecutionConfiguration", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginExecutionConfiguration + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginExecutionConfiguration() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginDependencies", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginDependencies + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _dependency; + + [System.Xml.Serialization.XmlElementAttribute("dependency")] + public System.Collections.ObjectModel.Collection Dependency + { + get + { + return _dependency; + } + private set + { + _dependency = value; + } + } + + /// + /// Gets a value indicating whether the Dependency collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DependencySpecified + { + get + { + return (this.Dependency.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginDependencies() + { + this._dependency = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginGoals", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginGoals + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginGoals() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("PluginConfiguration", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class PluginConfiguration + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public PluginConfiguration() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildPlugins", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildPlugins + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _plugin; + + [System.Xml.Serialization.XmlElementAttribute("plugin")] + public System.Collections.ObjectModel.Collection Plugin + { + get + { + return _plugin; + } + private set + { + _plugin = value; + } + } + + /// + /// Gets a value indicating whether the Plugin collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginSpecified + { + get + { + return (this.Plugin.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildPlugins() + { + this._plugin = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelReports", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelReports + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelReports() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// Section for management of reports and their configuration. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Section for management of reports and their configuration.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Reporting")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Reporting + { + + /// + /// 4.0.0+ + /// If true, then the default reports are not included in the site generation. + /// This includes the reports in the "Project Info" menu. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>false</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ If true, then the default reports are not included in the site generation. This includes the reports in the ""Project Info"" menu. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>false</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("excludeDefaults")] + public string ExcludeDefaults { get; set; } + + /// + /// 4.0.0+ + /// Where to store all of the generated reports. The default is + /// <code>${project.build.directory}/site</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Where to store all of the generated reports. The default is <code>${" + + "project.build.directory}/site</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("outputDirectory")] + public string OutputDirectory { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _plugins; + + /// + /// 4.0.0+ + /// The reporting plugins to use and their configuration. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The reporting plugins to use and their configuration.")] + [System.Xml.Serialization.XmlArrayAttribute("plugins")] + [System.Xml.Serialization.XmlArrayItemAttribute("plugin")] + public System.Collections.ObjectModel.Collection Plugins + { + get + { + return _plugins; + } + private set + { + _plugins = value; + } + } + + /// + /// Gets a value indicating whether the Plugins collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginsSpecified + { + get + { + return (this.Plugins.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Reporting() + { + this._plugins = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ReportingPlugins", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ReportingPlugins + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _plugin; + + [System.Xml.Serialization.XmlElementAttribute("plugin")] + public System.Collections.ObjectModel.Collection Plugin + { + get + { + return _plugin; + } + private set + { + _plugin = value; + } + } + + /// + /// Gets a value indicating whether the Plugin collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginSpecified + { + get + { + return (this.Plugin.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ReportingPlugins() + { + this._plugin = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// The <code>&lt;plugin&gt;</code> element contains informations required for a report plugin. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;plugin&gt;</code> element contains infor" + + "mations required for a report plugin.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ReportPlugin")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ReportPlugin + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _groupId = "org.apache.maven.plugins"; + + /// + /// 4.0.0+ + /// The group ID of the reporting plugin in the repository. + /// + [System.ComponentModel.DefaultValueAttribute("org.apache.maven.plugins")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID of the reporting plugin in the repository.")] + [System.Xml.Serialization.XmlElementAttribute("groupId")] + public string GroupId + { + get + { + return _groupId; + } + set + { + _groupId = value; + } + } + + /// + /// 4.0.0+ + /// The artifact ID of the reporting plugin in the repository. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact ID of the reporting plugin in the repository.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("artifactId")] + public string ArtifactId { get; set; } + + /// + /// 4.0.0+ + /// The version of the reporting plugin to be used. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The version of the reporting plugin to be used.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("version")] + public string Version { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _reportSets; + + /// + /// 4.0.0+ + /// Multiple specifications of a set of reports, each having (possibly) different + /// configuration. This is the reporting parallel to an <code>execution</code> in the build. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Multiple specifications of a set of reports, each having (possibly) differ" + + "ent configuration. This is the reporting parallel to an <code>execution<" + + ";/code> in the build.")] + [System.Xml.Serialization.XmlArrayAttribute("reportSets")] + [System.Xml.Serialization.XmlArrayItemAttribute("reportSet")] + public System.Collections.ObjectModel.Collection ReportSets + { + get + { + return _reportSets; + } + private set + { + _reportSets = value; + } + } + + /// + /// Gets a value indicating whether the ReportSets collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ReportSetsSpecified + { + get + { + return (this.ReportSets.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ReportPlugin() + { + this._reportSets = new System.Collections.ObjectModel.Collection(); + } + + /// + /// 4.0.0+ + /// Whether any configuration should be propagated to child POMs. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>true</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether any configuration should be propagated to child POMs. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("inherited")] + public string Inherited { get; set; } + + /// + /// 0.0.0+ + /// <p>The configuration as DOM object.</p> + /// <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add + /// <code>xml:space="preserve"</code> to elements you want to preserve whitespace.</p> + /// <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> + /// or <code>combine.self</code> attributes to the children of the configuration element:</p> + /// <ul> + /// <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> + /// <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> + /// </ul> + /// <p>See <a href="https://maven.apache.org/pom.html#Plugins">POM Reference documentation</a> and + /// <a href="https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> + /// for more information.</p> + /// + [System.ComponentModel.DescriptionAttribute(@"0.0.0+ <p>The configuration as DOM object.</p> <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add <code>xml:space=""preserve""</code> to elements you want to preserve whitespace.</p> <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> or <code>combine.self</code> attributes to the children of the configuration element:</p> <ul> <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> </ul> <p>See <a href=""https://maven.apache.org/pom.html#Plugins"">POM Reference documentation</a> and <a href=""https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html"">Xpp3DomUtils</a> for more information.</p>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("configuration")] + public ReportPluginConfiguration Configuration { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ReportPluginReportSets", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ReportPluginReportSets + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _reportSet; + + [System.Xml.Serialization.XmlElementAttribute("reportSet")] + public System.Collections.ObjectModel.Collection ReportSet + { + get + { + return _reportSet; + } + private set + { + _reportSet = value; + } + } + + /// + /// Gets a value indicating whether the ReportSet collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ReportSetSpecified + { + get + { + return (this.ReportSet.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ReportPluginReportSets() + { + this._reportSet = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// Represents a set of reports and configuration to be used to generate them. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Represents a set of reports and configuration to be used to generate them." + + "")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ReportSet")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ReportSet + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _id = "default"; + + /// + /// 0.0.0+ + /// The unique id for this report set, to be used during POM inheritance and profile injection + /// for merging of report sets. + /// + [System.ComponentModel.DefaultValueAttribute("default")] + [System.ComponentModel.DescriptionAttribute("0.0.0+ The unique id for this report set, to be used during POM inheritance and p" + + "rofile injection for merging of report sets.")] + [System.Xml.Serialization.XmlElementAttribute("id")] + public string Id + { + get + { + return _id; + } + set + { + _id = value; + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _reports; + + /// + /// 4.0.0+ + /// The list of reports from this plugin which should be generated from this set. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of reports from this plugin which should be generated from this s" + + "et.")] + [System.Xml.Serialization.XmlArrayAttribute("reports")] + [System.Xml.Serialization.XmlArrayItemAttribute("report")] + public System.Collections.ObjectModel.Collection Reports + { + get + { + return _reports; + } + private set + { + _reports = value; + } + } + + /// + /// Gets a value indicating whether the Reports collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ReportsSpecified + { + get + { + return (this.Reports.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ReportSet() + { + this._reports = new System.Collections.ObjectModel.Collection(); + } + + /// + /// 4.0.0+ + /// Whether any configuration should be propagated to child POMs. Note: While the type + /// of this field is <code>String</code> for technical reasons, the semantic type is actually + /// <code>Boolean</code>. Default value is <code>true</code>. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether any configuration should be propagated to child POMs. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("inherited")] + public string Inherited { get; set; } + + /// + /// 0.0.0+ + /// <p>The configuration as DOM object.</p> + /// <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add + /// <code>xml:space="preserve"</code> to elements you want to preserve whitespace.</p> + /// <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> + /// or <code>combine.self</code> attributes to the children of the configuration element:</p> + /// <ul> + /// <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> + /// <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> + /// </ul> + /// <p>See <a href="https://maven.apache.org/pom.html#Plugins">POM Reference documentation</a> and + /// <a href="https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> + /// for more information.</p> + /// + [System.ComponentModel.DescriptionAttribute(@"0.0.0+ <p>The configuration as DOM object.</p> <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add <code>xml:space=""preserve""</code> to elements you want to preserve whitespace.</p> <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> or <code>combine.self</code> attributes to the children of the configuration element:</p> <ul> <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> </ul> <p>See <a href=""https://maven.apache.org/pom.html#Plugins"">POM Reference documentation</a> and <a href=""https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html"">Xpp3DomUtils</a> for more information.</p>")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("configuration")] + public ReportSetConfiguration Configuration { get; set; } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ReportSetReports", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ReportSetReports + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _report; + + [System.Xml.Serialization.XmlElementAttribute("report")] + public System.Collections.ObjectModel.Collection Report + { + get + { + return _report; + } + private set + { + _report = value; + } + } + + /// + /// Gets a value indicating whether the Report collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ReportSpecified + { + get + { + return (this.Report.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ReportSetReports() + { + this._report = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ReportSetConfiguration", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ReportSetConfiguration + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ReportSetConfiguration() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ReportPluginConfiguration", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ReportPluginConfiguration + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ReportPluginConfiguration() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ModelProfiles", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ModelProfiles + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _profile; + + [System.Xml.Serialization.XmlElementAttribute("profile")] + public System.Collections.ObjectModel.Collection Profile + { + get + { + return _profile; + } + private set + { + _profile = value; + } + } + + /// + /// Gets a value indicating whether the Profile collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ProfileSpecified + { + get + { + return (this.Profile.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ModelProfiles() + { + this._profile = new System.Collections.ObjectModel.Collection(); + } + } + + /// + /// 4.0.0+ + /// Modifications to the build process which is activated based on environmental + /// parameters or command line arguments. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Modifications to the build process which is activated based on environment" + + "al parameters or command line arguments.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Profile")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Profile + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private string _id = "default"; + + /// + /// 4.0.0+ + /// The identifier of this build profile. This is used for command line + /// activation, and identifies profiles to be merged. + /// + [System.ComponentModel.DefaultValueAttribute("default")] + [System.ComponentModel.DescriptionAttribute("4.0.0+ The identifier of this build profile. This is used for command line activa" + + "tion, and identifies profiles to be merged.")] + [System.Xml.Serialization.XmlElementAttribute("id")] + public string Id + { + get + { + return _id; + } + set + { + _id = value; + } + } + + /// + /// 4.0.0+ + /// The conditional logic which will automatically trigger the inclusion of this + /// profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The conditional logic which will automatically trigger the inclusion of th" + + "is profile.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("activation")] + public Activation Activation { get; set; } + + /// + /// 4.0.0+ + /// Information required to build the project. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Information required to build the project.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("build")] + public BuildBase Build { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _modules; + + /// + /// 4.0.0+ + /// The modules (sometimes called subprojects) to build as a part of this + /// project. Each module listed is a relative path to the directory containing the module. + /// To be consistent with the way default urls are calculated from parent, it is recommended + /// to have module names match artifact ids. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids.")] + [System.Xml.Serialization.XmlArrayAttribute("modules")] + [System.Xml.Serialization.XmlArrayItemAttribute("module")] + public System.Collections.ObjectModel.Collection Modules + { + get + { + return _modules; + } + private set + { + _modules = value; + } + } + + /// + /// Gets a value indicating whether the Modules collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ModulesSpecified + { + get + { + return (this.Modules.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public Profile() + { + this._modules = new System.Collections.ObjectModel.Collection(); + this._dependencies = new System.Collections.ObjectModel.Collection(); + this._repositories = new System.Collections.ObjectModel.Collection(); + this._pluginRepositories = new System.Collections.ObjectModel.Collection(); + } + + /// + /// 4.0.0+ + /// Distribution information for a project that enables deployment of the site + /// and artifacts to remote web servers and repositories respectively. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Distribution information for a project that enables deployment of the site" + + " and artifacts to remote web servers and repositories respectively.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("distributionManagement")] + public DistributionManagement DistributionManagement { get; set; } + + /// + /// 4.0.0+ + /// Properties that can be used throughout the POM as a substitution, and + /// are used as filters in resources if enabled. + /// The format is <code>&lt;name&gt;value&lt;/name&gt;</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Properties that can be used throughout the POM as a substitution, and are " + + "used as filters in resources if enabled. The format is <code>&lt;name&" + + "amp;gt;value&lt;/name&gt;</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("properties")] + public ProfileProperties Properties { get; set; } + + /// + /// 4.0.0+ + /// Default dependency information for projects that inherit from this one. The + /// dependencies in this section are not immediately resolved. Instead, when a POM derived + /// from this one declares a dependency described by a matching groupId and artifactId, the + /// version and other values from this section are used for that dependency if they were not + /// already specified. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("dependencyManagement")] + public DependencyManagement DependencyManagement { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _dependencies; + + /// + /// 3.0.0+ + /// This element describes all of the dependencies associated with a + /// project. + /// These dependencies are used to construct a classpath for your + /// project during the build process. They are automatically downloaded from the + /// repositories defined in this project. + /// See <a href="https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the + /// dependency mechanism</a> for more information. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See <a href=""https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"">the dependency mechanism</a> for more information.")] + [System.Xml.Serialization.XmlArrayAttribute("dependencies")] + [System.Xml.Serialization.XmlArrayItemAttribute("dependency")] + public System.Collections.ObjectModel.Collection Dependencies + { + get + { + return _dependencies; + } + private set + { + _dependencies = value; + } + } + + /// + /// Gets a value indicating whether the Dependencies collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DependenciesSpecified + { + get + { + return (this.Dependencies.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _repositories; + + /// + /// 4.0.0+ + /// The lists of the remote repositories for discovering dependencies and + /// extensions. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The lists of the remote repositories for discovering dependencies and exte" + + "nsions.")] + [System.Xml.Serialization.XmlArrayAttribute("repositories")] + [System.Xml.Serialization.XmlArrayItemAttribute("repository")] + public System.Collections.ObjectModel.Collection Repositories + { + get + { + return _repositories; + } + private set + { + _repositories = value; + } + } + + /// + /// Gets a value indicating whether the Repositories collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RepositoriesSpecified + { + get + { + return (this.Repositories.Count != 0); + } + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _pluginRepositories; + + /// + /// 4.0.0+ + /// The lists of the remote repositories for discovering plugins for builds and + /// reports. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The lists of the remote repositories for discovering plugins for builds an" + + "d reports.")] + [System.Xml.Serialization.XmlArrayAttribute("pluginRepositories")] + [System.Xml.Serialization.XmlArrayItemAttribute("pluginRepository")] + public System.Collections.ObjectModel.Collection PluginRepositories + { + get + { + return _pluginRepositories; + } + private set + { + _pluginRepositories = value; + } + } + + /// + /// Gets a value indicating whether the PluginRepositories collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginRepositoriesSpecified + { + get + { + return (this.PluginRepositories.Count != 0); + } + } + + /// + /// 4.0.0+ + /// <b>Deprecated</b>. Now ignored by Maven. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ <b>Deprecated</b>. Now ignored by Maven.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("reports")] + public ProfileReports Reports { get; set; } + + /// + /// 4.0.0+ + /// This element includes the specification of report plugins to use + /// to generate the reports on the Maven-generated site. + /// These reports will be run when a user executes <code>mvn site</code>. + /// All of the reports will be included in the navigation bar for browsing. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes <code>mvn site</code>. All of the reports will be included in the navigation bar for browsing.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("reporting")] + public Reporting Reporting { get; set; } + } + + /// + /// 4.0.0+ + /// The conditions within the build runtime environment which will trigger the + /// automatic inclusion of the build profile. Multiple conditions can be defined, which must + /// be all satisfied to activate the profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The conditions within the build runtime environment which will trigger the" + + " automatic inclusion of the build profile. Multiple conditions can be defined, w" + + "hich must be all satisfied to activate the profile.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("Activation")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class Activation + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private bool _activeByDefault = false; + + /// + /// 4.0.0+ + /// If set to true, this profile will be active unless another profile in this + /// pom is activated using the command line -P option or by one of that profile's + /// activators. + /// + [System.ComponentModel.DefaultValueAttribute(false)] + [System.ComponentModel.DescriptionAttribute("4.0.0+ If set to true, this profile will be active unless another profile in this" + + " pom is activated using the command line -P option or by one of that profile\'s a" + + "ctivators.")] + [System.Xml.Serialization.XmlElementAttribute("activeByDefault")] + public bool ActiveByDefault + { + get + { + return _activeByDefault; + } + set + { + _activeByDefault = value; + } + } + + /// + /// 4.0.0+ + /// Specifies that this profile will be activated when a matching JDK is detected. + /// For example, <code>1.4</code> only activates on JDKs versioned 1.4, + /// while <code>!1.4</code> matches any JDK that is not version 1.4. Ranges are supported too: + /// <code>[1.5,)</code> activates when the JDK is 1.5 minimum. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Specifies that this profile will be activated when a matching JDK is detected. For example, <code>1.4</code> only activates on JDKs versioned 1.4, while <code>!1.4</code> matches any JDK that is not version 1.4. Ranges are supported too: <code>[1.5,)</code> activates when the JDK is 1.5 minimum.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("jdk")] + public string Jdk { get; set; } + + /// + /// 4.0.0+ + /// Specifies that this profile will be activated when matching operating system + /// attributes are detected. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Specifies that this profile will be activated when matching operating syst" + + "em attributes are detected.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("os")] + public ActivationOs Os { get; set; } + + /// + /// 4.0.0+ + /// Specifies that this profile will be activated when this system property is + /// specified. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Specifies that this profile will be activated when this system property is" + + " specified.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("property")] + public ActivationProperty Property { get; set; } + + /// + /// 4.0.0+ + /// Specifies that this profile will be activated based on existence of a file. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ Specifies that this profile will be activated based on existence of a file" + + ".")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("file")] + public ActivationFile File { get; set; } + } + + /// + /// 4.0.0+ + /// This is an activator which will detect an operating system's attributes in order + /// to activate its profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ This is an activator which will detect an operating system\'s attributes in" + + " order to activate its profile.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ActivationOS")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ActivationOs + { + + /// + /// 4.0.0+ + /// The name of the operating system to be used to activate the profile. This must be an exact match + /// of the <code>${os.name}</code> Java property, such as <code>Windows XP</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the operating system to be used to activate the profile. This " + + "must be an exact match of the <code>${os.name}</code> Java property," + + " such as <code>Windows XP</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 4.0.0+ + /// The general family of the OS to be used to activate the profile, such as + /// <code>windows</code> or <code>unix</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The general family of the OS to be used to activate the profile, such as &" + + "lt;code>windows</code> or <code>unix</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("family")] + public string Family { get; set; } + + /// + /// 4.0.0+ + /// The architecture of the operating system to be used to activate the + /// profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The architecture of the operating system to be used to activate the profil" + + "e.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("arch")] + public string Arch { get; set; } + + /// + /// 4.0.0+ + /// The version of the operating system to be used to activate the + /// profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The version of the operating system to be used to activate the profile.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("version")] + public string Version { get; set; } + } + + /// + /// 4.0.0+ + /// This is the property specification used to activate a profile. If the value field + /// is empty, then the existence of the named property will activate the profile, otherwise it + /// does a case-sensitive match against the property value as well. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ This is the property specification used to activate a profile. If the valu" + + "e field is empty, then the existence of the named property will activate the pro" + + "file, otherwise it does a case-sensitive match against the property value as wel" + + "l.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ActivationProperty")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ActivationProperty + { + + /// + /// 4.0.0+ + /// The name of the property to be used to activate a profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the property to be used to activate a profile.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("name")] + public string Name { get; set; } + + /// + /// 4.0.0+ + /// The value of the property required to activate a profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The value of the property required to activate a profile.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("value")] + public string Value { get; set; } + } + + /// + /// 4.0.0+ + /// This is the file specification used to activate the profile. The <code>missing</code> value + /// is the location of a file that needs to exist, and if it doesn't, the profile will be + /// activated. On the other hand, <code>exists</code> will test for the existence of the file and if it is + /// there, the profile will be activated.<br> + /// Variable interpolation for these file specifications is limited to <code>${basedir}</code>, + /// System properties and request properties. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ This is the file specification used to activate the profile. The <code>missing</code> value is the location of a file that needs to exist, and if it doesn't, the profile will be activated. On the other hand, <code>exists</code> will test for the existence of the file and if it is there, the profile will be activated.<br> Variable interpolation for these file specifications is limited to <code>${basedir}</code>, System properties and request properties.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ActivationFile")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ActivationFile + { + + /// + /// 4.0.0+ + /// The name of the file that must be missing to activate the + /// profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the file that must be missing to activate the profile.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("missing")] + public string Missing { get; set; } + + /// + /// 4.0.0+ + /// The name of the file that must exist to activate the profile. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the file that must exist to activate the profile.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("exists")] + public string Exists { get; set; } + } + + /// + /// 3.0.0+ + /// Generic informations for a build. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ Generic informations for a build.")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildBase")] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildBase + { + + /// + /// 3.0.0+ + /// The default goal (or phase in Maven 2) to execute when none is specified for + /// the project. Note that in case of a multi-module build, only the default goal of the top-level + /// project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, + /// multiple goals/phases can be separated by whitespace. + /// + [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("defaultGoal")] + public string DefaultGoal { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _resources; + + /// + /// 3.0.0+ + /// This element describes all of the classpath resources such as properties + /// files associated with a project. These resources are often included in the final + /// package. + /// The default value is <code>src/main/resources</code>. + /// + [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes all of the classpath resources such as properties f" + + "iles associated with a project. These resources are often included in the final " + + "package. The default value is <code>src/main/resources</code>.")] + [System.Xml.Serialization.XmlArrayAttribute("resources")] + [System.Xml.Serialization.XmlArrayItemAttribute("resource")] + public System.Collections.ObjectModel.Collection Resources + { + get + { + return _resources; + } + private set + { + _resources = value; + } + } + + /// + /// Gets a value indicating whether the Resources collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ResourcesSpecified + { + get + { + return (this.Resources.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildBase() + { + this._resources = new System.Collections.ObjectModel.Collection(); + this._testResources = new System.Collections.ObjectModel.Collection(); + this._filters = new System.Collections.ObjectModel.Collection(); + this._plugins = new System.Collections.ObjectModel.Collection(); + } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _testResources; + + /// + /// 4.0.0+ + /// This element describes all of the classpath resources such as properties + /// files associated with a project's unit tests. + /// The default value is <code>src/test/resources</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ This element describes all of the classpath resources such as properties f" + + "iles associated with a project\'s unit tests. The default value is <code>sr" + + "c/test/resources</code>.")] + [System.Xml.Serialization.XmlArrayAttribute("testResources")] + [System.Xml.Serialization.XmlArrayItemAttribute("testResource")] + public System.Collections.ObjectModel.Collection TestResources + { + get + { + return _testResources; + } + private set + { + _testResources = value; + } + } + + /// + /// Gets a value indicating whether the TestResources collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TestResourcesSpecified + { + get + { + return (this.TestResources.Count != 0); + } + } + + /// + /// 4.0.0+ + /// The directory where all files generated by the build are placed. + /// The default value is <code>target</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The directory where all files generated by the build are placed. The defau" + + "lt value is <code>target</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("directory")] + public string Directory { get; set; } + + /// + /// 4.0.0+ + /// The filename (excluding the extension, and with no path information) that + /// the produced artifact will be called. + /// The default value is <code>${artifactId}-${version}</code>. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The filename (excluding the extension, and with no path information) that " + + "the produced artifact will be called. The default value is <code>${artifac" + + "tId}-${version}</code>.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("finalName")] + public string FinalName { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _filters; + + /// + /// 4.0.0+ + /// The list of filter properties files that are used when filtering is enabled. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of filter properties files that are used when filtering is enable" + + "d.")] + [System.Xml.Serialization.XmlArrayAttribute("filters")] + [System.Xml.Serialization.XmlArrayItemAttribute("filter")] + public System.Collections.ObjectModel.Collection Filters + { + get + { + return _filters; + } + private set + { + _filters = value; + } + } + + /// + /// Gets a value indicating whether the Filters collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FiltersSpecified + { + get + { + return (this.Filters.Count != 0); + } + } + + /// + /// 4.0.0+ + /// Default plugin information to be made available for reference by projects + /// derived from this one. This plugin configuration will not be resolved or bound to the + /// lifecycle unless referenced. Any local configuration for a given plugin will override + /// the plugin's entire definition here. + /// + [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here.")] + [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] + [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] + [System.Xml.Serialization.XmlElementAttribute("pluginManagement")] + public PluginManagement PluginManagement { get; set; } + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _plugins; + + /// + /// 4.0.0+ + /// The list of plugins to use. + /// + [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of plugins to use.")] + [System.Xml.Serialization.XmlArrayAttribute("plugins")] + [System.Xml.Serialization.XmlArrayItemAttribute("plugin")] + public System.Collections.ObjectModel.Collection Plugins + { + get + { + return _plugins; + } + private set + { + _plugins = value; + } + } + + /// + /// Gets a value indicating whether the Plugins collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginsSpecified + { + get + { + return (this.Plugins.Count != 0); + } + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildBaseResources", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildBaseResources + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _resource; + + [System.Xml.Serialization.XmlElementAttribute("resource")] + public System.Collections.ObjectModel.Collection Resource + { + get + { + return _resource; + } + private set + { + _resource = value; + } + } + + /// + /// Gets a value indicating whether the Resource collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ResourceSpecified + { + get + { + return (this.Resource.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildBaseResources() + { + this._resource = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildBaseTestResources", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildBaseTestResources + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _testResource; + + [System.Xml.Serialization.XmlElementAttribute("testResource")] + public System.Collections.ObjectModel.Collection TestResource + { + get + { + return _testResource; + } + private set + { + _testResource = value; + } + } + + /// + /// Gets a value indicating whether the TestResource collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool TestResourceSpecified + { + get + { + return (this.TestResource.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildBaseTestResources() + { + this._testResource = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildBaseFilters", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildBaseFilters + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _filter; + + [System.Xml.Serialization.XmlElementAttribute("filter")] + public System.Collections.ObjectModel.Collection Filter + { + get + { + return _filter; + } + private set + { + _filter = value; + } + } + + /// + /// Gets a value indicating whether the Filter collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool FilterSpecified + { + get + { + return (this.Filter.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildBaseFilters() + { + this._filter = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("BuildBasePlugins", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class BuildBasePlugins + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _plugin; + + [System.Xml.Serialization.XmlElementAttribute("plugin")] + public System.Collections.ObjectModel.Collection Plugin + { + get + { + return _plugin; + } + private set + { + _plugin = value; + } + } + + /// + /// Gets a value indicating whether the Plugin collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginSpecified + { + get + { + return (this.Plugin.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public BuildBasePlugins() + { + this._plugin = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ProfileModules", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ProfileModules + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _module; + + [System.Xml.Serialization.XmlElementAttribute("module")] + public System.Collections.ObjectModel.Collection Module + { + get + { + return _module; + } + private set + { + _module = value; + } + } + + /// + /// Gets a value indicating whether the Module collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool ModuleSpecified + { + get + { + return (this.Module.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ProfileModules() + { + this._module = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ProfileProperties", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ProfileProperties + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ProfileProperties() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ProfileDependencies", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ProfileDependencies + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _dependency; + + [System.Xml.Serialization.XmlElementAttribute("dependency")] + public System.Collections.ObjectModel.Collection Dependency + { + get + { + return _dependency; + } + private set + { + _dependency = value; + } + } + + /// + /// Gets a value indicating whether the Dependency collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool DependencySpecified + { + get + { + return (this.Dependency.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ProfileDependencies() + { + this._dependency = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ProfileRepositories", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ProfileRepositories + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _repository; + + [System.Xml.Serialization.XmlElementAttribute("repository")] + public System.Collections.ObjectModel.Collection Repository + { + get + { + return _repository; + } + private set + { + _repository = value; + } + } + + /// + /// Gets a value indicating whether the Repository collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool RepositorySpecified + { + get + { + return (this.Repository.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ProfileRepositories() + { + this._repository = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ProfilePluginRepositories", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ProfilePluginRepositories + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _pluginRepository; + + [System.Xml.Serialization.XmlElementAttribute("pluginRepository")] + public System.Collections.ObjectModel.Collection PluginRepository + { + get + { + return _pluginRepository; + } + private set + { + _pluginRepository = value; + } + } + + /// + /// Gets a value indicating whether the PluginRepository collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool PluginRepositorySpecified + { + get + { + return (this.PluginRepository.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ProfilePluginRepositories() + { + this._pluginRepository = new System.Collections.ObjectModel.Collection(); + } + } + + [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] + [System.SerializableAttribute()] + [System.Xml.Serialization.XmlTypeAttribute("ProfileReports", AnonymousType=true)] + [System.Diagnostics.DebuggerStepThroughAttribute()] + [System.ComponentModel.DesignerCategoryAttribute("code")] + public partial class ProfileReports + { + + [System.Xml.Serialization.XmlIgnoreAttribute()] + private System.Collections.ObjectModel.Collection _any; + + [System.Xml.Serialization.XmlAnyElementAttribute()] + public System.Collections.ObjectModel.Collection Any + { + get + { + return _any; + } + private set + { + _any = value; + } + } + + /// + /// Gets a value indicating whether the Any collection is empty. + /// + [System.Xml.Serialization.XmlIgnoreAttribute()] + public bool AnySpecified + { + get + { + return (this.Any.Count != 0); + } + } + + /// + /// Initializes a new instance of the class. + /// + public ProfileReports() + { + this._any = new System.Collections.ObjectModel.Collection(); + } + } +} diff --git a/src/Java.Interop.Tools.Maven/Models/ResolvedDependency.cs b/src/Java.Interop.Tools.Maven/Models/ResolvedDependency.cs new file mode 100644 index 000000000..ca6d052fd --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Models/ResolvedDependency.cs @@ -0,0 +1,68 @@ +using Java.Interop.Tools.Maven.Extensions; + +namespace Java.Interop.Tools.Maven.Models; + +public class ResolvedDependency +{ + public ResolvedProject Project { get; } + public string ArtifactId { get; } + public string? Classifier { get; } + public string GroupId { get; } + public string? Optional { get; } + public string Scope { get; } + public string? Type { get; } + public string Version { get; } + + public ResolvedDependency (ResolvedProject project, Dependency dependency) + : this (project, dependency, false) + { } + + internal ResolvedDependency (ResolvedProject project, Dependency dependency, bool shallow) + { + Project = project; + + // First fill these in with values from the dependency + ArtifactId = dependency.ArtifactId.OrEmpty (); + GroupId = dependency.GroupId.OrEmpty (); + Classifier = dependency.Classifier; + Optional = dependency.Optional.OrEmpty (); + Scope = dependency.Scope.OrEmpty (); + Type = dependency.Type; + Version = dependency.Version.OrEmpty (); + + // If we're not shallow, fill in any still missing properties with parent values + if (!shallow) { + if (!Classifier.HasValue ()) + Classifier = this.GetInheritedProperty (project, d => d.Classifier); + + if (!Optional.HasValue ()) + Optional = this.GetInheritedProperty (project, d => d.Optional); + + if (!Scope.HasValue ()) + Scope = this.GetInheritedProperty (project, d => d.Scope); + + if (!Type.HasValue ()) + Type = this.GetInheritedProperty (project, d => d.Type); + + if (!Version.HasValue ()) + Version = this.GetInheritedProperty (project, d => d.Version); + } + + // Default scope to "compile" if not specified + if (!Scope.HasValue ()) + Scope = "compile"; + + // Default optional to "false" if not specified + if (!Optional.HasValue ()) + Optional = "false"; + } + + public string ToArtifactString (bool includeVersion = true) + { + return includeVersion + ? $"{GroupId}:{ArtifactId}:{Version}" + : $"{GroupId}:{ArtifactId}"; + } + + public override string ToString () => $"{GroupId}:{ArtifactId}:{Version} - {Scope}"; +} diff --git a/src/Java.Interop.Tools.Maven/Models/ResolvedProject.cs b/src/Java.Interop.Tools.Maven/Models/ResolvedProject.cs new file mode 100644 index 000000000..6abd3547c --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Models/ResolvedProject.cs @@ -0,0 +1,186 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using Java.Interop.Tools.Maven.Extensions; + +namespace Java.Interop.Tools.Maven.Models; + +public class ResolvedProject +{ + readonly ResolvedProject? parent; + readonly IPomResolver? resolver; + + Project? resolved_project; + + public Project Raw { get; } + public Project Resolved => resolved_project ?? throw new InvalidOperationException ("Call the Resolve method before accessing this."); + + public virtual bool IsSuperPom => false; + public string ArtifactId => Resolved.ArtifactId.OrEmpty (); + public string GroupId => Resolved.GroupId.HasValue () || IsSuperPom ? Resolved.GroupId.OrEmpty () : Parent.GroupId; + public string Version => Resolved.Version.HasValue () || IsSuperPom ? Resolved.Version.OrEmpty () : Parent.Version; + public string Name => Resolved.Name.HasValue () || IsSuperPom ? Resolved.Name.OrEmpty () : Parent.Name; + + public List Dependencies { get; } = new List (); + public List ImportedPomProjects { get; } = new (); // Projects imported via a scope = "import", type = "pom" dependencyManagement section + + public ResolvedProject Parent { + get { + if (parent is null && IsSuperPom) + throw new InvalidOperationException ("Super POM does not have a parent, check IsSuperPom before calling"); + + return parent ?? throw new InvalidOperationException ("Parent should not be null"); + } + } + + public ResolvedProject (Project project, ResolvedProject parent, IPomResolver resolver) + { + Raw = project; + this.parent = parent; + this.resolver = resolver; + } + + public void Resolve () => ResolveCore (new PropertyStack ()); + + public static ResolvedProject FromArtifact (Artifact artifact, IPomResolver resolver) + { + var project = FromArtifactCore (artifact, resolver); + project.Resolve (); + + return project; + } + + static ResolvedProject FromArtifactCore (Artifact artifact, IPomResolver resolver) + { + var raw = resolver.ResolveRawProject (artifact); + + // POM has a parent, resolve it + if (raw.TryGetParentPomArtifact (out var parentArtifact)) { + var parent = FromArtifactCore (parentArtifact, resolver); + return new ResolvedProject (raw, parent, resolver); + } + + var project = new ResolvedProject (raw, SuperPom.Instance, resolver); + + return project; + } + + void ResolveCore (PropertyStack properties) + { + if (IsSuperPom) + return; + + // A newly constructed ResolvedProject contains only raw values. We need to + // go through every Project value and replace any specified properties + // (ex: ${project.version} or ${mavenVersion}) with the resolved values. This has to + // start at the child and work its way up to the parent, because properties + // specified in the child override those in the parent. + var xml = Raw.ToXml (); + xml = ReplaceProperties (xml, this, properties); + + resolved_project = Project.ParseXml (xml); + + properties.Push (Raw.Properties); + parent?.ResolveCore (properties); + + // Now that we've resolved all properties, we can figure out our dependencies. + ImportDependencyManagementPoms (); + ResolveDependencies (); + } + + [return: NotNullIfNotNull (nameof (value))] + string? ReplaceProperties (string? value, ResolvedProject project, PropertyStack properties) + { + if (value is null) + return null; + + if (!value.Contains ("${") || project.IsSuperPom) + return value; + + properties.Push (project.Raw.Properties); + + var old_value = string.Empty; + + // Properties can be nested, so we need to keep replacing until we don't find any more. + // We check against the old value to make sure we don't get stuck in an infinite loop. + while (value.Contains ("${") && value != old_value) { + old_value = value; + + // Replace ${project.*} properties + value = ReplaceProjectProperties (value, project); + + // Replace explicit properties + value = properties.Apply (value); + } + + value = ReplaceProperties (value, project.Parent, properties); + properties.Pop (); + + return value; + } + + string ReplaceProjectProperties (string value, ResolvedProject project) + { + // Technically this can be any element in the XML, but we're only going to suppport + // some common ones for now to keep things simple. + if (project.Raw.GroupId.HasValue ()) + value = value.Replace ("${project.groupId}", project.Raw.GroupId); + + if (project.Raw.ArtifactId.HasValue ()) + value = value.Replace ("${project.artifactId}", project.Raw.ArtifactId); + + if (project.Raw.Version.HasValue ()) + value = value.Replace ("${project.version}", project.Raw.Version); + + if (project.Raw.Name.HasValue ()) + value = value.Replace ("${project.name}", project.Raw.Name); + + if (project.Raw.Parent?.Version.HasValue () == true) + value = value.Replace ("${project.parent.version}", project.Raw.Parent.Version); + + if (project.Raw.Parent?.GroupId.HasValue () == true) + value = value.Replace ("${project.parent.groupId}", project.Raw.Parent.GroupId); + + return value; + } + + void ImportDependencyManagementPoms () + { + if (resolver is null) + return; + + foreach (var pom_import in GetPomImportDependencies ()) { + var pom = FromArtifact (pom_import.ToArtifact (), resolver); + pom.Resolve (); + ImportedPomProjects.Add (pom); + } + } + + IEnumerable GetPomImportDependencies () + => Resolved.DependencyManagement?.Dependencies.Where (x => x.Type == "pom" && x.Scope == "import") ?? Array.Empty (); + + void ResolveDependencies () + { + // Add _our_ specified dependencies + foreach (var dependency in Resolved.Dependencies) + Dependencies.Add (new ResolvedDependency (this, dependency)); + + // Add dependencies from our parent (the null check is for the super POM) + if (parent is ResolvedProject rp && !rp.IsSuperPom) + foreach (var dependency in parent!.Dependencies) + Dependencies.Add (dependency); + } +} + +// Sentinel class for the super POM, which every POM implicitly inherits if it doesn't specify a parent +public class SuperPom : ResolvedProject +{ + SuperPom () : base (new Project (), null!, null!) + { + } + + public override bool IsSuperPom => true; + + public static SuperPom Instance { get; } = new SuperPom (); +} diff --git a/src/Java.Interop.Tools.Maven/Repositories/CachedMavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/CachedMavenRepository.cs new file mode 100644 index 000000000..3eed51016 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Repositories/CachedMavenRepository.cs @@ -0,0 +1,94 @@ +using System.Diagnostics.CodeAnalysis; +using System.IO; +using System.Threading; +using System.Threading.Tasks; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven.Repositories; + +/// +/// Wraps an and caches files in a local directory. +/// +public class CachedMavenRepository : IMavenRepository +{ + public string CacheDirectory { get; } + + public string Name => repository.Name; + + readonly IMavenRepository repository; + + public CachedMavenRepository (string directory, IMavenRepository repository) + { + CacheDirectory = directory; + this.repository = repository; + } + + public bool TryGetFile (Artifact artifact, string filename, [NotNullWhen (true)] out Stream? stream) + { + stream = null; + + if (TryGetFilePath (artifact, filename, out var path)) { + stream = File.OpenRead (path); + return true; + } + + return false; + } + + public bool TryGetFilePath (Artifact artifact, string filename, [NotNullWhen (true)] out string? path) + { + path = null; + + var directory = GetArtifactDirectory (artifact); + var file = Path.Combine (directory, filename); + + if (File.Exists (file)) { + path = file; + return true; + } + + Directory.CreateDirectory (directory); + + if (repository.TryGetFile (artifact, filename, out var repo_stream)) { + using (var sw = File.Create (file)) + repo_stream!.CopyTo (sw); + + using (repo_stream) { } + + path = file; + return true; + } + + return false; + } + + public async Task GetFilePathAsync (Artifact artifact, string filename, CancellationToken cancellationToken) + { + var directory = GetArtifactDirectory (artifact); + var file = Path.Combine (directory, filename); + + if (File.Exists (file)) + return file; + + Directory.CreateDirectory (directory); + + if (repository.TryGetFile (artifact, filename, out var repo_stream)) { + using (var sw = File.Create (file)) + await repo_stream!.CopyToAsync (sw, 81920, cancellationToken); + + using (repo_stream) { } + + return file; + } + + return null; + } + + string GetArtifactDirectory (Artifact artifact) + { + var version = artifact.Version; + var output_directory = Path.Combine (CacheDirectory, repository.Name, artifact.GroupId, artifact.Id, version); + + return output_directory; + } +} diff --git a/src/Java.Interop.Tools.Maven/Repositories/IMavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/IMavenRepository.cs new file mode 100644 index 000000000..b801ad993 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Repositories/IMavenRepository.cs @@ -0,0 +1,12 @@ +using System.Diagnostics.CodeAnalysis; +using System.IO; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven.Repositories; + +public interface IMavenRepository +{ + // This name is used for on-disk caching purposes, and thus must be compatible with file system naming rules. + string Name { get; } + bool TryGetFile (Artifact artifact, string filename, [NotNullWhen (true)] out Stream? stream); +} diff --git a/src/Java.Interop.Tools.Maven/Repositories/InMemoryMavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/InMemoryMavenRepository.cs new file mode 100644 index 000000000..b538ff661 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Repositories/InMemoryMavenRepository.cs @@ -0,0 +1,35 @@ +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.IO; +using System.Threading.Tasks; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven.Repositories; + +public class InMemoryMavenRepository : IMavenRepository +{ + readonly Dictionary cache = new (); + + public string Name => "InMemory"; + + public async Task AddFile (Artifact artifact, string filename, Stream stream) + { + var bytes = new byte [stream.Length]; + + await stream.ReadAsync (bytes, 0, bytes.Length); + + cache.Add ($"{artifact}/{filename}", bytes); + } + + public bool TryGetFile (Artifact artifact, string filename, [NotNullWhen (true)] out Stream? stream) + { + stream = null; + + if (cache.TryGetValue ($"{artifact}/{filename}", out var bytes)) { + stream = new MemoryStream (bytes); + return true; + } + + return false; + } +} diff --git a/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs new file mode 100644 index 000000000..48586f29b --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs @@ -0,0 +1,38 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using System.IO; +using System.Net.Http; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven.Repositories; + +public class MavenRepository : IMavenRepository +{ + readonly string base_url; + readonly HttpClient client; + + public string Name { get; } + + public MavenRepository (string baseUrl, string name) + { + Name = name; + base_url = baseUrl; + + client = new HttpClient { + BaseAddress = new Uri (base_url) + }; + } + + public bool TryGetFile (Artifact artifact, string filename, [NotNullWhen (true)] out Stream? stream) + { + // ex: https://repo1.maven.org/maven2/dev/chrisbanes/snapper/snapper/0.3.0/{filename} + var file = $"{artifact.GroupId.Replace ('.', '/')}/{artifact.Id}/{artifact.Version}/{filename}"; + stream = client.GetStreamAsync (file).Result; + + return true; + } + + public static MavenRepository Google = new MavenRepository ("https://dl.google.com/android/maven2/", "google"); + + public static MavenRepository Central = new MavenRepository ("https://repo1.maven.org/maven2/", "central"); +} diff --git a/tests/Java.Interop.Tools.Maven-Tests/DependenciesTests.cs b/tests/Java.Interop.Tools.Maven-Tests/DependenciesTests.cs new file mode 100644 index 000000000..4df1b492f --- /dev/null +++ b/tests/Java.Interop.Tools.Maven-Tests/DependenciesTests.cs @@ -0,0 +1,57 @@ +using System; +using System.Linq; +using Java.Interop.Tools.Maven.Models; +using Java.Interop.Tools.Maven_Tests.Extensions; + +namespace Java.Interop.Tools.Maven_Tests; + +public class DependenciesTests +{ + [Test] + [TestCase ("dev.chrisbanes.snapper:snapper:0.3.0", "androidx.compose.foundation:foundation:1.2.1 - compile;org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21 - compile")] + [TestCase ("com.squareup.wire:wire-runtime:4.4.3", "com.squareup.okio:okio:3.0.0 - runtime;org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10 - runtime")] + [TestCase ("org.jboss:jboss-vfs:3.2.17.Final", "org.jboss.logging:jboss-logging:3.1.4.GA - compile")] + [TestCase ("com.squareup.okio:okio:1.17.4", "org.codehaus.mojo:animal-sniffer-annotations:1.10 - compile")] + [TestCase ("org.jetbrains.kotlin:kotlin-stdlib:1.6.20", "org.jetbrains:annotations:13.0 - compile;org.jetbrains.kotlin:kotlin-stdlib-common:1.6.20 - compile")] + [TestCase ("com.github.bumptech.glide:glide:4.13.2", "androidx.exifinterface:exifinterface:1.2.0 - compile;androidx.fragment:fragment:1.3.1 - compile;androidx.tracing:tracing:1.0.0 - compile;androidx.vectordrawable:vectordrawable-animated:1.0.0 - compile;com.github.bumptech.glide:annotations:4.13.2 - compile;com.github.bumptech.glide:disklrucache:4.13.2 - compile;com.github.bumptech.glide:gifdecoder:4.13.2 - compile")] + [TestCase ("io.reactivex.rxjava3:rxandroid:3.0.0", "io.reactivex.rxjava3:rxjava:3.0.0 - compile")] + [TestCase ("com.jakewharton.timber:timber:5.0.1", "org.jetbrains:annotations:20.1.0 - runtime;org.jetbrains.kotlin:kotlin-stdlib:1.5.21 - compile")] + [TestCase ("org.greenrobot:eventbus:3.3.1", "org.greenrobot:eventbus-java:3.3.1 - compile")] + [TestCase ("com.squareup.picasso:picasso:2.8", "androidx.annotation:annotation:1.0.0 - compile;androidx.exifinterface:exifinterface:1.0.0 - compile;com.squareup.okhttp3:okhttp:3.10.0 - compile")] + [TestCase ("pub.devrel:easypermissions:3.0.0", "androidx.annotation:annotation:1.1.0 - compile;androidx.appcompat:appcompat:1.1.0 - compile;androidx.core:core:1.3.0 - compile;androidx.fragment:fragment:1.2.5 - compile")] + [TestCase ("com.squareup.okio:samples:1.17.6", "com.squareup.okio:okio:1.17.6 - compile")] + [TestCase ("com.android.volley:volley:1.2.1", "")] + [TestCase ("as.leap:LAS-cloudcode-sdk:2.3.6", "com.fasterxml.jackson.core:jackson-core:2.5.3 - compile;com.fasterxml.jackson.core:jackson-databind:2.5.3 - compile")] + [TestCase ("ai.grakn:grakn-dist:1.4.1", "ai.grakn:grakn-engine:1.4.1 - compile;ai.grakn:grakn-factory:1.4.1 - compile;ai.grakn:grakn-graql-shell:1.4.1 - compile;ai.grakn:migration-csv:1.4.1 - compile;ai.grakn:migration-export:1.4.1 - compile;ai.grakn:migration-json:1.4.1 - compile;ai.grakn:migration-sql:1.4.1 - compile;ai.grakn:migration-xml:1.4.1 - compile;ch.qos.logback:logback-classic:1.2.3 - compile;ch.qos.logback:logback-core:1.2.3 - compile;io.airlift:airline:0.6 - compile;org.codehaus.janino:janino:2.7.8 - compile;org.slf4j:slf4j-api:1.7.20 - compile")] + [TestCase ("at.crea-doo.homer:shell.data:1.0.11", "at.crea-doo.homer:processing.data:1.0.11 - compile;joda-time:joda-time:2.9.9 - compile;org.apache.karaf.shell:org.apache.karaf.shell.core:4.0.9 - compile")] + [TestCase ("at.crea-doo.homer:connector.ifttt.maker:1.0.11", "at.ac.ait.hbs.homer:at.ac.ait.hbs.homer.core.common:1.2.51 - compile;com.google.code.gson:gson:2.8.1 - compile;commons-codec:commons-codec:1.10 - compile;commons-logging:commons-logging:1.2 - compile;org.apache.httpcomponents:httpclient:4.5.3 - compile;org.apache.httpcomponents:httpcore:4.4.6 - compile")] + [TestCase ("at.reilaender.asciidoctorj.bootconfig2adoc:bootconfig2adoc-adoc:0.1.3", "at.reilaender.asciidoctorj.bootconfig2adoc:bootconfig2adoc-core:0.1.3 - compile")] + [TestCase ("at.researchstudio.sat:won-bot:0.9", "at.researchstudio.sat:won-core:0.9 - compile;at.researchstudio.sat:won-cryptography:0.9 - compile;at.researchstudio.sat:won-matcher:0.9 - compile;at.researchstudio.sat:won-owner:0.9 - compile;at.researchstudio.sat:won-sockets-tx:0.9 - compile;at.researchstudio.sat:won-utils-conversation:0.9 - compile;at.researchstudio.sat:won-utils-goals:0.9 - compile;ch.qos.logback:logback-classic:1.0.13 - compile;ch.qos.logback:logback-core:1.0.13 - compile;commons-io:commons-io:2.4 - compile;org.apache.commons:commons-email:1.3.1 - compile;org.apache.commons:commons-lang3:3.4 - compile;org.apache.httpcomponents:httpclient:4.5 - compile;org.apache.jena:jena-arq:3.5.0 - compile;org.apache.jena:jena-core:3.5.0 - compile;org.aspectj:aspectjweaver:1.5.4 - compile;org.bouncycastle:bcpkix-jdk15on:1.64 - compile;org.bouncycastle:bcprov-jdk15on:1.64 - compile;org.javasimon:javasimon-core:3.4.0 - compile;org.javasimon:javasimon-spring:3.4.0 - compile;org.jsoup:jsoup:1.7.3 - compile;org.quartz-scheduler:quartz:2.2.1 - compile;org.slf4j:slf4j-api:1.6.6 - compile;org.springframework:spring-core:4.3.18.RELEASE - compile;org.springframework.boot:spring-boot:1.5.17.RELEASE - compile;org.springframework.data:spring-data-commons:1.13.16.RELEASE - compile;org.springframework.data:spring-data-mongodb:1.10.3.RELEASE - compile")] + [TestCase ("au.csiro:elk-distribution-owlapi4:0.5.0", "au.csiro:elk-owlapi4:0.5.0 - compile;org.liveontologies:owlapi-proof:0.1.0 - compile;org.liveontologies:puli:0.1.0 - compile")] + [TestCase ("au.csiro:elk-distribution-owlapi5:0.5.0", "au.csiro:elk-distribution-owlapi4:0.5.0 - compile;au.csiro:elk-distribution-owlapi4:0.5.0 - compile;au.csiro:elk-owlapi5:0.5.0 - compile;org.liveontologies:owlapi-proof:0.1.0 - compile;org.liveontologies:puli:0.1.0 - compile")] + [TestCase ("au.gov.amsa.risky:ais:0.6.17", "au.gov.amsa.risky:formats:0.6.17 - compile;au.gov.amsa.risky:formats:0.6.17 - compile;au.gov.amsa.risky:streams:0.6.17 - compile;com.github.davidmoten:rxjava-extras:0.8.0.20 - compile;com.github.davidmoten:rxjava-slf4j:0.7.0 - compile;com.google.guava:guava:32.1.3-jre - compile;io.reactivex:rxjava-string:1.1.1 - compile;io.reactivex:rxjava:1.3.8 - compile;org.slf4j:slf4j-api:2.0.9 - compile")] + [TestCase ("am.ik.springmvc:new-controller:0.2.0", "me.geso:routes:0.6.0 - compile;org.slf4j:slf4j-api:1.7.8 - compile;org.springframework:spring-webmvc:4.1.4.RELEASE - compile")] + [TestCase ("me.drakeet.multitype:multitype:3.5.0", "androidx.annotation:annotation:1.0.0 - compile;androidx.recyclerview:recyclerview:1.0.0 - compile")] + [TestCase ("com.facebook.fresco:fresco:2.6.0", "com.facebook.fresco:drawee:2.6.0 - compile;com.facebook.fresco:fbcore:2.6.0 - compile;com.facebook.fresco:imagepipeline-native:2.6.0 - compile;com.facebook.fresco:imagepipeline:2.6.0 - compile;com.facebook.fresco:memory-type-ashmem:2.6.0 - compile;com.facebook.fresco:memory-type-java:2.6.0 - compile;com.facebook.fresco:memory-type-native:2.6.0 - compile;com.facebook.fresco:nativeimagefilters:2.6.0 - compile;com.facebook.fresco:nativeimagetranscoder:2.6.0 - compile;com.facebook.fresco:soloader:2.6.0 - runtime;com.facebook.fresco:ui-common:2.6.0 - runtime;com.facebook.soloader:nativeloader:0.10.1 - runtime")] + [TestCase ("com.tencent.mm.opensdk:wechat-sdk-android-without-mta:6.8.0", "")] + [TestCase ("com.facebook.android:facebook-android-sdk:14.1.1", "com.facebook.android:facebook-applinks:14.1.1 - compile;com.facebook.android:facebook-common:14.1.1 - compile;com.facebook.android:facebook-core:14.1.1 - compile;com.facebook.android:facebook-gamingservices:14.1.1 - compile;com.facebook.android:facebook-login:14.1.1 - compile;com.facebook.android:facebook-messenger:14.1.1 - compile;com.facebook.android:facebook-share:14.1.1 - compile;org.jetbrains.kotlin:kotlin-stdlib:1.5.10 - compile")] + [TestCase ("com.airbnb.android:lottie:5.2.0", "androidx.appcompat:appcompat:1.3.1 - runtime;com.squareup.okio:okio:1.17.4 - runtime")] + public void TestMavenCentralResolvedDependencies (string artifact, string expected) + => TestResolvedDependencies (MavenPomResolver.Central, artifact, expected); + + void TestResolvedDependencies (MavenPomResolver resolver, string artifact, string expected) + { + var art = Artifact.Parse (artifact); + var project = ResolvedProject.FromArtifact (art, resolver); + var dependencies = project.Dependencies.Where (d => d.Scope == "compile" || d.Scope == "runtime").OrderBy (d => d.ToString ()).ToList (); + + if (dependencies.FirstOrDefault (d => string.IsNullOrEmpty (d.Version)) is ResolvedDependency rd) + throw new Exception ($"Missing version - {rd}"); + + if (dependencies.FirstOrDefault (d => d.Version.Contains ('$')) is ResolvedDependency rd2) + throw new Exception ("Unresolved variable in version"); + + Console.WriteLine (string.Join (';', dependencies)); + Assert.AreEqual (expected, string.Join (';', dependencies)); + } +} diff --git a/tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenPomResolver.cs b/tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenPomResolver.cs new file mode 100644 index 000000000..417e0d021 --- /dev/null +++ b/tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenPomResolver.cs @@ -0,0 +1,40 @@ +using System; +using System.IO; +using Java.Interop.Tools.Maven; +using Java.Interop.Tools.Maven.Models; +using Java.Interop.Tools.Maven.Repositories; + +namespace Java.Interop.Tools.Maven_Tests.Extensions; + +class MavenPomResolver : IPomResolver +{ + readonly IMavenRepository repository; + + public MavenPomResolver (IMavenRepository repository) + { + this.repository = repository; + } + + static MavenPomResolver () + { + var cache_path = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData), "dotnet-android", "MavenCacheDirectory"); + + Central = new MavenPomResolver (new CachedMavenRepository (cache_path, MavenRepository.Central)); + Google = new MavenPomResolver (new CachedMavenRepository (cache_path, MavenRepository.Google)); + } + + public Project ResolveRawProject (Artifact artifact) + { + if (repository.TryGetFile (artifact, $"{artifact.Id}-{artifact.Version}.pom", out var stream)) { + using (stream) { + return Project.Parse (stream) ?? throw new InvalidOperationException ($"Could not deserialize POM for {artifact}"); + } + } + + throw new InvalidOperationException ($"No POM found for {artifact}"); + } + + public static MavenPomResolver Google { get; } + + public static MavenPomResolver Central { get; } +} diff --git a/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs b/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs new file mode 100644 index 000000000..7ffcb8d61 --- /dev/null +++ b/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs @@ -0,0 +1,33 @@ +using System.Xml.Linq; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven_Tests.Extensions; + +static class TestDataExtensions +{ + public static Project CreateProject (Artifact artifact, Project? parent = null) + { + var p = new Project { + GroupId = artifact.GroupId, + ArtifactId = artifact.Id, + Version = artifact.Version, + }; + + if (parent is not null) + p.Parent = new Parent { + GroupId = parent.GroupId, + ArtifactId = parent.ArtifactId, + Version = parent.Version, + }; + + return p; + } + + public static void AddProperty (this Project project, string key, string value) + { + var xml = new XElement (key, value); + + project.Properties ??= new ModelProperties (); + project.Properties.Any.Add (xml); + } +} diff --git a/tests/Java.Interop.Tools.Maven-Tests/Java.Interop.Tools.Maven-Tests.csproj b/tests/Java.Interop.Tools.Maven-Tests/Java.Interop.Tools.Maven-Tests.csproj new file mode 100644 index 000000000..3856610c0 --- /dev/null +++ b/tests/Java.Interop.Tools.Maven-Tests/Java.Interop.Tools.Maven-Tests.csproj @@ -0,0 +1,31 @@ + + + + $(DotNetTargetFramework) + enable + false + true + + + + + + $(TestOutputFullPath) + + + + + + + + + + + + + + + + + + diff --git a/tests/Java.Interop.Tools.Maven-Tests/PomResolverTests.cs b/tests/Java.Interop.Tools.Maven-Tests/PomResolverTests.cs new file mode 100644 index 000000000..6605e2b7b --- /dev/null +++ b/tests/Java.Interop.Tools.Maven-Tests/PomResolverTests.cs @@ -0,0 +1,76 @@ +using System; +using Java.Interop.Tools.Maven; +using Java.Interop.Tools.Maven.Models; +using Java.Interop.Tools.Maven_Tests.Extensions; + +namespace Java.Interop.Tools.Maven_Tests; + +public class PomResolverTests +{ + [Test] + public void ResolveRawProject_Success () + { + var artifact = new Artifact ("bar", "foo", "1.0"); + var project = TestDataExtensions.CreateProject (artifact); + var resolver = new DefaultPomResolver (); + + resolver.Register (project); + + var result = resolver.ResolveRawProject (artifact); + + Assert.AreEqual (project, result); + } + + [Test] + public void ResolveRawProject_PomNotFound () + { + var resolver = new DefaultPomResolver (); + + Assert.Throws (() => resolver.ResolveRawProject (new Artifact ("bar", "foo", "1.0"))); + } + + [Test] + public void Resolve_Success () + { + var artifact = new Artifact ("bar", "foo", "1.0"); + var parent_artifact = new Artifact ("bar-parent", "foo", "1.0"); + + var parent_project = TestDataExtensions.CreateProject (parent_artifact); + var project = TestDataExtensions.CreateProject (artifact, parent_project); + + var resolver = new DefaultPomResolver (); + + resolver.Register (project); + resolver.Register (parent_project); + + var result = ResolvedProject.FromArtifact (artifact, resolver); + + Assert.AreEqual (project, result.Raw); + Assert.AreEqual (parent_project, result.Parent.Raw); + } + + [Test] + public void Resolve_ParentPomNotFound () + { + var artifact = new Artifact ("bar", "foo", "1.0"); + var parent_artifact = new Artifact ("bar-parent", "foo", "1.0"); + + var parent_project = TestDataExtensions.CreateProject (parent_artifact); + var project = TestDataExtensions.CreateProject (artifact, parent_project); + + var resolver = new DefaultPomResolver (); + + // Note we are not adding the parent project to the resolver, so it will not be found + resolver.Register (project); + + Assert.Throws (() => ResolvedProject.FromArtifact (artifact, resolver)); + } + + [Test] + public void Resolve_PomNotFound () + { + var resolver = new DefaultPomResolver (); + + Assert.Throws (() => resolver.ResolveRawProject (new Artifact ("bar", "foo", "1.0"))); + } +} diff --git a/tests/Java.Interop.Tools.Maven-Tests/PropertySubstitutionTests.cs b/tests/Java.Interop.Tools.Maven-Tests/PropertySubstitutionTests.cs new file mode 100644 index 000000000..3dbb8fa48 --- /dev/null +++ b/tests/Java.Interop.Tools.Maven-Tests/PropertySubstitutionTests.cs @@ -0,0 +1,161 @@ +using Java.Interop.Tools.Maven; +using Java.Interop.Tools.Maven.Models; +using Java.Interop.Tools.Maven_Tests.Extensions; + +namespace Java.Interop.Tools.Maven_Tests; + +public class PropertySubstitutionTests +{ + [Test] + public void Resolve_ExplicitProperty () + { + // This POM: + // ${mavenVersion} + // + // 3.0 + // + var artifact = new Artifact ("bar", "foo", "${mavenVersion}"); + + var project = TestDataExtensions.CreateProject (artifact); + project.AddProperty ("mavenVersion", "2.0.6"); + + var resolver = new DefaultPomResolver (); + resolver.Register (project); + + var result = ResolvedProject.FromArtifact (artifact, resolver); + + Assert.AreEqual ("2.0.6", result.Version); + } + + [Test] + public void Resolve_ExplicitPropertyFromParent () + { + // This POM: + // ${mavenVersion} + // Parent POM: + // + // 3.0 + // + var artifact = new Artifact ("bar", "foo", "${mavenVersion}"); + var parent_artifact = new Artifact ("bar-parent", "foo", "1.0"); + + var parent_project = TestDataExtensions.CreateProject (parent_artifact); + var project = TestDataExtensions.CreateProject (artifact, parent_project); + + parent_project.AddProperty ("mavenVersion", "2.0.6"); + + var resolver = new DefaultPomResolver (); + resolver.Register (parent_project); + resolver.Register (project); + + var result = ResolvedProject.FromArtifact (artifact, resolver); + + Assert.AreEqual ("2.0.6", result.Version); + } + + [Test] + public void Resolve_ProjectProperty () + { + // This POM: + // bar + // foo + // 2.0 + // ${project.groupId}:${project.artifactId}:${project.version} + var artifact = new Artifact ("bar", "foo", "2.0"); + + var project = TestDataExtensions.CreateProject (artifact); + project.Name = "${project.groupId}:${project.artifactId}:${project.version}"; + + var resolver = new DefaultPomResolver (); + resolver.Register (project); + + var result = ResolvedProject.FromArtifact (artifact, resolver); + + Assert.AreEqual ("bar:foo:2.0", result.Name); + } + + [Test] + public void Resolve_ProjectPropertyFromParent () + { + // This POM: + // bar + // foo + // ${project.groupId}:${project.artifactId}:${project.version} + // Parent POM: + // 2.0 + var artifact = new Artifact ("bar", "foo", ""); + var parent_artifact = new Artifact ("bar-parent", "foo", "2.0"); + + var parent_project = TestDataExtensions.CreateProject (parent_artifact); + var project = TestDataExtensions.CreateProject (artifact, parent_project); + + project.Name = "${project.groupId}:${project.artifactId}:${project.version}"; + + var resolver = new DefaultPomResolver (); + resolver.Register (parent_project); + resolver.Register (project); + + var result = ResolvedProject.FromArtifact (artifact, resolver); + + Assert.AreEqual ("bar:foo:2.0", result.Name); + } + + [Test] + public void Resolve_RecursiveProperties () + { + // This POM: + // bar + // foo + // ${mavenVersion} + // Parent POM: + // 2.0 + // + // ${project.version} + // + var artifact = new Artifact ("bar", "foo", "${mavenVersion}"); + var parent_artifact = new Artifact ("bar-parent", "foo", "2.0"); + + var parent_project = TestDataExtensions.CreateProject (parent_artifact); + var project = TestDataExtensions.CreateProject (artifact, parent_project); + + parent_project.AddProperty ("mavenVersion", "${project.version}"); + + var resolver = new DefaultPomResolver (); + resolver.Register (parent_project); + resolver.Register (project); + + var result = ResolvedProject.FromArtifact (artifact, resolver); + + Assert.AreEqual ("2.0", result.Version); + } + + [Test] + public void Resolve_ChildPropertiesTakePrecedenceOverParentProperties () + { + // This POM: + // + // 2.0 + // + // Parent POM: + // ${mavenVersion} + // + // 1.0 + // + var artifact = new Artifact ("bar", "foo", ""); + var parent_artifact = new Artifact ("bar-parent", "foo", "${mavenVersion}"); + + var parent_project = TestDataExtensions.CreateProject (parent_artifact); + var project = TestDataExtensions.CreateProject (artifact, parent_project); + + project.AddProperty ("mavenVersion", "2.0"); + parent_project.AddProperty ("mavenVersion", "1.0"); + + var resolver = new DefaultPomResolver (); + resolver.Register (parent_project); + resolver.Register (project); + + var result = ResolvedProject.FromArtifact (artifact, resolver); + + Assert.AreEqual ("2.0", result.Version); + } +} From 624f8a5b2305e650c7dea9fa57bef407139e1fad Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Thu, 8 Feb 2024 10:07:47 -1000 Subject: [PATCH 2/7] Remove obsolete file. --- .../Repositories/InMemoryMavenRepository.cs | 35 ------------------- 1 file changed, 35 deletions(-) delete mode 100644 src/Java.Interop.Tools.Maven/Repositories/InMemoryMavenRepository.cs diff --git a/src/Java.Interop.Tools.Maven/Repositories/InMemoryMavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/InMemoryMavenRepository.cs deleted file mode 100644 index b538ff661..000000000 --- a/src/Java.Interop.Tools.Maven/Repositories/InMemoryMavenRepository.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Collections.Generic; -using System.Diagnostics.CodeAnalysis; -using System.IO; -using System.Threading.Tasks; -using Java.Interop.Tools.Maven.Models; - -namespace Java.Interop.Tools.Maven.Repositories; - -public class InMemoryMavenRepository : IMavenRepository -{ - readonly Dictionary cache = new (); - - public string Name => "InMemory"; - - public async Task AddFile (Artifact artifact, string filename, Stream stream) - { - var bytes = new byte [stream.Length]; - - await stream.ReadAsync (bytes, 0, bytes.Length); - - cache.Add ($"{artifact}/{filename}", bytes); - } - - public bool TryGetFile (Artifact artifact, string filename, [NotNullWhen (true)] out Stream? stream) - { - stream = null; - - if (cache.TryGetValue ($"{artifact}/{filename}", out var bytes)) { - stream = new MemoryStream (bytes); - return true; - } - - return false; - } -} From 726b72ca42b0aaf66d4eb68abca016c1f65aaab1 Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Wed, 14 Feb 2024 13:37:32 -1000 Subject: [PATCH 3/7] Address review feedback. --- .../Extensions/PropertyStack.cs | 3 ++ .../Models/Project.cs | 3 +- .../Repositories/CachedMavenRepository.cs | 17 +++++------ .../Repositories/IMavenRepository.cs | 3 +- .../Repositories/MavenRepository.cs | 18 +++++------ .../Extensions/TestDataExtensions.cs | 30 +++++++++++-------- 6 files changed, 42 insertions(+), 32 deletions(-) diff --git a/src/Java.Interop.Tools.Maven/Extensions/PropertyStack.cs b/src/Java.Interop.Tools.Maven/Extensions/PropertyStack.cs index 41ab67a43..b5f9b1413 100644 --- a/src/Java.Interop.Tools.Maven/Extensions/PropertyStack.cs +++ b/src/Java.Interop.Tools.Maven/Extensions/PropertyStack.cs @@ -32,6 +32,9 @@ public void Pop () public string Apply (string value) { + if (stack.Count == 0 || !value.Contains ("${")) + return value; + foreach (var property_set in stack) { foreach (var prop in property_set) value = value.Replace ($"${{{prop.Key}}}", prop.Value); diff --git a/src/Java.Interop.Tools.Maven/Models/Project.cs b/src/Java.Interop.Tools.Maven/Models/Project.cs index 78ab6a565..f76cae7ce 100644 --- a/src/Java.Interop.Tools.Maven/Models/Project.cs +++ b/src/Java.Interop.Tools.Maven/Models/Project.cs @@ -10,6 +10,7 @@ // https://github.com/mganss/XmlSchemaClassGenerator // This code was generated by XmlSchemaClassGenerator version 2.1.1057.0 using the following command: // xscgen maven-4.0.0.xsd --nullable --nc --nr +// Schema from: https://maven.apache.org/xsd/maven-4.0.0.xsd namespace Java.Interop.Tools.Maven.Models { @@ -226,7 +227,7 @@ public bool LicensesSpecified /// /// Initializes a new instance of the class. /// - public Project() + internal Project() { this._licenses = new System.Collections.ObjectModel.Collection(); this._developers = new System.Collections.ObjectModel.Collection(); diff --git a/src/Java.Interop.Tools.Maven/Repositories/CachedMavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/CachedMavenRepository.cs index 3eed51016..65552af47 100644 --- a/src/Java.Interop.Tools.Maven/Repositories/CachedMavenRepository.cs +++ b/src/Java.Interop.Tools.Maven/Repositories/CachedMavenRepository.cs @@ -47,13 +47,12 @@ public bool TryGetFilePath (Artifact artifact, string filename, [NotNullWhen (tr return true; } - Directory.CreateDirectory (directory); - if (repository.TryGetFile (artifact, filename, out var repo_stream)) { - using (var sw = File.Create (file)) - repo_stream!.CopyTo (sw); + Directory.CreateDirectory (directory); - using (repo_stream) { } + using (var sw = File.Create (file)) + using (repo_stream) + repo_stream.CopyTo (sw); path = file; return true; @@ -70,13 +69,13 @@ public bool TryGetFilePath (Artifact artifact, string filename, [NotNullWhen (tr if (File.Exists (file)) return file; - Directory.CreateDirectory (directory); - if (repository.TryGetFile (artifact, filename, out var repo_stream)) { + Directory.CreateDirectory (directory); + using (var sw = File.Create (file)) - await repo_stream!.CopyToAsync (sw, 81920, cancellationToken); + using (repo_stream) + await repo_stream.CopyToAsync (sw, 81920, cancellationToken); - using (repo_stream) { } return file; } diff --git a/src/Java.Interop.Tools.Maven/Repositories/IMavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/IMavenRepository.cs index b801ad993..d09ba0ac3 100644 --- a/src/Java.Interop.Tools.Maven/Repositories/IMavenRepository.cs +++ b/src/Java.Interop.Tools.Maven/Repositories/IMavenRepository.cs @@ -6,7 +6,8 @@ namespace Java.Interop.Tools.Maven.Repositories; public interface IMavenRepository { - // This name is used for on-disk caching purposes, and thus must be compatible with file system naming rules. + // The on-disk cache for this repository will be in a sub-directory with this name, and thus must be + // compatible with file system naming rules. For example, "central" or "google". string Name { get; } bool TryGetFile (Artifact artifact, string filename, [NotNullWhen (true)] out Stream? stream); } diff --git a/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs index 48586f29b..1697ac103 100644 --- a/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs +++ b/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs @@ -1,4 +1,3 @@ -using System; using System.Diagnostics.CodeAnalysis; using System.IO; using System.Net.Http; @@ -9,30 +8,31 @@ namespace Java.Interop.Tools.Maven.Repositories; public class MavenRepository : IMavenRepository { readonly string base_url; - readonly HttpClient client; + static readonly HttpClient client; public string Name { get; } public MavenRepository (string baseUrl, string name) { Name = name; - base_url = baseUrl; + base_url = baseUrl.TrimEnd ('/'); + } - client = new HttpClient { - BaseAddress = new Uri (base_url) - }; + static MavenRepository () + { + client = new HttpClient (); } public bool TryGetFile (Artifact artifact, string filename, [NotNullWhen (true)] out Stream? stream) { // ex: https://repo1.maven.org/maven2/dev/chrisbanes/snapper/snapper/0.3.0/{filename} - var file = $"{artifact.GroupId.Replace ('.', '/')}/{artifact.Id}/{artifact.Version}/{filename}"; + var file = $"{base_url}/{artifact.GroupId.Replace ('.', '/')}/{artifact.Id}/{artifact.Version}/{filename}"; stream = client.GetStreamAsync (file).Result; return true; } - public static MavenRepository Google = new MavenRepository ("https://dl.google.com/android/maven2/", "google"); + public static readonly MavenRepository Google = new MavenRepository ("https://dl.google.com/android/maven2/", "google"); - public static MavenRepository Central = new MavenRepository ("https://repo1.maven.org/maven2/", "central"); + public static readonly MavenRepository Central = new MavenRepository ("https://repo1.maven.org/maven2/", "central"); } diff --git a/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs b/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs index 7ffcb8d61..dd462cb08 100644 --- a/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs +++ b/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs @@ -7,20 +7,26 @@ static class TestDataExtensions { public static Project CreateProject (Artifact artifact, Project? parent = null) { - var p = new Project { - GroupId = artifact.GroupId, - ArtifactId = artifact.Id, - Version = artifact.Version, - }; + var xml = new XDocument ( + new XElement ("project", + new XElement ("modelVersion", "4.0.0"), + new XElement ("groupId", artifact.GroupId), + new XElement ("artifactId", artifact.Id), + new XElement ("version", artifact.Version) + ) + ); - if (parent is not null) - p.Parent = new Parent { - GroupId = parent.GroupId, - ArtifactId = parent.ArtifactId, - Version = parent.Version, - }; + if (parent is not null) { + var parent_xml = new XElement ("parent", + new XElement ("groupId", parent.GroupId), + new XElement ("artifactId", parent.ArtifactId), + new XElement ("version", parent.Version) + ); - return p; + xml.Root!.Add (parent_xml); + } + + return Project.ParseXml (xml.ToString ()); } public static void AddProperty (this Project project, string key, string value) From dd7d7208c4050b2d24af198214a8d3e6b17ea4b2 Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Thu, 15 Feb 2024 10:23:37 -1000 Subject: [PATCH 4/7] Move MavenVersion and MavenVersionRange from XABT. --- .../Extensions/MavenNetExtensions.cs | 4 - .../Extensions/StringExtensions.cs | 84 +++++++++++ .../Models/MavenVersion.cs | 140 ++++++++++++++++++ .../Models/MavenVersionRange.cs | 127 ++++++++++++++++ .../MavenVersionRangeTests.cs | 61 ++++++++ .../MavenVersionTests.cs | 72 +++++++++ 6 files changed, 484 insertions(+), 4 deletions(-) create mode 100644 src/Java.Interop.Tools.Maven/Extensions/StringExtensions.cs create mode 100644 src/Java.Interop.Tools.Maven/Models/MavenVersion.cs create mode 100644 src/Java.Interop.Tools.Maven/Models/MavenVersionRange.cs create mode 100644 tests/Java.Interop.Tools.Maven-Tests/MavenVersionRangeTests.cs create mode 100644 tests/Java.Interop.Tools.Maven-Tests/MavenVersionTests.cs diff --git a/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs b/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs index 2546ea676..386a97974 100644 --- a/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs +++ b/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs @@ -7,10 +7,6 @@ namespace Java.Interop.Tools.Maven.Extensions; static class MavenNetExtensions { - public static bool HasValue ([NotNullWhen (true)] this string? str) => !string.IsNullOrEmpty (str); - - public static string OrEmpty (this string? str) => str ?? string.Empty; - public static string GetInheritedProperty (this ResolvedDependency dependency, ResolvedProject project, Func property) { // Check our section diff --git a/src/Java.Interop.Tools.Maven/Extensions/StringExtensions.cs b/src/Java.Interop.Tools.Maven/Extensions/StringExtensions.cs new file mode 100644 index 000000000..7c75975a7 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Extensions/StringExtensions.cs @@ -0,0 +1,84 @@ +using System.Diagnostics.CodeAnalysis; + +namespace Java.Interop.Tools.Maven.Extensions; + +static class StringExtensions +{ + /// + /// Shortcut for !string.IsNullOrWhiteSpace (s) + /// + public static bool HasValue ([NotNullWhen (true)] this string? s) => !string.IsNullOrWhiteSpace (s); + + /// + /// Shortcut for s ?? string.Empty + /// + public static string OrEmpty (this string? str) => str ?? string.Empty; + + /// + /// Removes the first subset of a delimited string. ("127.0.0.1" -> "0.0.1") + /// + [return: NotNullIfNotNull (nameof (s))] + public static string? ChompFirst (this string? s, char separator) + { + if (!s.HasValue ()) + return s; + + var index = s.IndexOf (separator); + + if (index < 0) + return string.Empty; + + return s.Substring (index + 1); + } + + /// + /// Removes the final subset of a delimited string. ("127.0.0.1" -> "127.0.0") + /// + [return: NotNullIfNotNull (nameof (s))] + public static string? ChompLast (this string? s, char separator) + { + if (!s.HasValue ()) + return s; + + var index = s.LastIndexOf (separator); + + if (index < 0) + return string.Empty; + + return s.Substring (0, index); + } + + /// + /// Returns the first subset of a delimited string. ("127.0.0.1" -> "127") + /// + [return: NotNullIfNotNull (nameof (s))] + public static string? FirstSubset (this string? s, char separator) + { + if (!s.HasValue ()) + return s; + + var index = s.IndexOf (separator); + + if (index < 0) + return s; + + return s.Substring (0, index); + } + + /// + /// Returns the final subset of a delimited string. ("127.0.0.1" -> "1") + /// + [return: NotNullIfNotNull (nameof (s))] + public static string? LastSubset (this string? s, char separator) + { + if (!s.HasValue ()) + return s; + + var index = s.LastIndexOf (separator); + + if (index < 0) + return s; + + return s.Substring (index + 1); + } +} diff --git a/src/Java.Interop.Tools.Maven/Models/MavenVersion.cs b/src/Java.Interop.Tools.Maven/Models/MavenVersion.cs new file mode 100644 index 000000000..ffeb12911 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Models/MavenVersion.cs @@ -0,0 +1,140 @@ +using System; +using Java.Interop.Tools.Maven.Extensions; + +namespace Java.Interop.Tools.Maven.Models; + +// https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm#MAVEN8855 +public class MavenVersion : IComparable, IComparable, IEquatable +{ + public string? Major { get; private set; } + public string? Minor { get; private set; } + public string? Patch { get; private set; } + public string RawVersion { get; private set; } + public bool IsValid { get; private set; } = true; + + MavenVersion (string rawVersion) => RawVersion = rawVersion; + + public static MavenVersion Parse (string version) + { + var mv = new MavenVersion (version); + + if (!version.HasValue ()) { + mv.IsValid = false; + return mv; + } + + // We're going to parse through this assuming it's a valid Maven version + mv.Major = version.FirstSubset ('.'); + version = version.ChompFirst ('.'); + + if (!TryParsePart (mv.Major, out var _, out var _)) + mv.IsValid = false; + + if (!version.HasValue ()) + return mv; + + mv.Minor = version.FirstSubset ('.'); + version = version.ChompFirst ('.'); + + if (!TryParsePart (mv.Minor, out var _, out var _)) + mv.IsValid = false; + + if (!version.HasValue ()) + return mv; + + mv.Patch = version.FirstSubset ('.'); + version = version.ChompFirst ('.'); + + if (!TryParsePart (mv.Patch, out var _, out var _)) + mv.IsValid = false; + + if (!version.HasValue ()) + return mv; + + // If there's something left, this is a nonstandard Maven version and all bets are off + mv.IsValid = false; + + return mv; + } + + public int CompareTo (object obj) + { + return CompareTo (obj as MavenVersion); + } + + public int CompareTo (MavenVersion? other) + { + if (other is null) + return 1; + + // If either instance is nonstandard, Maven does a simple string compare + if (!IsValid || !other.IsValid) + return string.Compare (RawVersion, other.RawVersion); + + var major_compare = ComparePart (Major ?? "0", other.Major ?? "0"); + + if (major_compare != 0) + return major_compare; + + var minor_compare = ComparePart (Minor ?? "0", other.Minor ?? "0"); + + if (minor_compare != 0) + return minor_compare; + + return ComparePart (Patch ?? "0", other.Patch ?? "0"); + } + + public bool Equals (MavenVersion other) + { + return CompareTo (other) == 0; + } + + int ComparePart (string a, string b) + { + // Check if they're the same string + if (a == b) + return 0; + + // Don't need to check the return because this shouldn't be called if IsValid = false + TryParsePart (a, out var a_version, out var a_qualifier); + TryParsePart (b, out var b_version, out var b_qualifier); + + // If neither have a qualifier, treat them like numbers + if (a_qualifier is null && b_qualifier is null) + return a_version.CompareTo (b_version); + + // If the numeric versions are different, just use those + if (a_version != b_version) + return a_version.CompareTo (b_version); + + // Identical versions with different qualifier fields are compared by using basic string comparison. + if (a_qualifier is not null && b_qualifier is not null) + return a_qualifier.CompareTo (b_qualifier); + + // All versions with a qualifier are older than the same version without a qualifier (release version). + if (a_qualifier is not null) + return -1; + + return 1; + } + + static bool TryParsePart (string part, out int version, out string? qualifier) + { + // These can look like: + // 1 + // 1-anything + var version_string = part.FirstSubset ('-'); + qualifier = null; + + // The first piece must be a number + if (!int.TryParse (version_string, out version)) + return false; + + part = part.ChompFirst ('-'); + + if (part.HasValue ()) + qualifier = part; + + return true; + } +} diff --git a/src/Java.Interop.Tools.Maven/Models/MavenVersionRange.cs b/src/Java.Interop.Tools.Maven/Models/MavenVersionRange.cs new file mode 100644 index 000000000..083ee8357 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Models/MavenVersionRange.cs @@ -0,0 +1,127 @@ +using System.Collections.Generic; +using Java.Interop.Tools.Maven.Extensions; + +namespace Java.Interop.Tools.Maven.Models; + +public class MavenVersionRange +{ + public string? MinVersion { get; private set; } + public string? MaxVersion { get; private set; } + public bool IsMinInclusive { get; private set; } = true; + public bool IsMaxInclusive { get; private set; } + public bool HasLowerBound { get; private set; } + public bool HasUpperBound { get; private set; } + + // Adapted from https://github.com/Redth/MavenNet/blob/master/MavenNet/MavenVersionRange.cs + // Original version uses NuGetVersion, which doesn't cover all "valid" Maven version cases + public static IEnumerable Parse (string range) + { + if (!range.HasValue ()) + yield break; + + // Do a pass over the range string to parse out version groups + // eg: (1.0],(1.1,] + var in_group = false; + var current_group = string.Empty; + + foreach (var c in range) { + if (c == '(' || c == '[') { + current_group += c; + in_group = true; + } else if (c == ')' || c == ']' || (!in_group && c == ',')) { + // Don't add the , separating groups + if (in_group) + current_group += c; + + in_group = false; + + if (current_group.HasValue ()) + yield return ParseSingle (current_group); + + current_group = string.Empty; + } else { + current_group += c; + } + } + + if (!string.IsNullOrEmpty (current_group)) + yield return ParseSingle (current_group); + } + + static MavenVersionRange ParseSingle (string range) + { + var mv = new MavenVersionRange (); + + // Check for opening ( or [ + if (range [0] == '(') { + mv.IsMinInclusive = false; + range = range.Substring (1); + } else if (range [0] == '[') { + range = range.Substring (1); + } + + var last = range.Length - 1; + + // Check for closing ) or ] + if (range [last] == ')') { + mv.IsMaxInclusive = false; + range = range.Substring (0, last); + } else if (range [last] == ']') { + mv.IsMaxInclusive = true; + range = range.Substring (0, last); + } + + // Look for a single value + if (!range.Contains (",")) { + mv.MinVersion = range; + mv.HasLowerBound = true; + + // Special case [1.0] + if (mv.IsMinInclusive && mv.IsMaxInclusive) { + mv.MaxVersion = range; + mv.HasUpperBound = true; + } + + return mv; + } + + // Split the 2 values (note either can be empty) + var lower = range.FirstSubset (',').Trim (); + var upper = range.LastSubset (',').Trim (); + + if (lower.HasValue ()) { + mv.MinVersion = lower; + mv.HasLowerBound = true; + } + + if (upper.HasValue ()) { + mv.MaxVersion = upper; + mv.HasUpperBound = true; + } + + return mv; + } + + public bool ContainsVersion (MavenVersion version) + { + if (HasLowerBound) { + var min_version = MavenVersion.Parse (MinVersion!); + + if (IsMinInclusive && version.CompareTo (min_version) < 0) + return false; + else if (!IsMinInclusive && version.CompareTo (min_version) <= 0) + return false; + } + + if (HasUpperBound) { + var max_version = MavenVersion.Parse (MaxVersion!); + + if (IsMaxInclusive && version.CompareTo (max_version) > 0) + return false; + else if (!IsMaxInclusive && version.CompareTo (max_version) >= 0) + return false; + } + + return true; + } +} diff --git a/tests/Java.Interop.Tools.Maven-Tests/MavenVersionRangeTests.cs b/tests/Java.Interop.Tools.Maven-Tests/MavenVersionRangeTests.cs new file mode 100644 index 000000000..02575bb7f --- /dev/null +++ b/tests/Java.Interop.Tools.Maven-Tests/MavenVersionRangeTests.cs @@ -0,0 +1,61 @@ +using System.Linq; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven_Tests; + +public class MavenVersionRangeTests +{ + [Test] + public void ParseTest () + { + TestSingleRange ("1.0", "1.0", null, true, false, true, false); + TestSingleRange ("(,1.0]", null, "1.0", false, true, false, true); + TestSingleRange ("[1.0]", "1.0", "1.0", true, true, true, true); + TestSingleRange ("[1.2,1.3]", "1.2", "1.3", true, true, true, true); + TestSingleRange ("[1.0,2.0)", "1.0", "2.0", true, true, true, false); + TestSingleRange ("[1.5,)", "1.5", null, true, false, true, false); + + var multi_range_1 = MavenVersionRange.Parse ("(,1.0],[1.2,)").ToArray (); + TestSingleRange (multi_range_1 [0], null, "1.0", false, true, false, true); + TestSingleRange (multi_range_1 [1], "1.2", null, true, false, true, false); + + var multi_range_2 = MavenVersionRange.Parse ("(,1.1),(1.1,)").ToArray (); + TestSingleRange (multi_range_2 [0], null, "1.1", false, true, false, false); + TestSingleRange (multi_range_2 [1], "1.1", null, true, false, false, false); + } + + [Test] + public void ContainsVersionTest () + { + TestContainsVersion ("1.0", false, true, true, true, true); + TestContainsVersion ("(,1.0]", true, true, false, false, false); + TestContainsVersion ("[1.0]", false, true, false, false, false); + TestContainsVersion ("[1.0,2.0]", false, true, true, true, false); + TestContainsVersion ("(1.0,2.0)", false, false, true, false, false); + TestContainsVersion ("[1.5,)", false, false, true, true, true); + } + + static void TestSingleRange (string value, string? minVersion, string? maxVersion, bool hasLowerBound, bool hasUpperBound, bool isMinInclusive, bool isMaxInclusive) + => TestSingleRange (MavenVersionRange.Parse (value).Single (), minVersion, maxVersion, hasLowerBound, hasUpperBound, isMinInclusive, isMaxInclusive); + + static void TestSingleRange (MavenVersionRange range, string? minVersion, string? maxVersion, bool hasLowerBound, bool hasUpperBound, bool isMinInclusive, bool isMaxInclusive) + { + Assert.AreEqual (hasLowerBound, range.HasLowerBound); + Assert.AreEqual (hasUpperBound, range.HasUpperBound); + Assert.AreEqual (minVersion, range.MinVersion); + Assert.AreEqual (maxVersion, range.MaxVersion); + Assert.AreEqual (isMinInclusive, range.IsMinInclusive); + Assert.AreEqual (isMaxInclusive, range.IsMaxInclusive); + } + + static void TestContainsVersion (string value, bool contains0_8, bool contains1_0, bool contains1_5, bool contains2_0, bool contains2_5) + { + var range = MavenVersionRange.Parse (value).Single (); + + Assert.AreEqual (contains0_8, range.ContainsVersion (MavenVersion.Parse ("0.8"))); + Assert.AreEqual (contains1_0, range.ContainsVersion (MavenVersion.Parse ("1.0"))); + Assert.AreEqual (contains1_5, range.ContainsVersion (MavenVersion.Parse ("1.5"))); + Assert.AreEqual (contains2_0, range.ContainsVersion (MavenVersion.Parse ("2.0"))); + Assert.AreEqual (contains2_5, range.ContainsVersion (MavenVersion.Parse ("2.5"))); + } +} diff --git a/tests/Java.Interop.Tools.Maven-Tests/MavenVersionTests.cs b/tests/Java.Interop.Tools.Maven-Tests/MavenVersionTests.cs new file mode 100644 index 000000000..3140d7dcb --- /dev/null +++ b/tests/Java.Interop.Tools.Maven-Tests/MavenVersionTests.cs @@ -0,0 +1,72 @@ +using System.Linq; +using Java.Interop.Tools.Maven.Models; + +namespace Java.Interop.Tools.Maven_Tests; + +public class MavenVersionTests +{ + [Test] + public void ParseTest () + { + TestParse ("", null, null, null, false); + TestParse ("1", "1", null, null, true); + TestParse ("1.2", "1", "2", null, true); + TestParse ("1.2.3", "1", "2", "3", true); + + TestParse ("1-BETA", "1-BETA", null, null, true); + TestParse ("1-ALPHA.2-BETA", "1-ALPHA", "2-BETA", null, true); + TestParse ("1-ALPHA.2-BETA.3-GAMMA", "1-ALPHA", "2-BETA", "3-GAMMA", true); + + TestParse ("1-ALPHA-RC3.2.3", "1-ALPHA-RC3", "2", "3", true); + + // 4th part isn't valid + TestParse ("1.2.3.4", "1", "2", "3", false); + + // Versions must be numeric + TestParse ("A.B.C", "A", "B", "C", false); + TestParse ("A-B.2.3", "A-B", "2", "3", false); + } + + [Test] + public void SortTest () + { + // Normal versions + TestSort ("1,2", "1", "2"); + TestSort ("1,2", "2", "1"); + TestSort ("1.1,1.2", "1.2", "1.1"); + TestSort ("1.1.1,1.1.2", "1.1.2", "1.1.1"); + + // Qualifiers are always "before" "release" versions when version numbers are equal + TestSort ("1.2-beta-2,1.2", "1.2", "1.2-beta-2"); + TestSort ("1-beta-2,1", "1", "1-beta-2"); + TestSort ("1.1.1-beta-2,1.1.1", "1.1.1", "1.1.1-beta-2"); + + // Qualifiers don't matter if the versions don't match + TestSort ("1-RC,2", "1-RC", "2"); + TestSort ("1,2-RC", "1", "2-RC"); + + // Qualifiers are sorted with simple string sort + TestSort ("1.2-alpha-6,1.2-beta-2", "1.2-alpha-6", "1.2-beta-2"); + + // If any version is "nonstandard", a simple string sort is used + TestSort ("1.0.1.0,1.0.10.1,1.0.10.2,1.0.9.3", "1.0.9.3", "1.0.10.1", "1.0.1.0", "1.0.10.2"); + } + + static void TestParse (string input, string? major, string? minor, string? patch, bool isValid) + { + var v = MavenVersion.Parse (input); + + Assert.AreEqual (major, v.Major); + Assert.AreEqual (minor, v.Minor); + Assert.AreEqual (patch, v.Patch); + Assert.AreEqual (isValid, v.IsValid); + } + + static void TestSort (string expected, params string [] values) + { + var sorted = values.Select (v => MavenVersion.Parse (v)).Order (); + var formatted = string.Join (',', sorted.Select (v => v.RawVersion)); + + Assert.AreEqual (expected, formatted); + } +} From 77087b74731c281811eba3879979c1b30ba034e2 Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Thu, 22 Feb 2024 09:26:09 -1000 Subject: [PATCH 5/7] Address review feedback. --- ...mResolver.cs => DefaultProjectResolver.cs} | 8 +- .../Extensions/MavenNetExtensions.cs | 72 ----------------- .../{IPomResolver.cs => IProjectResolver.cs} | 4 +- .../Models/Artifact.cs | 8 +- .../Models/Dependency.Partial.cs | 9 +++ .../Models/Project.Partial.cs | 37 ++++----- .../Models/ResolvedDependency.cs | 77 ++++++++++++++++--- .../Models/ResolvedProject.cs | 12 +-- .../Repositories/MavenRepository.cs | 7 +- .../DependenciesTests.cs | 4 +- ...PomResolver.cs => MavenProjectResolver.cs} | 18 ++--- .../Extensions/TestDataExtensions.cs | 2 +- ...solverTests.cs => ProjectResolverTests.cs} | 18 ++--- .../PropertySubstitutionTests.cs | 12 +-- 14 files changed, 137 insertions(+), 151 deletions(-) rename src/Java.Interop.Tools.Maven/{DefaultPomResolver.cs => DefaultProjectResolver.cs} (58%) delete mode 100644 src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs rename src/Java.Interop.Tools.Maven/{IPomResolver.cs => IProjectResolver.cs} (50%) create mode 100644 src/Java.Interop.Tools.Maven/Models/Dependency.Partial.cs rename tests/Java.Interop.Tools.Maven-Tests/Extensions/{MavenPomResolver.cs => MavenProjectResolver.cs} (51%) rename tests/Java.Interop.Tools.Maven-Tests/{PomResolverTests.cs => ProjectResolverTests.cs} (81%) diff --git a/src/Java.Interop.Tools.Maven/DefaultPomResolver.cs b/src/Java.Interop.Tools.Maven/DefaultProjectResolver.cs similarity index 58% rename from src/Java.Interop.Tools.Maven/DefaultPomResolver.cs rename to src/Java.Interop.Tools.Maven/DefaultProjectResolver.cs index 41531bcd0..61581ac38 100644 --- a/src/Java.Interop.Tools.Maven/DefaultPomResolver.cs +++ b/src/Java.Interop.Tools.Maven/DefaultProjectResolver.cs @@ -4,18 +4,18 @@ namespace Java.Interop.Tools.Maven; -public class DefaultPomResolver : IPomResolver +public class DefaultProjectResolver : IProjectResolver { readonly Dictionary poms = new (); public void Register (Project project) { - poms.Add (project.ToString (), project); + poms.Add (project.VersionedArtifactString, project); } - public virtual Project ResolveRawProject (Artifact artifact) + public virtual Project Resolve (Artifact artifact) { - if (poms.TryGetValue (artifact.ToString (), out var project)) + if (poms.TryGetValue (artifact.VersionedArtifactString, out var project)) return project; throw new InvalidOperationException ($"No POM registered for {artifact}"); diff --git a/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs b/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs deleted file mode 100644 index 386a97974..000000000 --- a/src/Java.Interop.Tools.Maven/Extensions/MavenNetExtensions.cs +++ /dev/null @@ -1,72 +0,0 @@ -using System; -using System.Diagnostics.CodeAnalysis; -using System.Linq; -using Java.Interop.Tools.Maven.Models; - -namespace Java.Interop.Tools.Maven.Extensions; - -static class MavenNetExtensions -{ - public static string GetInheritedProperty (this ResolvedDependency dependency, ResolvedProject project, Func property) - { - // Check our section - if (CheckDependencyManagementSection (project, dependency, property, out var result)) - return result; - - // Check imported POMs - foreach (var imported in project.ImportedPomProjects) { - var value = GetInheritedProperty (dependency, imported, property); - - if (value.HasValue ()) - return value; - } - - // Check parent POM - if (project.Parent is not null && !project.Parent.IsSuperPom) - return GetInheritedProperty (dependency, project.Parent, property); - - return string.Empty; - } - - static bool CheckImportedPoms (ResolvedDependency dependency, ResolvedProject project, Func property, [NotNullWhen (true)] out string? result) - { - result = null; - - foreach (var imported in project.ImportedPomProjects) { - var imported_dep = imported.Resolved.DependencyManagement?.Dependencies.FirstOrDefault (x => x.ArtifactId == dependency.ArtifactId && x.GroupId == dependency.GroupId); - - if (imported_dep != null) { - result = property (new ResolvedDependency (imported, imported_dep, true)); - - if (result.HasValue ()) - return true; - } - - // Recurse, as imported POMs can also import POMs - if (CheckImportedPoms (dependency, imported, property, out result)) - return true; - } - - return false; - } - - static bool CheckDependencyManagementSection (ResolvedProject project, ResolvedDependency dependency, Func property, [NotNullWhen (true)] out string? result) - { - result = null; - - // Check - var dep_man = project.Resolved.DependencyManagement?.Dependencies.FirstOrDefault (x => x.ArtifactId == dependency.ArtifactId && x.GroupId == dependency.GroupId); - - if (dep_man != null) { - result = property (new ResolvedDependency (project, dep_man, true)) ?? string.Empty; - return result.HasValue (); - } - - return false; - } - - public static Artifact ToArtifact (this Dependency dependency) - { - return new Artifact (dependency.GroupId.OrEmpty (), dependency.ArtifactId.OrEmpty ().OrEmpty (), dependency.Version.OrEmpty ()); - } -} diff --git a/src/Java.Interop.Tools.Maven/IPomResolver.cs b/src/Java.Interop.Tools.Maven/IProjectResolver.cs similarity index 50% rename from src/Java.Interop.Tools.Maven/IPomResolver.cs rename to src/Java.Interop.Tools.Maven/IProjectResolver.cs index ff9807279..6e1533ded 100644 --- a/src/Java.Interop.Tools.Maven/IPomResolver.cs +++ b/src/Java.Interop.Tools.Maven/IProjectResolver.cs @@ -2,7 +2,7 @@ namespace Java.Interop.Tools.Maven; -public interface IPomResolver +public interface IProjectResolver { - Project ResolveRawProject (Artifact artifact); + Project Resolve (Artifact artifact); } diff --git a/src/Java.Interop.Tools.Maven/Models/Artifact.cs b/src/Java.Interop.Tools.Maven/Models/Artifact.cs index 387697819..0e16d3cfd 100644 --- a/src/Java.Interop.Tools.Maven/Models/Artifact.cs +++ b/src/Java.Interop.Tools.Maven/Models/Artifact.cs @@ -11,6 +11,11 @@ public class Artifact public string Version { get; } + public string ArtifactString => $"{GroupId}:{Id}"; + + // Format should match Project.ArtifactString for comparisons. + public string VersionedArtifactString => $"{GroupId}:{Id}:{Version}"; + public Artifact (string groupId, string artifactId, string version) { Id = artifactId; @@ -40,6 +45,5 @@ public static bool TryParse (string value, [NotNullWhen (true)]out Artifact? art return true; } - // This is a "well-known" format we use, it should not be changed. - public override string ToString () => $"{GroupId}:{Id}:{Version}"; + public override string ToString () => VersionedArtifactString; } diff --git a/src/Java.Interop.Tools.Maven/Models/Dependency.Partial.cs b/src/Java.Interop.Tools.Maven/Models/Dependency.Partial.cs new file mode 100644 index 000000000..9ee5c918d --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Models/Dependency.Partial.cs @@ -0,0 +1,9 @@ +using Java.Interop.Tools.Maven.Extensions; + +namespace Java.Interop.Tools.Maven.Models; + +public partial class Dependency +{ + public Artifact ToArtifact () + => new Artifact (GroupId.OrEmpty (), ArtifactId.OrEmpty (), Version.OrEmpty ()); +} diff --git a/src/Java.Interop.Tools.Maven/Models/Project.Partial.cs b/src/Java.Interop.Tools.Maven/Models/Project.Partial.cs index b87821408..44e7f7aef 100644 --- a/src/Java.Interop.Tools.Maven/Models/Project.Partial.cs +++ b/src/Java.Interop.Tools.Maven/Models/Project.Partial.cs @@ -8,32 +8,22 @@ namespace Java.Interop.Tools.Maven.Models; public partial class Project { - public static Project Parse (Stream stream) - { - Project? result = null; - - var serializer = new XmlSerializer (typeof (Project)); - - using (var sr = new StreamReader (stream)) - result = (Project) serializer.Deserialize (new XmlTextReader (sr) { - Namespaces = false, - }); - - return result; - } + static readonly XmlSerializer xml_serializer = new (typeof (Project)); - public static Project ParseXml (string xml) + public static Project Load (Stream stream) { - Project? result = null; + using (var xr = new XmlTextReader (stream) { Namespaces = false }) + return Load (xr); + } - var serializer = new XmlSerializer (typeof (Project)); + public static Project Load (XmlReader reader) + => (Project) xml_serializer.Deserialize (reader); + public static Project Parse (string xml) + { using (var sr = new StringReader (xml)) - result = (Project) serializer.Deserialize (new XmlTextReader (sr) { - Namespaces = false, - }); - - return result; + using (var xr = new XmlTextReader (sr) { Namespaces = false }) + return Load (xr); } public bool TryGetParentPomArtifact ([NotNullWhen (true)] out Artifact? parent) @@ -48,7 +38,7 @@ public bool TryGetParentPomArtifact ([NotNullWhen (true)] out Artifact? parent) return false; } - public override string ToString () => $"{GroupId}:{ArtifactId}:{Version}"; + public override string ToString () => VersionedArtifactString; public string ToXml () { @@ -59,4 +49,7 @@ public string ToXml () return sw.ToString (); } } + + // Format should match Artifact.VersionedArtifactString for comparisons. + public string VersionedArtifactString => $"{GroupId}:{ArtifactId}:{Version}"; } diff --git a/src/Java.Interop.Tools.Maven/Models/ResolvedDependency.cs b/src/Java.Interop.Tools.Maven/Models/ResolvedDependency.cs index ca6d052fd..884372b4b 100644 --- a/src/Java.Interop.Tools.Maven/Models/ResolvedDependency.cs +++ b/src/Java.Interop.Tools.Maven/Models/ResolvedDependency.cs @@ -1,3 +1,6 @@ +using System; +using System.Diagnostics.CodeAnalysis; +using System.Linq; using Java.Interop.Tools.Maven.Extensions; namespace Java.Interop.Tools.Maven.Models; @@ -13,6 +16,9 @@ public class ResolvedDependency public string? Type { get; } public string Version { get; } + public string ArtifactString => $"{GroupId}:{ArtifactId}"; + public string VersionedArtifactString => $"{GroupId}:{ArtifactId}:{Version}"; + public ResolvedDependency (ResolvedProject project, Dependency dependency) : this (project, dependency, false) { } @@ -33,19 +39,19 @@ internal ResolvedDependency (ResolvedProject project, Dependency dependency, boo // If we're not shallow, fill in any still missing properties with parent values if (!shallow) { if (!Classifier.HasValue ()) - Classifier = this.GetInheritedProperty (project, d => d.Classifier); + Classifier = GetInheritedProperty (this, project, d => d.Classifier); if (!Optional.HasValue ()) - Optional = this.GetInheritedProperty (project, d => d.Optional); + Optional = GetInheritedProperty (this, project, d => d.Optional); if (!Scope.HasValue ()) - Scope = this.GetInheritedProperty (project, d => d.Scope); + Scope = GetInheritedProperty (this, project, d => d.Scope); if (!Type.HasValue ()) - Type = this.GetInheritedProperty (project, d => d.Type); + Type = GetInheritedProperty (this, project, d => d.Type); if (!Version.HasValue ()) - Version = this.GetInheritedProperty (project, d => d.Version); + Version = GetInheritedProperty (this, project, d => d.Version); } // Default scope to "compile" if not specified @@ -57,12 +63,63 @@ internal ResolvedDependency (ResolvedProject project, Dependency dependency, boo Optional = "false"; } - public string ToArtifactString (bool includeVersion = true) + public override string ToString () => $"{VersionedArtifactString} - {Scope}"; + + static string GetInheritedProperty (ResolvedDependency dependency, ResolvedProject project, Func property) { - return includeVersion - ? $"{GroupId}:{ArtifactId}:{Version}" - : $"{GroupId}:{ArtifactId}"; + // Check our section + if (CheckDependencyManagementSection (project, dependency, property, out var result)) + return result; + + // Check imported POMs + foreach (var imported in project.ImportedPomProjects) { + var value = GetInheritedProperty (dependency, imported, property); + + if (value.HasValue ()) + return value; + } + + // Check parent POM + if (project.Parent is not null && !project.Parent.IsSuperPom) + return GetInheritedProperty (dependency, project.Parent, property); + + return string.Empty; + } + + static bool CheckImportedPoms (ResolvedDependency dependency, ResolvedProject project, Func property, [NotNullWhen (true)] out string? result) + { + result = null; + + foreach (var imported in project.ImportedPomProjects) { + var imported_dep = imported.Resolved.DependencyManagement?.Dependencies.FirstOrDefault (x => x.ArtifactId == dependency.ArtifactId && x.GroupId == dependency.GroupId); + + if (imported_dep != null) { + result = property (new ResolvedDependency (imported, imported_dep, true)); + + if (result.HasValue ()) + return true; + } + + // Recurse, as imported POMs can also import POMs + if (CheckImportedPoms (dependency, imported, property, out result)) + return true; + } + + return false; } - public override string ToString () => $"{GroupId}:{ArtifactId}:{Version} - {Scope}"; + static bool CheckDependencyManagementSection (ResolvedProject project, ResolvedDependency dependency, Func property, [NotNullWhen (true)] out string? result) + { + result = null; + + // Check + var dep_man = project.Resolved.DependencyManagement?.Dependencies.FirstOrDefault (x => x.ArtifactId == dependency.ArtifactId && x.GroupId == dependency.GroupId); + + if (dep_man != null) { + result = property (new ResolvedDependency (project, dep_man, true)) ?? string.Empty; + return result.HasValue (); + } + + return false; + } } diff --git a/src/Java.Interop.Tools.Maven/Models/ResolvedProject.cs b/src/Java.Interop.Tools.Maven/Models/ResolvedProject.cs index 6abd3547c..9b089966b 100644 --- a/src/Java.Interop.Tools.Maven/Models/ResolvedProject.cs +++ b/src/Java.Interop.Tools.Maven/Models/ResolvedProject.cs @@ -9,7 +9,7 @@ namespace Java.Interop.Tools.Maven.Models; public class ResolvedProject { readonly ResolvedProject? parent; - readonly IPomResolver? resolver; + readonly IProjectResolver? resolver; Project? resolved_project; @@ -34,7 +34,7 @@ public ResolvedProject Parent { } } - public ResolvedProject (Project project, ResolvedProject parent, IPomResolver resolver) + public ResolvedProject (Project project, ResolvedProject parent, IProjectResolver resolver) { Raw = project; this.parent = parent; @@ -43,7 +43,7 @@ public ResolvedProject (Project project, ResolvedProject parent, IPomResolver re public void Resolve () => ResolveCore (new PropertyStack ()); - public static ResolvedProject FromArtifact (Artifact artifact, IPomResolver resolver) + public static ResolvedProject FromArtifact (Artifact artifact, IProjectResolver resolver) { var project = FromArtifactCore (artifact, resolver); project.Resolve (); @@ -51,9 +51,9 @@ public static ResolvedProject FromArtifact (Artifact artifact, IPomResolver reso return project; } - static ResolvedProject FromArtifactCore (Artifact artifact, IPomResolver resolver) + static ResolvedProject FromArtifactCore (Artifact artifact, IProjectResolver resolver) { - var raw = resolver.ResolveRawProject (artifact); + var raw = resolver.Resolve (artifact); // POM has a parent, resolve it if (raw.TryGetParentPomArtifact (out var parentArtifact)) { @@ -79,7 +79,7 @@ void ResolveCore (PropertyStack properties) var xml = Raw.ToXml (); xml = ReplaceProperties (xml, this, properties); - resolved_project = Project.ParseXml (xml); + resolved_project = Project.Parse (xml); properties.Push (Raw.Properties); parent?.ResolveCore (properties); diff --git a/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs b/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs index 1697ac103..9b54887b9 100644 --- a/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs +++ b/src/Java.Interop.Tools.Maven/Repositories/MavenRepository.cs @@ -8,7 +8,7 @@ namespace Java.Interop.Tools.Maven.Repositories; public class MavenRepository : IMavenRepository { readonly string base_url; - static readonly HttpClient client; + static readonly HttpClient client = new HttpClient (); public string Name { get; } @@ -18,11 +18,6 @@ public MavenRepository (string baseUrl, string name) base_url = baseUrl.TrimEnd ('/'); } - static MavenRepository () - { - client = new HttpClient (); - } - public bool TryGetFile (Artifact artifact, string filename, [NotNullWhen (true)] out Stream? stream) { // ex: https://repo1.maven.org/maven2/dev/chrisbanes/snapper/snapper/0.3.0/{filename} diff --git a/tests/Java.Interop.Tools.Maven-Tests/DependenciesTests.cs b/tests/Java.Interop.Tools.Maven-Tests/DependenciesTests.cs index 4df1b492f..903771349 100644 --- a/tests/Java.Interop.Tools.Maven-Tests/DependenciesTests.cs +++ b/tests/Java.Interop.Tools.Maven-Tests/DependenciesTests.cs @@ -37,9 +37,9 @@ public class DependenciesTests [TestCase ("com.facebook.android:facebook-android-sdk:14.1.1", "com.facebook.android:facebook-applinks:14.1.1 - compile;com.facebook.android:facebook-common:14.1.1 - compile;com.facebook.android:facebook-core:14.1.1 - compile;com.facebook.android:facebook-gamingservices:14.1.1 - compile;com.facebook.android:facebook-login:14.1.1 - compile;com.facebook.android:facebook-messenger:14.1.1 - compile;com.facebook.android:facebook-share:14.1.1 - compile;org.jetbrains.kotlin:kotlin-stdlib:1.5.10 - compile")] [TestCase ("com.airbnb.android:lottie:5.2.0", "androidx.appcompat:appcompat:1.3.1 - runtime;com.squareup.okio:okio:1.17.4 - runtime")] public void TestMavenCentralResolvedDependencies (string artifact, string expected) - => TestResolvedDependencies (MavenPomResolver.Central, artifact, expected); + => TestResolvedDependencies (MavenProjectResolver.Central, artifact, expected); - void TestResolvedDependencies (MavenPomResolver resolver, string artifact, string expected) + void TestResolvedDependencies (MavenProjectResolver resolver, string artifact, string expected) { var art = Artifact.Parse (artifact); var project = ResolvedProject.FromArtifact (art, resolver); diff --git a/tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenPomResolver.cs b/tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenProjectResolver.cs similarity index 51% rename from tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenPomResolver.cs rename to tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenProjectResolver.cs index 417e0d021..1d208c327 100644 --- a/tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenPomResolver.cs +++ b/tests/Java.Interop.Tools.Maven-Tests/Extensions/MavenProjectResolver.cs @@ -6,35 +6,35 @@ namespace Java.Interop.Tools.Maven_Tests.Extensions; -class MavenPomResolver : IPomResolver +class MavenProjectResolver : IProjectResolver { readonly IMavenRepository repository; - public MavenPomResolver (IMavenRepository repository) + public MavenProjectResolver (IMavenRepository repository) { this.repository = repository; } - static MavenPomResolver () + static MavenProjectResolver () { var cache_path = Path.Combine (Environment.GetFolderPath (Environment.SpecialFolder.LocalApplicationData), "dotnet-android", "MavenCacheDirectory"); - Central = new MavenPomResolver (new CachedMavenRepository (cache_path, MavenRepository.Central)); - Google = new MavenPomResolver (new CachedMavenRepository (cache_path, MavenRepository.Google)); + Central = new MavenProjectResolver (new CachedMavenRepository (cache_path, MavenRepository.Central)); + Google = new MavenProjectResolver (new CachedMavenRepository (cache_path, MavenRepository.Google)); } - public Project ResolveRawProject (Artifact artifact) + public Project Resolve (Artifact artifact) { if (repository.TryGetFile (artifact, $"{artifact.Id}-{artifact.Version}.pom", out var stream)) { using (stream) { - return Project.Parse (stream) ?? throw new InvalidOperationException ($"Could not deserialize POM for {artifact}"); + return Project.Load (stream) ?? throw new InvalidOperationException ($"Could not deserialize POM for {artifact}"); } } throw new InvalidOperationException ($"No POM found for {artifact}"); } - public static MavenPomResolver Google { get; } + public static MavenProjectResolver Google { get; } - public static MavenPomResolver Central { get; } + public static MavenProjectResolver Central { get; } } diff --git a/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs b/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs index dd462cb08..cbee38348 100644 --- a/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs +++ b/tests/Java.Interop.Tools.Maven-Tests/Extensions/TestDataExtensions.cs @@ -26,7 +26,7 @@ public static Project CreateProject (Artifact artifact, Project? parent = null) xml.Root!.Add (parent_xml); } - return Project.ParseXml (xml.ToString ()); + return Project.Parse (xml.ToString ()); } public static void AddProperty (this Project project, string key, string value) diff --git a/tests/Java.Interop.Tools.Maven-Tests/PomResolverTests.cs b/tests/Java.Interop.Tools.Maven-Tests/ProjectResolverTests.cs similarity index 81% rename from tests/Java.Interop.Tools.Maven-Tests/PomResolverTests.cs rename to tests/Java.Interop.Tools.Maven-Tests/ProjectResolverTests.cs index 6605e2b7b..716e7ebdc 100644 --- a/tests/Java.Interop.Tools.Maven-Tests/PomResolverTests.cs +++ b/tests/Java.Interop.Tools.Maven-Tests/ProjectResolverTests.cs @@ -5,18 +5,18 @@ namespace Java.Interop.Tools.Maven_Tests; -public class PomResolverTests +public class ProjectResolverTests { [Test] public void ResolveRawProject_Success () { var artifact = new Artifact ("bar", "foo", "1.0"); var project = TestDataExtensions.CreateProject (artifact); - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); resolver.Register (project); - var result = resolver.ResolveRawProject (artifact); + var result = resolver.Resolve (artifact); Assert.AreEqual (project, result); } @@ -24,9 +24,9 @@ public void ResolveRawProject_Success () [Test] public void ResolveRawProject_PomNotFound () { - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); - Assert.Throws (() => resolver.ResolveRawProject (new Artifact ("bar", "foo", "1.0"))); + Assert.Throws (() => resolver.Resolve (new Artifact ("bar", "foo", "1.0"))); } [Test] @@ -38,7 +38,7 @@ public void Resolve_Success () var parent_project = TestDataExtensions.CreateProject (parent_artifact); var project = TestDataExtensions.CreateProject (artifact, parent_project); - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); resolver.Register (project); resolver.Register (parent_project); @@ -58,7 +58,7 @@ public void Resolve_ParentPomNotFound () var parent_project = TestDataExtensions.CreateProject (parent_artifact); var project = TestDataExtensions.CreateProject (artifact, parent_project); - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); // Note we are not adding the parent project to the resolver, so it will not be found resolver.Register (project); @@ -69,8 +69,8 @@ public void Resolve_ParentPomNotFound () [Test] public void Resolve_PomNotFound () { - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); - Assert.Throws (() => resolver.ResolveRawProject (new Artifact ("bar", "foo", "1.0"))); + Assert.Throws (() => resolver.Resolve (new Artifact ("bar", "foo", "1.0"))); } } diff --git a/tests/Java.Interop.Tools.Maven-Tests/PropertySubstitutionTests.cs b/tests/Java.Interop.Tools.Maven-Tests/PropertySubstitutionTests.cs index 3dbb8fa48..ac6110c2b 100644 --- a/tests/Java.Interop.Tools.Maven-Tests/PropertySubstitutionTests.cs +++ b/tests/Java.Interop.Tools.Maven-Tests/PropertySubstitutionTests.cs @@ -19,7 +19,7 @@ public void Resolve_ExplicitProperty () var project = TestDataExtensions.CreateProject (artifact); project.AddProperty ("mavenVersion", "2.0.6"); - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); resolver.Register (project); var result = ResolvedProject.FromArtifact (artifact, resolver); @@ -44,7 +44,7 @@ public void Resolve_ExplicitPropertyFromParent () parent_project.AddProperty ("mavenVersion", "2.0.6"); - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); resolver.Register (parent_project); resolver.Register (project); @@ -66,7 +66,7 @@ public void Resolve_ProjectProperty () var project = TestDataExtensions.CreateProject (artifact); project.Name = "${project.groupId}:${project.artifactId}:${project.version}"; - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); resolver.Register (project); var result = ResolvedProject.FromArtifact (artifact, resolver); @@ -91,7 +91,7 @@ public void Resolve_ProjectPropertyFromParent () project.Name = "${project.groupId}:${project.artifactId}:${project.version}"; - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); resolver.Register (parent_project); resolver.Register (project); @@ -120,7 +120,7 @@ public void Resolve_RecursiveProperties () parent_project.AddProperty ("mavenVersion", "${project.version}"); - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); resolver.Register (parent_project); resolver.Register (project); @@ -150,7 +150,7 @@ public void Resolve_ChildPropertiesTakePrecedenceOverParentProperties () project.AddProperty ("mavenVersion", "2.0"); parent_project.AddProperty ("mavenVersion", "1.0"); - var resolver = new DefaultPomResolver (); + var resolver = new DefaultProjectResolver (); resolver.Register (parent_project); resolver.Register (project); From 107a9d4f8dea674cad5972ac654ba853eb03d069 Mon Sep 17 00:00:00 2001 From: Jonathan Pobst Date: Mon, 26 Feb 2024 10:36:07 -1000 Subject: [PATCH 6/7] Add target for generating `Project.cs`. --- .../Java.Interop.Tools.Maven.csproj | 1 + .../Java.Interop.Tools.Maven.targets | 41 + .../Models/Project.cs | 706 +----------------- 3 files changed, 80 insertions(+), 668 deletions(-) create mode 100644 src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.targets diff --git a/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.csproj b/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.csproj index 9c0f50dc2..fe6539774 100644 --- a/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.csproj +++ b/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.csproj @@ -24,4 +24,5 @@ + diff --git a/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.targets b/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.targets new file mode 100644 index 000000000..8367d4391 --- /dev/null +++ b/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.targets @@ -0,0 +1,41 @@ + + + + + + + + maven-4.0.0.xsd + + + + <_XscgenOpt Include="$(MavenXsd)" /> + <_XscgenOpt Include="--namespace http://maven.apache.org/POM/4.0.0=Java.Interop.Tools.Maven.Models" /> + <_XscgenOpt Include="--typeNameSubstitute T:Model=Project" /> + <_XscgenOpt Include="--nullable" /> + <_XscgenOpt Include="--pcl" /> + <_XscgenOpt Include="--netCore" /> + <_XscgenOpt Include="--nullableReferenceAttributes" /> + <_XscgenOpt Include="-o "Models"" /> + + + + + + + + + + + + + + diff --git a/src/Java.Interop.Tools.Maven/Models/Project.cs b/src/Java.Interop.Tools.Maven/Models/Project.cs index f76cae7ce..5f2359a90 100644 --- a/src/Java.Interop.Tools.Maven/Models/Project.cs +++ b/src/Java.Interop.Tools.Maven/Models/Project.cs @@ -7,10 +7,8 @@ // //------------------------------------------------------------------------------ -// https://github.com/mganss/XmlSchemaClassGenerator // This code was generated by XmlSchemaClassGenerator version 2.1.1057.0 using the following command: -// xscgen maven-4.0.0.xsd --nullable --nc --nr -// Schema from: https://maven.apache.org/xsd/maven-4.0.0.xsd +// xscgen maven-4.0.0.xsd --namespace http://maven.apache.org/POM/4.0.0=Java.Interop.Tools.Maven.Models --typeNameSubstitute T:Model=Project --nullable --pcl --netCore --nullableReferenceAttributes -o Models namespace Java.Interop.Tools.Maven.Models { @@ -23,12 +21,8 @@ namespace Java.Interop.Tools.Maven.Models /// The <code>&lt;project&gt;</code> element is the root of the descriptor. /// The following table lists all of the possible child elements. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The <code>&lt;project&gt;</code> element is the root of the descriptor. The following table lists all of the possible child elements. 3.0.0+ The <code>&lt;project&gt;</code> element is the root of the descriptor. The following table lists all of the possible child elements.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] - [System.Xml.Serialization.XmlTypeAttribute("Project")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] + [System.Xml.Serialization.XmlTypeAttribute("Model")] [System.Xml.Serialization.XmlRootAttribute("project")] public partial class Project { @@ -37,7 +31,6 @@ public partial class Project /// 4.0.0+ /// Declares to which version of project descriptor this POM conforms. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Declares to which version of project descriptor this POM conforms.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("modelVersion")] @@ -49,9 +42,6 @@ public partial class Project /// project will be the default for this project if they are left unspecified. The location /// is given as a group ID, artifact ID and version. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ 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 l" + - "ocation is given as a group ID, artifact ID and version.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("parent")] @@ -63,9 +53,6 @@ public partial class Project /// use a fully-qualified package name to distinguish it from other /// projects with a similar name (eg. <code>org.apache.maven</code>). /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ A universally unique identifier for a project. It is normal to use a fully" + - "-qualified package name to distinguish it from other projects with a similar nam" + - "e (eg. <code>org.apache.maven</code>).")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("groupId")] @@ -78,7 +65,6 @@ public partial class Project /// Examples of artifacts produced by Maven for a project include: JARs, source and binary /// distributions, and WARs. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The identifier for this artifact that is unique within the group given by the group ID. An artifact is something that is either produced or used by a project. Examples of artifacts produced by Maven for a project include: JARs, source and binary distributions, and WARs.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("artifactId")] @@ -88,7 +74,6 @@ public partial class Project /// 4.0.0+ /// The current version of the artifact produced by this project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The current version of the artifact produced by this project.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("version")] @@ -108,7 +93,6 @@ public partial class Project /// so this list does not contain all possible types. /// [System.ComponentModel.DefaultValueAttribute("jar")] - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The type of artifact this project produces, for example <code>jar</code> <code>war</code> <code>ear</code> <code>pom</code>. Plugins can create their own packaging, and therefore their own packaging types, so this list does not contain all possible types.")] [System.Xml.Serialization.XmlElementAttribute("packaging")] public string Packaging { @@ -126,7 +110,6 @@ public string Packaging /// 3.0.0+ /// The full name of the project. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The full name of the project.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -140,7 +123,6 @@ public string Packaging /// plain text representation. If you need to modify the index page of the generated web /// site, you are able to specify your own instead of adjusting this text. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ A detailed description of the project, used by Maven whenever it needs to describe the project, such as on the web site. While this element can be specified as CDATA to enable the use of HTML tags within the description, it is discouraged to allow plain text representation. If you need to modify the index page of the generated web site, you are able to specify your own instead of adjusting this text.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("description")] @@ -152,7 +134,6 @@ public string Packaging /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if /// project's <code>child.project.url.inherit.append.path="false"</code> /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The URL to the project's homepage. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if project's <code>child.project.url.inherit.append.path=""false""</code>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -163,8 +144,6 @@ public string Packaging /// The year of the project's inception, specified with 4 digits. This value is /// used when generating copyright notices as well as being informational. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The year of the project\'s inception, specified with 4 digits. This value i" + - "s used when generating copyright notices as well as being informational.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("inceptionYear")] @@ -176,9 +155,6 @@ public string Packaging /// project belongs. These attributes are utilized when documentation is created (for /// copyright notices and links). /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes various attributes of the organization to which the" + - " project belongs. These attributes are utilized when documentation is created (f" + - "or copyright notices and links).")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("organization")] @@ -197,7 +173,6 @@ public string Packaging /// If multiple licenses are listed, it is assumed that the user can select /// any of them, not that they must accept all. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ This element describes all of the licenses for this project. Each license is described by a <code>license</code> element, which is then described by additional elements. Projects should only list the license(s) that applies to the project and not the licenses that apply to dependencies. If multiple licenses are listed, it is assumed that the user can select any of them, not that they must accept all.")] [System.Xml.Serialization.XmlArrayAttribute("licenses")] [System.Xml.Serialization.XmlArrayItemAttribute("license")] public System.Collections.ObjectModel.Collection Licenses @@ -225,9 +200,9 @@ public bool LicensesSpecified } /// - /// Initializes a new instance of the class. + /// Initializes a new instance of the class. /// - internal Project() + public Project() { this._licenses = new System.Collections.ObjectModel.Collection(); this._developers = new System.Collections.ObjectModel.Collection(); @@ -247,7 +222,6 @@ internal Project() /// 3.0.0+ /// Describes the committers of a project. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Describes the committers of a project.")] [System.Xml.Serialization.XmlArrayAttribute("developers")] [System.Xml.Serialization.XmlArrayItemAttribute("developer")] public System.Collections.ObjectModel.Collection Developers @@ -281,7 +255,6 @@ public bool DevelopersSpecified /// 3.0.0+ /// Describes the contributors to a project that are not yet committers. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Describes the contributors to a project that are not yet committers.")] [System.Xml.Serialization.XmlArrayAttribute("contributors")] [System.Xml.Serialization.XmlArrayItemAttribute("contributor")] public System.Collections.ObjectModel.Collection Contributors @@ -315,7 +288,6 @@ public bool ContributorsSpecified /// 3.0.0+ /// Contains information about a project's mailing lists. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Contains information about a project\'s mailing lists.")] [System.Xml.Serialization.XmlArrayAttribute("mailingLists")] [System.Xml.Serialization.XmlArrayItemAttribute("mailingList")] public System.Collections.ObjectModel.Collection MailingLists @@ -346,7 +318,6 @@ public bool MailingListsSpecified /// 4.0.0+ /// Describes the prerequisites in the build environment for this project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Describes the prerequisites in the build environment for this project.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("prerequisites")] @@ -362,7 +333,6 @@ public bool MailingListsSpecified /// To be consistent with the way default urls are calculated from parent, it is recommended /// to have module names match artifact ids. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids.")] [System.Xml.Serialization.XmlArrayAttribute("modules")] [System.Xml.Serialization.XmlArrayItemAttribute("module")] public System.Collections.ObjectModel.Collection Modules @@ -393,8 +363,6 @@ public bool ModulesSpecified /// 4.0.0+ /// Specification for the SCM used by the project, such as CVS, Subversion, etc. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Specification for the SCM used by the project, such as CVS, Subversion, et" + - "c.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("scm")] @@ -404,7 +372,6 @@ public bool ModulesSpecified /// 4.0.0+ /// The project's issue management system information. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The project\'s issue management system information.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("issueManagement")] @@ -414,7 +381,6 @@ public bool ModulesSpecified /// 4.0.0+ /// The project's continuous integration information. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The project\'s continuous integration information.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("ciManagement")] @@ -425,8 +391,6 @@ public bool ModulesSpecified /// Distribution information for a project that enables deployment of the site /// and artifacts to remote web servers and repositories respectively. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Distribution information for a project that enables deployment of the site" + - " and artifacts to remote web servers and repositories respectively.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("distributionManagement")] @@ -438,9 +402,6 @@ public bool ModulesSpecified /// are used as filters in resources if enabled. /// The format is <code>&lt;name&gt;value&lt;/name&gt;</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Properties that can be used throughout the POM as a substitution, and are " + - "used as filters in resources if enabled. The format is <code>&lt;name&" + - "amp;gt;value&lt;/name&gt;</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("properties")] @@ -454,7 +415,6 @@ public bool ModulesSpecified /// version and other values from this section are used for that dependency if they were not /// already specified. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("dependencyManagement")] @@ -473,7 +433,6 @@ public bool ModulesSpecified /// See <a href="https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the /// dependency mechanism</a> for more information. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See <a href=""https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"">the dependency mechanism</a> for more information.")] [System.Xml.Serialization.XmlArrayAttribute("dependencies")] [System.Xml.Serialization.XmlArrayItemAttribute("dependency")] public System.Collections.ObjectModel.Collection Dependencies @@ -508,8 +467,6 @@ public bool DependenciesSpecified /// The lists of the remote repositories for discovering dependencies and /// extensions. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The lists of the remote repositories for discovering dependencies and exte" + - "nsions.")] [System.Xml.Serialization.XmlArrayAttribute("repositories")] [System.Xml.Serialization.XmlArrayItemAttribute("repository")] public System.Collections.ObjectModel.Collection Repositories @@ -544,8 +501,6 @@ public bool RepositoriesSpecified /// The lists of the remote repositories for discovering plugins for builds and /// reports. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The lists of the remote repositories for discovering plugins for builds an" + - "d reports.")] [System.Xml.Serialization.XmlArrayAttribute("pluginRepositories")] [System.Xml.Serialization.XmlArrayItemAttribute("pluginRepository")] public System.Collections.ObjectModel.Collection PluginRepositories @@ -576,7 +531,6 @@ public bool PluginRepositoriesSpecified /// 3.0.0+ /// Information required to build the project. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Information required to build the project.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("build")] @@ -586,7 +540,6 @@ public bool PluginRepositoriesSpecified /// 4.0.0+ /// <b>Deprecated</b>. Now ignored by Maven. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ <b>Deprecated</b>. Now ignored by Maven.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("reports")] @@ -599,7 +552,6 @@ public bool PluginRepositoriesSpecified /// These reports will be run when a user executes <code>mvn site</code>. /// All of the reports will be included in the navigation bar for browsing. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes <code>mvn site</code>. All of the reports will be included in the navigation bar for browsing.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("reporting")] @@ -613,8 +565,6 @@ public bool PluginRepositoriesSpecified /// A listing of project-local build profiles which will modify the build process /// when activated. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ A listing of project-local build profiles which will modify the build proc" + - "ess when activated.")] [System.Xml.Serialization.XmlArrayAttribute("profiles")] [System.Xml.Serialization.XmlArrayItemAttribute("profile")] public System.Collections.ObjectModel.Collection Profiles @@ -649,7 +599,6 @@ public bool ProfilesSpecified /// <br><b>Default value is</b>: <code>true</code> /// <br><b>Since</b>: Maven 3.6.1 /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from project's url, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlAttributeAttribute("child.project.url.inherit.append.path")] @@ -662,12 +611,8 @@ public bool ProfilesSpecified /// this project will inherit from. /// <strong>Note:</strong> The children of this element are not interpolated and must be given as literal values. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The <code>&lt;parent&gt;</code> element contains information required to locate the parent project from which this project will inherit from. <strong>Note:</strong> The children of this element are not interpolated and must be given as literal values.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Parent")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Parent { @@ -675,7 +620,6 @@ public partial class Parent /// 4.0.0+ /// The group id of the parent project to inherit from. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The group id of the parent project to inherit from.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("groupId")] @@ -685,7 +629,6 @@ public partial class Parent /// 4.0.0+ /// The artifact id of the parent project to inherit from. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact id of the parent project to inherit from.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("artifactId")] @@ -695,7 +638,6 @@ public partial class Parent /// 4.0.0+ /// The version of the parent project to inherit. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The version of the parent project to inherit.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("version")] @@ -719,7 +661,6 @@ public partial class Parent /// the parent POM from the repositories. /// [System.ComponentModel.DefaultValueAttribute("../pom.xml")] - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The relative path of the parent <code>pom.xml</code> file within the check out. If not specified, it defaults to <code>../pom.xml</code>. Maven looks for the parent POM first in this location on the filesystem, then the local repository, and lastly in the remote repo. <code>relativePath</code> allows you to select a different location, for example when your structure is flat, or deeper without an intermediate parent POM. However, the group ID, artifact ID and version are still required, and must match the file in the location given or it will revert to the repository for the POM. This feature is only for enhancing the development in a local checkout of that project. Set the value to an empty string in case you want to disable the feature and always resolve the parent POM from the repositories.")] [System.Xml.Serialization.XmlElementAttribute("relativePath")] public string RelativePath { @@ -738,12 +679,8 @@ public string RelativePath /// 3.0.0+ /// Specifies the organization that produces this project. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Specifies the organization that produces this project.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Organization")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Organization { @@ -751,7 +688,6 @@ public partial class Organization /// 3.0.0+ /// The full name of the organization. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The full name of the organization.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -761,7 +697,6 @@ public partial class Organization /// 3.0.0+ /// The URL to the organization's home page. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL to the organization\'s home page.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -769,10 +704,7 @@ public partial class Organization } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelLicenses", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelLicenses { @@ -820,12 +752,8 @@ public ModelLicenses() /// and validation. The licenses listed for the project are that of the project itself, and not /// of dependencies. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ Describes the licenses for this project. This is used to generate the license page of the project's web site, as well as being taken into consideration in other reporting and validation. The licenses listed for the project are that of the project itself, and not of dependencies.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("License")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class License { @@ -833,7 +761,6 @@ public partial class License /// 3.0.0+ /// The full legal name of the license. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The full legal name of the license.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -843,7 +770,6 @@ public partial class License /// 3.0.0+ /// The official url for the license text. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The official url for the license text.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -859,7 +785,6 @@ public partial class License /// <dd>user must manually download and install the dependency.</dd> /// </dl> /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ 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>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("distribution")] @@ -869,7 +794,6 @@ public partial class License /// 3.0.0+ /// Addendum information pertaining to this license. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Addendum information pertaining to this license.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("comments")] @@ -877,10 +801,7 @@ public partial class License } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelDevelopers", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelDevelopers { @@ -925,12 +846,8 @@ public ModelDevelopers() /// 3.0.0+ /// Information about one of the committers on this project. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Information about one of the committers on this project.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Developer")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Developer { @@ -938,7 +855,6 @@ public partial class Developer /// 3.0.0+ /// The unique ID of the developer in the SCM. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The unique ID of the developer in the SCM.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("id")] @@ -948,7 +864,6 @@ public partial class Developer /// 3.0.0+ /// The full name of the contributor. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The full name of the contributor.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -958,7 +873,6 @@ public partial class Developer /// 3.0.0+ /// The email address of the contributor. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The email address of the contributor.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("email")] @@ -968,7 +882,6 @@ public partial class Developer /// 3.0.0+ /// The URL for the homepage of the contributor. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL for the homepage of the contributor.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -978,7 +891,6 @@ public partial class Developer /// 3.0.0+ /// The organization to which the contributor belongs. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The organization to which the contributor belongs.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("organization")] @@ -988,7 +900,6 @@ public partial class Developer /// 3.0.0+ /// The URL of the organization. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL of the organization.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("organizationUrl")] @@ -1003,9 +914,6 @@ public partial class Developer /// <code>role</code> element, the body of which is a role name. This can also be used to /// describe the contribution. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The roles the contributor plays in the project. Each role is described by " + - "a <code>role</code> element, the body of which is a role name. This " + - "can also be used to describe the contribution.")] [System.Xml.Serialization.XmlArrayAttribute("roles")] [System.Xml.Serialization.XmlArrayItemAttribute("role")] public System.Collections.ObjectModel.Collection Roles @@ -1046,7 +954,6 @@ public Developer() /// <a href="http://en.wikipedia.org/wiki/UTC%E2%88%9212:00">-12</a> to <a href="http://en.wikipedia.org/wiki/UTC%2B14:00">+14</a> /// or a valid time zone id like "America/Montreal" (UTC-05:00) or "Europe/Paris" (UTC+01:00). /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The timezone the contributor is in. Typically, this is a number in the range <a href=""http://en.wikipedia.org/wiki/UTC%E2%88%9212:00"">-12</a> to <a href=""http://en.wikipedia.org/wiki/UTC%2B14:00"">+14</a> or a valid time zone id like ""America/Montreal"" (UTC-05:00) or ""Europe/Paris"" (UTC+01:00).")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("timezone")] @@ -1056,7 +963,6 @@ public Developer() /// 3.0.0+ /// Properties about the contributor, such as an instant messenger handle. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Properties about the contributor, such as an instant messenger handle.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("properties")] @@ -1064,10 +970,7 @@ public Developer() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("DeveloperRoles", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeveloperRoles { @@ -1109,18 +1012,15 @@ public DeveloperRoles() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("DeveloperProperties", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeveloperProperties { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -1149,15 +1049,12 @@ public bool AnySpecified /// public DeveloperProperties() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelContributors", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelContributors { @@ -1203,14 +1100,8 @@ public ModelContributors() /// Description of a person who has contributed to the project, but who does not have /// commit privileges. Usually, these contributions come in the form of patches submitted. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Description of a person who has contributed to the project, but who does n" + - "ot have commit privileges. Usually, these contributions come in the form of patc" + - "hes submitted.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Contributor")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Contributor { @@ -1218,7 +1109,6 @@ public partial class Contributor /// 3.0.0+ /// The full name of the contributor. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The full name of the contributor.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -1228,7 +1118,6 @@ public partial class Contributor /// 3.0.0+ /// The email address of the contributor. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The email address of the contributor.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("email")] @@ -1238,7 +1127,6 @@ public partial class Contributor /// 3.0.0+ /// The URL for the homepage of the contributor. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL for the homepage of the contributor.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -1248,7 +1136,6 @@ public partial class Contributor /// 3.0.0+ /// The organization to which the contributor belongs. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The organization to which the contributor belongs.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("organization")] @@ -1258,7 +1145,6 @@ public partial class Contributor /// 3.0.0+ /// The URL of the organization. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The URL of the organization.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("organizationUrl")] @@ -1273,9 +1159,6 @@ public partial class Contributor /// <code>role</code> element, the body of which is a role name. This can also be used to /// describe the contribution. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The roles the contributor plays in the project. Each role is described by " + - "a <code>role</code> element, the body of which is a role name. This " + - "can also be used to describe the contribution.")] [System.Xml.Serialization.XmlArrayAttribute("roles")] [System.Xml.Serialization.XmlArrayItemAttribute("role")] public System.Collections.ObjectModel.Collection Roles @@ -1316,7 +1199,6 @@ public Contributor() /// <a href="http://en.wikipedia.org/wiki/UTC%E2%88%9212:00">-12</a> to <a href="http://en.wikipedia.org/wiki/UTC%2B14:00">+14</a> /// or a valid time zone id like "America/Montreal" (UTC-05:00) or "Europe/Paris" (UTC+01:00). /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The timezone the contributor is in. Typically, this is a number in the range <a href=""http://en.wikipedia.org/wiki/UTC%E2%88%9212:00"">-12</a> to <a href=""http://en.wikipedia.org/wiki/UTC%2B14:00"">+14</a> or a valid time zone id like ""America/Montreal"" (UTC-05:00) or ""Europe/Paris"" (UTC+01:00).")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("timezone")] @@ -1326,7 +1208,6 @@ public Contributor() /// 3.0.0+ /// Properties about the contributor, such as an instant messenger handle. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Properties about the contributor, such as an instant messenger handle.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("properties")] @@ -1334,10 +1215,7 @@ public Contributor() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ContributorRoles", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ContributorRoles { @@ -1379,18 +1257,15 @@ public ContributorRoles() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ContributorProperties", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ContributorProperties { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -1419,15 +1294,12 @@ public bool AnySpecified /// public ContributorProperties() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelMailingLists", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelMailingLists { @@ -1473,13 +1345,8 @@ public ModelMailingLists() /// This element describes all of the mailing lists associated with a project. The /// auto-generated site references this information. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes all of the mailing lists associated with a project." + - " The auto-generated site references this information.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("MailingList")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class MailingList { @@ -1487,7 +1354,6 @@ public partial class MailingList /// 3.0.0+ /// The name of the mailing list. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The name of the mailing list.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -1500,9 +1366,6 @@ public partial class MailingList /// <code>mailto:</code> link will automatically be created /// when the documentation is created. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The email address or link that can be used to subscribe to the mailing lis" + - "t. If this is an email address, a <code>mailto:</code> link will aut" + - "omatically be created when the documentation is created.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("subscribe")] @@ -1515,9 +1378,6 @@ public partial class MailingList /// <code>mailto:</code> link will automatically be created /// when the documentation is created. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The email address or link that can be used to unsubscribe to the mailing l" + - "ist. If this is an email address, a <code>mailto:</code> link will a" + - "utomatically be created when the documentation is created.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("unsubscribe")] @@ -1530,9 +1390,6 @@ public partial class MailingList /// <code>mailto:</code> link will automatically be created /// when the documentation is created. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ 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 automati" + - "cally be created when the documentation is created.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("post")] @@ -1542,7 +1399,6 @@ public partial class MailingList /// 3.0.0+ /// The link to a URL where you can browse the mailing list archive. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The link to a URL where you can browse the mailing list archive.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("archive")] @@ -1555,7 +1411,6 @@ public partial class MailingList /// 3.0.0+ /// The link to alternate URLs where you can browse the list archive. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The link to alternate URLs where you can browse the list archive.")] [System.Xml.Serialization.XmlArrayAttribute("otherArchives")] [System.Xml.Serialization.XmlArrayItemAttribute("otherArchive")] public System.Collections.ObjectModel.Collection OtherArchives @@ -1592,10 +1447,7 @@ public MailingList() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("MailingListOtherArchives", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class MailingListOtherArchives { @@ -1640,12 +1492,8 @@ public MailingListOtherArchives() /// 4.0.0+ /// Describes the prerequisites a project can have. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Describes the prerequisites a project can have.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Prerequisites")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Prerequisites { @@ -1658,8 +1506,6 @@ public partial class Prerequisites /// Maven required to use the resulting plugin.<br> /// [System.ComponentModel.DefaultValueAttribute("2.0")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ For a plugin project (packaging is <code>maven-plugin</code>)," + - " the minimum version of Maven required to use the resulting plugin.<br>")] [System.Xml.Serialization.XmlElementAttribute("maven")] public string Maven { @@ -1675,10 +1521,7 @@ public string Maven } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelModules", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelModules { @@ -1724,13 +1567,8 @@ public ModelModules() /// The <code>&lt;scm&gt;</code> element contains informations required to the SCM /// (Source Control Management) of the project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;scm&gt;</code> element contains informat" + - "ions required to the SCM (Source Control Management) of the project.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Scm")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Scm { @@ -1745,7 +1583,6 @@ public partial class Scm /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if /// scm's <code>child.scm.connection.inherit.append.path="false"</code> /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The source control management system URL that describes the repository and how to connect to the repository. For more information, see the <a href=""https://maven.apache.org/scm/scm-url-format.html"">URL format</a> and <a href=""https://maven.apache.org/scm/scms-overview.html"">list of supported SCMs</a>. This connection is read-only. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's <code>child.scm.connection.inherit.append.path=""false""</code>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("connection")] @@ -1758,7 +1595,6 @@ public partial class Scm /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if /// scm's <code>child.scm.developerConnection.inherit.append.path="false"</code> /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Just like <code>connection</code>, but for developers, i.e. this scm connection will not be read only. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's <code>child.scm.developerConnection.inherit.append.path=""false""</code>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("developerConnection")] @@ -1772,7 +1608,6 @@ public partial class Scm /// The tag of current code. By default, it's set to HEAD during development. /// [System.ComponentModel.DefaultValueAttribute("HEAD")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ The tag of current code. By default, it\'s set to HEAD during development.")] [System.Xml.Serialization.XmlElementAttribute("tag")] public string Tag { @@ -1792,7 +1627,6 @@ public string Tag /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if /// scm's <code>child.scm.url.inherit.append.path="false"</code> /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The URL to the project's browsable SCM repository, such as ViewVC or Fisheye. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if scm's <code>child.scm.url.inherit.append.path=""false""</code>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -1806,7 +1640,6 @@ public string Tag /// <br><b>Default value is</b>: <code>true</code> /// <br><b>Since</b>: Maven 3.6.1 /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from scm connection, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlAttributeAttribute("child.scm.connection.inherit.append.path")] @@ -1820,7 +1653,6 @@ public string Tag /// <br><b>Default value is</b>: <code>true</code> /// <br><b>Since</b>: Maven 3.6.1 /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from scm developer connection, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlAttributeAttribute("child.scm.developerConnection.inherit.append.path")] @@ -1834,7 +1666,6 @@ public string Tag /// <br><b>Default value is</b>: <code>true</code> /// <br><b>Since</b>: Maven 3.6.1 /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from scm url, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlAttributeAttribute("child.scm.url.inherit.append.path")] @@ -1846,13 +1677,8 @@ public string Tag /// Information about the issue tracking (or bug tracking) system used to manage this /// project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Information about the issue tracking (or bug tracking) system used to mana" + - "ge this project.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("IssueManagement")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class IssueManagement { @@ -1860,7 +1686,6 @@ public partial class IssueManagement /// 4.0.0+ /// The name of the issue management system, e.g. Bugzilla /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the issue management system, e.g. Bugzilla")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("system")] @@ -1870,7 +1695,6 @@ public partial class IssueManagement /// 4.0.0+ /// URL for the issue management system used by the project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ URL for the issue management system used by the project.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -1882,13 +1706,8 @@ public partial class IssueManagement /// The <code>&lt;CiManagement&gt;</code> element contains informations required to the /// continuous integration system of the project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;CiManagement&gt;</code> element contains" + - " informations required to the continuous integration system of the project.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("CiManagement")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CiManagement { @@ -1896,8 +1715,6 @@ public partial class CiManagement /// 4.0.0+ /// The name of the continuous integration system, e.g. <code>continuum</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the continuous integration system, e.g. <code>continuum&" + - "lt;/code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("system")] @@ -1908,8 +1725,6 @@ public partial class CiManagement /// URL for the continuous integration system used by the project if it has a web /// interface. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ URL for the continuous integration system used by the project if it has a " + - "web interface.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -1923,8 +1738,6 @@ public partial class CiManagement /// Configuration for notifying developers/users when a build is unsuccessful, /// including user information and notification mode. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Configuration for notifying developers/users when a build is unsuccessful," + - " including user information and notification mode.")] [System.Xml.Serialization.XmlArrayAttribute("notifiers")] [System.Xml.Serialization.XmlArrayItemAttribute("notifier")] public System.Collections.ObjectModel.Collection Notifiers @@ -1961,10 +1774,7 @@ public CiManagement() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("CiManagementNotifiers", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class CiManagementNotifiers { @@ -2009,12 +1819,8 @@ public CiManagementNotifiers() /// 4.0.0+ /// Configures one method for notifying users/developers when a build breaks. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Configures one method for notifying users/developers when a build breaks.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Notifier")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Notifier { @@ -2026,7 +1832,6 @@ public partial class Notifier /// The mechanism used to deliver notifications. /// [System.ComponentModel.DefaultValueAttribute("mail")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ The mechanism used to deliver notifications.")] [System.Xml.Serialization.XmlElementAttribute("type")] public string Type { @@ -2048,7 +1853,6 @@ public string Type /// Whether to send notifications on error. /// [System.ComponentModel.DefaultValueAttribute(true)] - [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to send notifications on error.")] [System.Xml.Serialization.XmlElementAttribute("sendOnError")] public bool SendOnError { @@ -2070,7 +1874,6 @@ public bool SendOnError /// Whether to send notifications on failure. /// [System.ComponentModel.DefaultValueAttribute(true)] - [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to send notifications on failure.")] [System.Xml.Serialization.XmlElementAttribute("sendOnFailure")] public bool SendOnFailure { @@ -2092,7 +1895,6 @@ public bool SendOnFailure /// Whether to send notifications on success. /// [System.ComponentModel.DefaultValueAttribute(true)] - [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to send notifications on success.")] [System.Xml.Serialization.XmlElementAttribute("sendOnSuccess")] public bool SendOnSuccess { @@ -2114,7 +1916,6 @@ public bool SendOnSuccess /// Whether to send notifications on warning. /// [System.ComponentModel.DefaultValueAttribute(true)] - [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to send notifications on warning.")] [System.Xml.Serialization.XmlElementAttribute("sendOnWarning")] public bool SendOnWarning { @@ -2132,8 +1933,6 @@ public bool SendOnWarning /// 4.0.0+ /// <b>Deprecated</b>. Where to send the notification to - eg email address. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ <b>Deprecated</b>. Where to send the notification to - eg emai" + - "l address.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("address")] @@ -2143,7 +1942,6 @@ public bool SendOnWarning /// 0.0.0+ /// Extended configuration specific to this notifier goes here. /// - [System.ComponentModel.DescriptionAttribute("0.0.0+ Extended configuration specific to this notifier goes here.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("configuration")] @@ -2151,18 +1949,15 @@ public bool SendOnWarning } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("NotifierConfiguration", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class NotifierConfiguration { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -2191,7 +1986,7 @@ public bool AnySpecified /// public NotifierConfiguration() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } @@ -2200,14 +1995,8 @@ public NotifierConfiguration() /// This elements describes all that pertains to distribution for a project. It is /// primarily used for deployment of artifacts and the site produced by the build. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ This elements describes all that pertains to distribution for a project. I" + - "t is primarily used for deployment of artifacts and the site produced by the bui" + - "ld.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("DistributionManagement")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DistributionManagement { @@ -2216,8 +2005,6 @@ public partial class DistributionManagement /// Information needed to deploy the artifacts generated by the project to a /// remote repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Information needed to deploy the artifacts generated by the project to a r" + - "emote repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("repository")] @@ -2228,8 +2015,6 @@ public partial class DistributionManagement /// Where to deploy snapshots of artifacts to. If not given, it defaults to the /// <code>repository</code> element. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Where to deploy snapshots of artifacts to. If not given, it defaults to th" + - "e <code>repository</code> element.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("snapshotRepository")] @@ -2239,7 +2024,6 @@ public partial class DistributionManagement /// 4.0.0+ /// Information needed for deploying the web site of the project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Information needed for deploying the web site of the project.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("site")] @@ -2252,10 +2036,6 @@ public partial class DistributionManagement /// This is given to assist in locating artifacts that are not in the repository due to /// licensing restrictions. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The URL of the project\'s download page. If not given users will be referre" + - "d to the homepage given by <code>url</code>. This is given to assist" + - " in locating artifacts that are not in the repository due to licensing restricti" + - "ons.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("downloadUrl")] @@ -2266,8 +2046,6 @@ public partial class DistributionManagement /// Relocation information of the artifact if it has been moved to a new group ID /// and/or artifact ID. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Relocation information of the artifact if it has been moved to a new group" + - " ID and/or artifact ID.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("relocation")] @@ -2283,7 +2061,6 @@ public partial class DistributionManagement /// (directly synced from a partner Maven 2 repository), <code>deployed</code> (was deployed from a Maven 2 /// instance), <code>verified</code> (has been hand verified as correct and final). /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Gives the status of this artifact in the remote repository. This must not be set in your local project, as it is updated by tools placing it in the reposiory. Valid values are: <code>none</code> (default), <code>converted</code> (repository manager converted this from an Maven 1 POM), <code>partner</code> (directly synced from a partner Maven 2 repository), <code>deployed</code> (was deployed from a Maven 2 instance), <code>verified</code> (has been hand verified as correct and final).")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("status")] @@ -2295,13 +2072,8 @@ public partial class DistributionManagement /// Repository contains the information needed for deploying to the remote /// repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Repository contains the information needed for deploying to the remote rep" + - "ository.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("DeploymentRepository")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DeploymentRepository { @@ -2314,8 +2086,6 @@ public partial class DeploymentRepository /// build number, or to use the same version each time /// [System.ComponentModel.DefaultValueAttribute(true)] - [System.ComponentModel.DescriptionAttribute("4.0.0+ Whether to assign snapshots a unique version comprised of the timestamp an" + - "d build number, or to use the same version each time")] [System.Xml.Serialization.XmlElementAttribute("uniqueVersion")] public bool UniqueVersion { @@ -2333,7 +2103,6 @@ public bool UniqueVersion /// 4.0.0+ /// How to handle downloading of releases from this repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ How to handle downloading of releases from this repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("releases")] @@ -2343,7 +2112,6 @@ public bool UniqueVersion /// 4.0.0+ /// How to handle downloading of snapshots from this repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ How to handle downloading of snapshots from this repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("snapshots")] @@ -2355,7 +2123,6 @@ public bool UniqueVersion /// to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is /// used during POM inheritance and profile injection to detect repositories that should be merged. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ A unique identifier for a repository. This is used to match the repository to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("id")] @@ -2365,7 +2132,6 @@ public bool UniqueVersion /// 4.0.0+ /// Human readable name of the repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Human readable name of the repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -2375,8 +2141,6 @@ public bool UniqueVersion /// 4.0.0+ /// The url of the repository, in the form <code>protocol://hostname/path</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The url of the repository, in the form <code>protocol://hostname/pat" + - "h</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -2391,8 +2155,6 @@ public bool UniqueVersion /// can be <code>legacy</code> or <code>default</code>. /// [System.ComponentModel.DefaultValueAttribute("default")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ The type of layout this repository uses for locating and storing artifacts" + - " - can be <code>legacy</code> or <code>default</code>.")] [System.Xml.Serialization.XmlElementAttribute("layout")] public string Layout { @@ -2411,12 +2173,8 @@ public string Layout /// 4.0.0+ /// Download policy. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Download policy.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("RepositoryPolicy")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class RepositoryPolicy { @@ -2426,7 +2184,6 @@ public partial class RepositoryPolicy /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>true</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether to use this repository for downloading this type of artifact. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("enabled")] @@ -2443,10 +2200,6 @@ public partial class RepositoryPolicy /// <code>never</code> /// (only if it doesn't exist locally). /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The frequency for downloading updates - can be <code>always,</cod" + - "e> <code>daily</code> (default), <code>interval:XXX</cod" + - "e> (in minutes) or <code>never</code> (only if it doesn\'t exist l" + - "ocally).")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("updatePolicy")] @@ -2462,9 +2215,6 @@ public partial class RepositoryPolicy /// <code>warn</code> /// (the default). /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ What to do when verification of an artifact checksum fails. Valid values a" + - "re <code>ignore</code> , <code>fail</code> or <code&g" + - "t;warn</code> (the default).")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("checksumPolicy")] @@ -2475,12 +2225,8 @@ public partial class RepositoryPolicy /// 4.0.0+ /// Contains the information needed for deploying websites. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Contains the information needed for deploying websites.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Site")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Site { @@ -2489,9 +2235,6 @@ public partial class Site /// A unique identifier for a deployment location. This is used to match the /// site to configuration in the <code>settings.xml</code> file, for example. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ A unique identifier for a deployment location. This is used to match the s" + - "ite to configuration in the <code>settings.xml</code> file, for exam" + - "ple.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("id")] @@ -2501,7 +2244,6 @@ public partial class Site /// 4.0.0+ /// Human readable name of the deployment location. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Human readable name of the deployment location.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -2513,7 +2255,6 @@ public partial class Site /// <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if /// site's <code>child.site.url.inherit.append.path="false"</code> /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The url of the location where website is deployed, in the form <code>protocol://hostname/path</code>. <br><b>Default value is</b>: parent value [+ path adjustment] + (artifactId or project.directory property), or just parent value if site's <code>child.site.url.inherit.append.path=""false""</code>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -2527,7 +2268,6 @@ public partial class Site /// <br><b>Default value is</b>: <code>true</code> /// <br><b>Since</b>: Maven 3.6.1 /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ When children inherit from distribution management site url, append path or not? Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code> <br><b>Default value is</b>: <code>true</code> <br><b>Since</b>: Maven 3.6.1")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlAttributeAttribute("child.site.url.inherit.append.path")] @@ -2539,13 +2279,8 @@ public partial class Site /// Describes where an artifact has moved to. If any of the values are omitted, it is /// assumed to be the same as it was before. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Describes where an artifact has moved to. If any of the values are omitted" + - ", it is assumed to be the same as it was before.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Relocation")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Relocation { @@ -2553,7 +2288,6 @@ public partial class Relocation /// 4.0.0+ /// The group ID the artifact has moved to. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID the artifact has moved to.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("groupId")] @@ -2563,7 +2297,6 @@ public partial class Relocation /// 4.0.0+ /// The new artifact ID of the artifact. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The new artifact ID of the artifact.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("artifactId")] @@ -2573,7 +2306,6 @@ public partial class Relocation /// 4.0.0+ /// The new version of the artifact. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The new version of the artifact.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("version")] @@ -2583,8 +2315,6 @@ public partial class Relocation /// 4.0.0+ /// An additional message to show the user about the move, such as the reason. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ An additional message to show the user about the move, such as the reason." + - "")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("message")] @@ -2592,10 +2322,7 @@ public partial class Relocation } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelProperties", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelProperties { @@ -2632,7 +2359,7 @@ public bool AnySpecified /// public ModelProperties() { - this._any = new System.Collections.ObjectModel.Collection (); + this._any = new System.Collections.ObjectModel.Collection(); } } @@ -2641,13 +2368,8 @@ public ModelProperties() /// Section for management of default dependency information for use in a group of /// POMs. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Section for management of default dependency information for use in a grou" + - "p of POMs.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("DependencyManagement")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DependencyManagement { @@ -2660,9 +2382,6 @@ public partial class DependencyManagement /// POM within the group. This allows the specification of a "standard" version for a /// particular dependency. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The dependencies specified here are not used until they are referenced in " + - "a POM within the group. This allows the specification of a \"standard\" version fo" + - "r a particular dependency.")] [System.Xml.Serialization.XmlArrayAttribute("dependencies")] [System.Xml.Serialization.XmlArrayItemAttribute("dependency")] public System.Collections.ObjectModel.Collection Dependencies @@ -2699,10 +2418,7 @@ public DependencyManagement() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("DependencyManagementDependencies", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DependencyManagementDependencies { @@ -2748,13 +2464,8 @@ public DependencyManagementDependencies() /// The <code>&lt;dependency&gt;</code> element contains information about a dependency /// of the project. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The <code>&lt;dependency&gt;</code> element contains i" + - "nformation about a dependency of the project.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Dependency")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Dependency { @@ -2763,8 +2474,6 @@ public partial class Dependency /// The project group that produced the dependency, e.g. /// <code>org.apache.maven</code>. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The project group that produced the dependency, e.g. <code>org.apach" + - "e.maven</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("groupId")] @@ -2775,8 +2484,6 @@ public partial class Dependency /// The unique id for an artifact produced by the project group, e.g. /// <code>maven-artifact</code>. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The unique id for an artifact produced by the project group, e.g. <code" + - ">maven-artifact</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("artifactId")] @@ -2787,8 +2494,6 @@ public partial class Dependency /// The version of the dependency, e.g. <code>3.2.1</code>. In Maven 2, this can also be /// specified as a range of versions. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The version of the dependency, e.g. <code>3.2.1</code>. In Mav" + - "en 2, this can also be specified as a range of versions.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("version")] @@ -2805,7 +2510,6 @@ public partial class Dependency /// artifact handlers</a> for a list. New types can be defined by extensions, so this is not a complete list. /// [System.ComponentModel.DefaultValueAttribute("jar")] - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The type of dependency, that will be mapped to a file extension, an optional classifier, and a few other attributes. Some examples are <code>jar</code>, <code>war</code>, <code>ejb-client</code> and <code>test-jar</code>: see <a href=""../maven-core/artifact-handlers.html"">default artifact handlers</a> for a list. New types can be defined by extensions, so this is not a complete list.")] [System.Xml.Serialization.XmlElementAttribute("type")] public string Type { @@ -2831,7 +2535,6 @@ public string Type /// For example, <code>jdk14</code> and <code>jdk15</code>.</li> /// </ul> /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The classifier of the dependency. It is appended to the filename after the version. This allows: <ul> <li>referring to attached artifact, for example <code>sources</code> and <code>javadoc</code>: see <a href=""../maven-core/artifact-handlers.html"">default artifact handlers</a> for a list,</li> <li>distinguishing two artifacts that belong to the same POM but were built differently. For example, <code>jdk14</code> and <code>jdk15</code>.</li> </ul>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("classifier")] @@ -2847,7 +2550,6 @@ public string Type /// <a href="https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the /// dependency mechanism</a>. The default scope is <code>compile</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The scope of the dependency - <code>compile</code>, <code>runtime</code>, <code>test</code>, <code>system</code>, and <code>provided</code>. Used to calculate the various classpaths used for compilation, testing, and so on. It also assists in determining which artifacts to include in a distribution of this project. For more information, see <a href=""https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"">the dependency mechanism</a>. The default scope is <code>compile</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("scope")] @@ -2862,7 +2564,6 @@ public string Type /// Use a property that gives the machine specific absolute path, /// e.g. <code>${java.home}</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ FOR SYSTEM SCOPE ONLY. Note that use of this property is <b>discouraged</b> and may be replaced in later versions. This specifies the path on the filesystem for this dependency. Requires an absolute path for the value, not relative. Use a property that gives the machine specific absolute path, e.g. <code>${java.home}</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("systemPath")] @@ -2876,8 +2577,6 @@ public string Type /// Lists a set of artifacts that should be excluded from this dependency's /// artifact list when it comes to calculating transitive dependencies. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Lists a set of artifacts that should be excluded from this dependency\'s ar" + - "tifact list when it comes to calculating transitive dependencies.")] [System.Xml.Serialization.XmlArrayAttribute("exclusions")] [System.Xml.Serialization.XmlArrayItemAttribute("exclusion")] public System.Collections.ObjectModel.Collection Exclusions @@ -2920,7 +2619,6 @@ public Dependency() /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>false</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Indicates the dependency is optional for use of this library. While the version of the dependency will be taken into account for dependency calculation if the library is used elsewhere, it will not be passed on transitively. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>false</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("optional")] @@ -2928,10 +2626,7 @@ public Dependency() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("DependencyExclusions", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class DependencyExclusions { @@ -2977,13 +2672,8 @@ public DependencyExclusions() /// The <code>&lt;exclusion&gt;</code> element contains informations required to exclude /// an artifact to the project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;exclusion&gt;</code> element contains in" + - "formations required to exclude an artifact to the project.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Exclusion")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Exclusion { @@ -2991,7 +2681,6 @@ public partial class Exclusion /// 4.0.0+ /// The artifact ID of the project to exclude. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact ID of the project to exclude.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("artifactId")] @@ -3001,7 +2690,6 @@ public partial class Exclusion /// 4.0.0+ /// The group ID of the project to exclude. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID of the project to exclude.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("groupId")] @@ -3009,10 +2697,7 @@ public partial class Exclusion } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelDependencies", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelDependencies { @@ -3054,10 +2739,7 @@ public ModelDependencies() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelRepositories", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelRepositories { @@ -3103,13 +2785,8 @@ public ModelRepositories() /// A repository contains the information needed for establishing connections with /// remote repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ A repository contains the information needed for establishing connections " + - "with remote repository.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Repository")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Repository { @@ -3117,7 +2794,6 @@ public partial class Repository /// 4.0.0+ /// How to handle downloading of releases from this repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ How to handle downloading of releases from this repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("releases")] @@ -3127,7 +2803,6 @@ public partial class Repository /// 4.0.0+ /// How to handle downloading of snapshots from this repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ How to handle downloading of snapshots from this repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("snapshots")] @@ -3139,7 +2814,6 @@ public partial class Repository /// to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is /// used during POM inheritance and profile injection to detect repositories that should be merged. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ A unique identifier for a repository. This is used to match the repository to configuration in the <code>settings.xml</code> file, for example. Furthermore, the identifier is used during POM inheritance and profile injection to detect repositories that should be merged.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("id")] @@ -3149,7 +2823,6 @@ public partial class Repository /// 4.0.0+ /// Human readable name of the repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Human readable name of the repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -3159,8 +2832,6 @@ public partial class Repository /// 4.0.0+ /// The url of the repository, in the form <code>protocol://hostname/path</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The url of the repository, in the form <code>protocol://hostname/pat" + - "h</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("url")] @@ -3175,8 +2846,6 @@ public partial class Repository /// can be <code>legacy</code> or <code>default</code>. /// [System.ComponentModel.DefaultValueAttribute("default")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ The type of layout this repository uses for locating and storing artifacts" + - " - can be <code>legacy</code> or <code>default</code>.")] [System.Xml.Serialization.XmlElementAttribute("layout")] public string Layout { @@ -3192,10 +2861,7 @@ public string Layout } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelPluginRepositories", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelPluginRepositories { @@ -3241,13 +2907,8 @@ public ModelPluginRepositories() /// The <code>&lt;build&gt;</code> element contains informations required to build the project. /// Default values are defined in Super POM. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ The <code>&lt;build&gt;</code> element contains inform" + - "ations required to build the project. Default values are defined in Super POM.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Build")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Build { @@ -3258,7 +2919,6 @@ public partial class Build /// built. The path given is relative to the project descriptor. /// The default value is <code>src/main/java</code>. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ This element specifies a directory containing the source of the project. The generated build system will compile the sources from this directory when the project is built. The path given is relative to the project descriptor. The default value is <code>src/main/java</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("sourceDirectory")] @@ -3272,7 +2932,6 @@ public partial class Build /// interpreted rather than compiled). /// The default value is <code>src/main/scripts</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ This element specifies a directory containing the script sources of the project. This directory is meant to be different from the sourceDirectory, in that its contents will be copied to the output directory in most cases (since scripts are interpreted rather than compiled). The default value is <code>src/main/scripts</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("scriptSourceDirectory")] @@ -3285,7 +2944,6 @@ public partial class Build /// being tested. The path given is relative to the project descriptor. /// The default value is <code>src/test/java</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ 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 path given is relative to the project descriptor. The default value is <code>src/test/java</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("testSourceDirectory")] @@ -3296,8 +2954,6 @@ public partial class Build /// The directory where compiled application classes are placed. /// The default value is <code>target/classes</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The directory where compiled application classes are placed. The default v" + - "alue is <code>target/classes</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("outputDirectory")] @@ -3308,8 +2964,6 @@ public partial class Build /// The directory where compiled test classes are placed. /// The default value is <code>target/test-classes</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The directory where compiled test classes are placed. The default value is" + - " <code>target/test-classes</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("testOutputDirectory")] @@ -3322,7 +2976,6 @@ public partial class Build /// 4.0.0+ /// A set of build extensions to use from this project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ A set of build extensions to use from this project.")] [System.Xml.Serialization.XmlArrayAttribute("extensions")] [System.Xml.Serialization.XmlArrayItemAttribute("extension")] public System.Collections.ObjectModel.Collection Extensions @@ -3368,7 +3021,6 @@ public Build() /// project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, /// multiple goals/phases can be separated by whitespace. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("defaultGoal")] @@ -3384,9 +3036,6 @@ public Build() /// package. /// The default value is <code>src/main/resources</code>. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes all of the classpath resources such as properties f" + - "iles associated with a project. These resources are often included in the final " + - "package. The default value is <code>src/main/resources</code>.")] [System.Xml.Serialization.XmlArrayAttribute("resources")] [System.Xml.Serialization.XmlArrayItemAttribute("resource")] public System.Collections.ObjectModel.Collection Resources @@ -3422,9 +3071,6 @@ public bool ResourcesSpecified /// files associated with a project's unit tests. /// The default value is <code>src/test/resources</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ This element describes all of the classpath resources such as properties f" + - "iles associated with a project\'s unit tests. The default value is <code>sr" + - "c/test/resources</code>.")] [System.Xml.Serialization.XmlArrayAttribute("testResources")] [System.Xml.Serialization.XmlArrayItemAttribute("testResource")] public System.Collections.ObjectModel.Collection TestResources @@ -3456,8 +3102,6 @@ public bool TestResourcesSpecified /// The directory where all files generated by the build are placed. /// The default value is <code>target</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The directory where all files generated by the build are placed. The defau" + - "lt value is <code>target</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("directory")] @@ -3469,9 +3113,6 @@ public bool TestResourcesSpecified /// the produced artifact will be called. /// The default value is <code>${artifactId}-${version}</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The filename (excluding the extension, and with no path information) that " + - "the produced artifact will be called. The default value is <code>${artifac" + - "tId}-${version}</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("finalName")] @@ -3484,8 +3125,6 @@ public bool TestResourcesSpecified /// 4.0.0+ /// The list of filter properties files that are used when filtering is enabled. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of filter properties files that are used when filtering is enable" + - "d.")] [System.Xml.Serialization.XmlArrayAttribute("filters")] [System.Xml.Serialization.XmlArrayItemAttribute("filter")] public System.Collections.ObjectModel.Collection Filters @@ -3519,7 +3158,6 @@ public bool FiltersSpecified /// lifecycle unless referenced. Any local configuration for a given plugin will override /// the plugin's entire definition here. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("pluginManagement")] @@ -3532,7 +3170,6 @@ public bool FiltersSpecified /// 4.0.0+ /// The list of plugins to use. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of plugins to use.")] [System.Xml.Serialization.XmlArrayAttribute("plugins")] [System.Xml.Serialization.XmlArrayItemAttribute("plugin")] public System.Collections.ObjectModel.Collection Plugins @@ -3561,10 +3198,7 @@ public bool PluginsSpecified } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildExtensions", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildExtensions { @@ -3609,12 +3243,8 @@ public BuildExtensions() /// 4.0.0+ /// Describes a build extension to utilise. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Describes a build extension to utilise.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Extension")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Extension { @@ -3622,7 +3252,6 @@ public partial class Extension /// 4.0.0+ /// The group ID of the extension's artifact. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID of the extension\'s artifact.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("groupId")] @@ -3632,7 +3261,6 @@ public partial class Extension /// 4.0.0+ /// The artifact ID of the extension. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact ID of the extension.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("artifactId")] @@ -3642,7 +3270,6 @@ public partial class Extension /// 4.0.0+ /// The version of the extension. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The version of the extension.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("version")] @@ -3650,10 +3277,7 @@ public partial class Extension } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildResources", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildResources { @@ -3699,13 +3323,8 @@ public BuildResources() /// This element describes all of the classpath resources associated with a project /// or unit tests. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes all of the classpath resources associated with a pr" + - "oject or unit tests.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Resource")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Resource { @@ -3719,7 +3338,6 @@ public partial class Resource /// This is not required if you simply put the resources in that directory /// structure at the source, however. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ Describe the resource target path. The path is relative to the target/classes directory (i.e. <code>${project.build.outputDirectory}</code>). For example, if you want that resource to appear in a specific package (<code>org.apache.maven.messages</code>), you must specify this element with this value: <code>org/apache/maven/messages</code>. This is not required if you simply put the resources in that directory structure at the source, however.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("targetPath")] @@ -3733,7 +3351,6 @@ public partial class Resource /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>false</code>. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ Whether resources are filtered to replace tokens with parameterised values or not. The values are taken from the <code>properties</code> element and from the properties in the files listed in the <code>filters</code> element. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>false</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("filtering")] @@ -3744,8 +3361,6 @@ public partial class Resource /// Describe the directory where the resources are stored. The path is relative /// to the POM. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Describe the directory where the resources are stored. The path is relativ" + - "e to the POM.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("directory")] @@ -3758,8 +3373,6 @@ public partial class Resource /// 3.0.0+ /// A list of patterns to include, e.g. <code>**&#47;*.xml</code>. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ A list of patterns to include, e.g. <code>**&#47;*.xml</code&" + - "gt;.")] [System.Xml.Serialization.XmlArrayAttribute("includes")] [System.Xml.Serialization.XmlArrayItemAttribute("include")] public System.Collections.ObjectModel.Collection Includes @@ -3802,8 +3415,6 @@ public Resource() /// 3.0.0+ /// A list of patterns to exclude, e.g. <code>**&#47;*.xml</code> /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ A list of patterns to exclude, e.g. <code>**&#47;*.xml</code&" + - "gt;")] [System.Xml.Serialization.XmlArrayAttribute("excludes")] [System.Xml.Serialization.XmlArrayItemAttribute("exclude")] public System.Collections.ObjectModel.Collection Excludes @@ -3832,10 +3443,7 @@ public bool ExcludesSpecified } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ResourceIncludes", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ResourceIncludes { @@ -3877,10 +3485,7 @@ public ResourceIncludes() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ResourceExcludes", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ResourceExcludes { @@ -3922,10 +3527,7 @@ public ResourceExcludes() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildTestResources", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildTestResources { @@ -3967,10 +3569,7 @@ public BuildTestResources() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildFilters", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildFilters { @@ -4015,13 +3614,8 @@ public BuildFilters() /// 4.0.0+ /// Section for management of default plugin information for use in a group of POMs. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Section for management of default plugin information for use in a group of" + - " POMs.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginManagement")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginManagement { @@ -4032,7 +3626,6 @@ public partial class PluginManagement /// 4.0.0+ /// The list of plugins to use. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of plugins to use.")] [System.Xml.Serialization.XmlArrayAttribute("plugins")] [System.Xml.Serialization.XmlArrayItemAttribute("plugin")] public System.Collections.ObjectModel.Collection Plugins @@ -4069,10 +3662,7 @@ public PluginManagement() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginManagementPlugins", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginManagementPlugins { @@ -4117,13 +3707,8 @@ public PluginManagementPlugins() /// 4.0.0+ /// The <code>&lt;plugin&gt;</code> element contains informations required for a plugin. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;plugin&gt;</code> element contains infor" + - "mations required for a plugin.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Plugin")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Plugin { @@ -4135,7 +3720,6 @@ public partial class Plugin /// The group ID of the plugin in the repository. /// [System.ComponentModel.DefaultValueAttribute("org.apache.maven.plugins")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID of the plugin in the repository.")] [System.Xml.Serialization.XmlElementAttribute("groupId")] public string GroupId { @@ -4153,7 +3737,6 @@ public string GroupId /// 4.0.0+ /// The artifact ID of the plugin in the repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact ID of the plugin in the repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("artifactId")] @@ -4163,7 +3746,6 @@ public string GroupId /// 4.0.0+ /// The version (or valid range of versions) of the plugin to be used. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The version (or valid range of versions) of the plugin to be used.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("version")] @@ -4176,7 +3758,6 @@ public string GroupId /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>false</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether to load Maven extensions (such as packaging and type handlers) from this plugin. For performance reasons, this should only be enabled when necessary. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>false</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("extensions")] @@ -4190,8 +3771,6 @@ public string GroupId /// Multiple specifications of a set of goals to execute during the build /// lifecycle, each having (possibly) a different configuration. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Multiple specifications of a set of goals to execute during the build life" + - "cycle, each having (possibly) a different configuration.")] [System.Xml.Serialization.XmlArrayAttribute("executions")] [System.Xml.Serialization.XmlArrayItemAttribute("execution")] public System.Collections.ObjectModel.Collection Executions @@ -4235,8 +3814,6 @@ public Plugin() /// Additional dependencies that this project needs to introduce to the plugin's /// classloader. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Additional dependencies that this project needs to introduce to the plugin" + - "\'s classloader.")] [System.Xml.Serialization.XmlArrayAttribute("dependencies")] [System.Xml.Serialization.XmlArrayItemAttribute("dependency")] public System.Collections.ObjectModel.Collection Dependencies @@ -4267,7 +3844,6 @@ public bool DependenciesSpecified /// 4.0.0+ /// <b>Deprecated</b>. Unused by Maven. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ <b>Deprecated</b>. Unused by Maven.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("goals")] @@ -4279,7 +3855,6 @@ public bool DependenciesSpecified /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>true</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether any configuration should be propagated to child POMs. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("inherited")] @@ -4300,7 +3875,6 @@ public bool DependenciesSpecified /// <a href="https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> /// for more information.</p> /// - [System.ComponentModel.DescriptionAttribute(@"0.0.0+ <p>The configuration as DOM object.</p> <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add <code>xml:space=""preserve""</code> to elements you want to preserve whitespace.</p> <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> or <code>combine.self</code> attributes to the children of the configuration element:</p> <ul> <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> </ul> <p>See <a href=""https://maven.apache.org/pom.html#Plugins"">POM Reference documentation</a> and <a href=""https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html"">Xpp3DomUtils</a> for more information.</p>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("configuration")] @@ -4308,10 +3882,7 @@ public bool DependenciesSpecified } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginExecutions", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginExecutions { @@ -4357,13 +3928,8 @@ public PluginExecutions() /// The <code>&lt;execution&gt;</code> element contains informations required for the /// execution of a plugin. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;execution&gt;</code> element contains in" + - "formations required for the execution of a plugin.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginExecution")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginExecution { @@ -4376,8 +3942,6 @@ public partial class PluginExecution /// and for matching executions to merge during inheritance and profile injection. /// [System.ComponentModel.DefaultValueAttribute("default")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ The identifier of this execution for labelling the goals during the build," + - " and for matching executions to merge during inheritance and profile injection.")] [System.Xml.Serialization.XmlElementAttribute("id")] public string Id { @@ -4396,8 +3960,6 @@ public string Id /// The build lifecycle phase to bind the goals in this execution to. If omitted, /// the goals will be bound to the default phase specified by the plugin. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The build lifecycle phase to bind the goals in this execution to. If omitt" + - "ed, the goals will be bound to the default phase specified by the plugin.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("phase")] @@ -4410,7 +3972,6 @@ public string Id /// 4.0.0+ /// The goals to execute with the given configuration. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The goals to execute with the given configuration.")] [System.Xml.Serialization.XmlArrayAttribute("goals")] [System.Xml.Serialization.XmlArrayItemAttribute("goal")] public System.Collections.ObjectModel.Collection Goals @@ -4451,7 +4012,6 @@ public PluginExecution() /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>true</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether any configuration should be propagated to child POMs. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("inherited")] @@ -4472,7 +4032,6 @@ public PluginExecution() /// <a href="https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> /// for more information.</p> /// - [System.ComponentModel.DescriptionAttribute(@"0.0.0+ <p>The configuration as DOM object.</p> <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add <code>xml:space=""preserve""</code> to elements you want to preserve whitespace.</p> <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> or <code>combine.self</code> attributes to the children of the configuration element:</p> <ul> <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> </ul> <p>See <a href=""https://maven.apache.org/pom.html#Plugins"">POM Reference documentation</a> and <a href=""https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html"">Xpp3DomUtils</a> for more information.</p>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("configuration")] @@ -4480,10 +4039,7 @@ public PluginExecution() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginExecutionGoals", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginExecutionGoals { @@ -4525,18 +4081,15 @@ public PluginExecutionGoals() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginExecutionConfiguration", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginExecutionConfiguration { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -4565,15 +4118,12 @@ public bool AnySpecified /// public PluginExecutionConfiguration() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginDependencies", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginDependencies { @@ -4615,18 +4165,15 @@ public PluginDependencies() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginGoals", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginGoals { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -4655,23 +4202,20 @@ public bool AnySpecified /// public PluginGoals() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("PluginConfiguration", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class PluginConfiguration { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -4700,15 +4244,12 @@ public bool AnySpecified /// public PluginConfiguration() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildPlugins", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildPlugins { @@ -4750,18 +4291,15 @@ public BuildPlugins() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelReports", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelReports { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -4790,7 +4328,7 @@ public bool AnySpecified /// public ModelReports() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } @@ -4798,12 +4336,8 @@ public ModelReports() /// 4.0.0+ /// Section for management of reports and their configuration. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Section for management of reports and their configuration.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Reporting")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Reporting { @@ -4814,7 +4348,6 @@ public partial class Reporting /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>false</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ If true, then the default reports are not included in the site generation. This includes the reports in the ""Project Info"" menu. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>false</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("excludeDefaults")] @@ -4825,8 +4358,6 @@ public partial class Reporting /// Where to store all of the generated reports. The default is /// <code>${project.build.directory}/site</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Where to store all of the generated reports. The default is <code>${" + - "project.build.directory}/site</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("outputDirectory")] @@ -4839,7 +4370,6 @@ public partial class Reporting /// 4.0.0+ /// The reporting plugins to use and their configuration. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The reporting plugins to use and their configuration.")] [System.Xml.Serialization.XmlArrayAttribute("plugins")] [System.Xml.Serialization.XmlArrayItemAttribute("plugin")] public System.Collections.ObjectModel.Collection Plugins @@ -4876,10 +4406,7 @@ public Reporting() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ReportingPlugins", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ReportingPlugins { @@ -4924,13 +4451,8 @@ public ReportingPlugins() /// 4.0.0+ /// The <code>&lt;plugin&gt;</code> element contains informations required for a report plugin. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The <code>&lt;plugin&gt;</code> element contains infor" + - "mations required for a report plugin.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ReportPlugin")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ReportPlugin { @@ -4942,7 +4464,6 @@ public partial class ReportPlugin /// The group ID of the reporting plugin in the repository. /// [System.ComponentModel.DefaultValueAttribute("org.apache.maven.plugins")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ The group ID of the reporting plugin in the repository.")] [System.Xml.Serialization.XmlElementAttribute("groupId")] public string GroupId { @@ -4960,7 +4481,6 @@ public string GroupId /// 4.0.0+ /// The artifact ID of the reporting plugin in the repository. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The artifact ID of the reporting plugin in the repository.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("artifactId")] @@ -4970,7 +4490,6 @@ public string GroupId /// 4.0.0+ /// The version of the reporting plugin to be used. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The version of the reporting plugin to be used.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("version")] @@ -4984,9 +4503,6 @@ public string GroupId /// Multiple specifications of a set of reports, each having (possibly) different /// configuration. This is the reporting parallel to an <code>execution</code> in the build. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Multiple specifications of a set of reports, each having (possibly) differ" + - "ent configuration. This is the reporting parallel to an <code>execution<" + - ";/code> in the build.")] [System.Xml.Serialization.XmlArrayAttribute("reportSets")] [System.Xml.Serialization.XmlArrayItemAttribute("reportSet")] public System.Collections.ObjectModel.Collection ReportSets @@ -5027,7 +4543,6 @@ public ReportPlugin() /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>true</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether any configuration should be propagated to child POMs. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("inherited")] @@ -5048,7 +4563,6 @@ public ReportPlugin() /// <a href="https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> /// for more information.</p> /// - [System.ComponentModel.DescriptionAttribute(@"0.0.0+ <p>The configuration as DOM object.</p> <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add <code>xml:space=""preserve""</code> to elements you want to preserve whitespace.</p> <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> or <code>combine.self</code> attributes to the children of the configuration element:</p> <ul> <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> </ul> <p>See <a href=""https://maven.apache.org/pom.html#Plugins"">POM Reference documentation</a> and <a href=""https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html"">Xpp3DomUtils</a> for more information.</p>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("configuration")] @@ -5056,10 +4570,7 @@ public ReportPlugin() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ReportPluginReportSets", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ReportPluginReportSets { @@ -5104,13 +4615,8 @@ public ReportPluginReportSets() /// 4.0.0+ /// Represents a set of reports and configuration to be used to generate them. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Represents a set of reports and configuration to be used to generate them." + - "")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ReportSet")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ReportSet { @@ -5123,8 +4629,6 @@ public partial class ReportSet /// for merging of report sets. /// [System.ComponentModel.DefaultValueAttribute("default")] - [System.ComponentModel.DescriptionAttribute("0.0.0+ The unique id for this report set, to be used during POM inheritance and p" + - "rofile injection for merging of report sets.")] [System.Xml.Serialization.XmlElementAttribute("id")] public string Id { @@ -5145,8 +4649,6 @@ public string Id /// 4.0.0+ /// The list of reports from this plugin which should be generated from this set. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of reports from this plugin which should be generated from this s" + - "et.")] [System.Xml.Serialization.XmlArrayAttribute("reports")] [System.Xml.Serialization.XmlArrayItemAttribute("report")] public System.Collections.ObjectModel.Collection Reports @@ -5187,7 +4689,6 @@ public ReportSet() /// of this field is <code>String</code> for technical reasons, the semantic type is actually /// <code>Boolean</code>. Default value is <code>true</code>. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Whether any configuration should be propagated to child POMs. Note: While the type of this field is <code>String</code> for technical reasons, the semantic type is actually <code>Boolean</code>. Default value is <code>true</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("inherited")] @@ -5208,7 +4709,6 @@ public ReportSet() /// <a href="https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html">Xpp3DomUtils</a> /// for more information.</p> /// - [System.ComponentModel.DescriptionAttribute(@"0.0.0+ <p>The configuration as DOM object.</p> <p>By default, every element content is trimmed, but starting with Maven 3.1.0, you can add <code>xml:space=""preserve""</code> to elements you want to preserve whitespace.</p> <p>You can control how child POMs inherit configuration from parent POMs by adding <code>combine.children</code> or <code>combine.self</code> attributes to the children of the configuration element:</p> <ul> <li><code>combine.children</code>: available values are <code>merge</code> (default) and <code>append</code>,</li> <li><code>combine.self</code>: available values are <code>merge</code> (default) and <code>override</code>.</li> </ul> <p>See <a href=""https://maven.apache.org/pom.html#Plugins"">POM Reference documentation</a> and <a href=""https://codehaus-plexus.github.io/plexus-utils/apidocs/org/codehaus/plexus/util/xml/Xpp3DomUtils.html"">Xpp3DomUtils</a> for more information.</p>")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("configuration")] @@ -5216,10 +4716,7 @@ public ReportSet() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ReportSetReports", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ReportSetReports { @@ -5261,18 +4758,15 @@ public ReportSetReports() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ReportSetConfiguration", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ReportSetConfiguration { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -5301,23 +4795,20 @@ public bool AnySpecified /// public ReportSetConfiguration() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ReportPluginConfiguration", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ReportPluginConfiguration { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -5346,15 +4837,12 @@ public bool AnySpecified /// public ReportPluginConfiguration() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ModelProfiles", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ModelProfiles { @@ -5400,13 +4888,8 @@ public ModelProfiles() /// Modifications to the build process which is activated based on environmental /// parameters or command line arguments. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Modifications to the build process which is activated based on environment" + - "al parameters or command line arguments.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Profile")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Profile { @@ -5419,8 +4902,6 @@ public partial class Profile /// activation, and identifies profiles to be merged. /// [System.ComponentModel.DefaultValueAttribute("default")] - [System.ComponentModel.DescriptionAttribute("4.0.0+ The identifier of this build profile. This is used for command line activa" + - "tion, and identifies profiles to be merged.")] [System.Xml.Serialization.XmlElementAttribute("id")] public string Id { @@ -5439,8 +4920,6 @@ public string Id /// The conditional logic which will automatically trigger the inclusion of this /// profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The conditional logic which will automatically trigger the inclusion of th" + - "is profile.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("activation")] @@ -5450,7 +4929,6 @@ public string Id /// 4.0.0+ /// Information required to build the project. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Information required to build the project.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("build")] @@ -5466,7 +4944,6 @@ public string Id /// To be consistent with the way default urls are calculated from parent, it is recommended /// to have module names match artifact ids. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ The modules (sometimes called subprojects) to build as a part of this project. Each module listed is a relative path to the directory containing the module. To be consistent with the way default urls are calculated from parent, it is recommended to have module names match artifact ids.")] [System.Xml.Serialization.XmlArrayAttribute("modules")] [System.Xml.Serialization.XmlArrayItemAttribute("module")] public System.Collections.ObjectModel.Collection Modules @@ -5509,8 +4986,6 @@ public Profile() /// Distribution information for a project that enables deployment of the site /// and artifacts to remote web servers and repositories respectively. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Distribution information for a project that enables deployment of the site" + - " and artifacts to remote web servers and repositories respectively.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("distributionManagement")] @@ -5522,9 +4997,6 @@ public Profile() /// are used as filters in resources if enabled. /// The format is <code>&lt;name&gt;value&lt;/name&gt;</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Properties that can be used throughout the POM as a substitution, and are " + - "used as filters in resources if enabled. The format is <code>&lt;name&" + - "amp;gt;value&lt;/name&gt;</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("properties")] @@ -5538,7 +5010,6 @@ public Profile() /// version and other values from this section are used for that dependency if they were not /// already specified. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Default dependency information for projects that inherit from this one. The dependencies in this section are not immediately resolved. Instead, when a POM derived from this one declares a dependency described by a matching groupId and artifactId, the version and other values from this section are used for that dependency if they were not already specified.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("dependencyManagement")] @@ -5557,7 +5028,6 @@ public Profile() /// See <a href="https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html">the /// dependency mechanism</a> for more information. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ This element describes all of the dependencies associated with a project. These dependencies are used to construct a classpath for your project during the build process. They are automatically downloaded from the repositories defined in this project. See <a href=""https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html"">the dependency mechanism</a> for more information.")] [System.Xml.Serialization.XmlArrayAttribute("dependencies")] [System.Xml.Serialization.XmlArrayItemAttribute("dependency")] public System.Collections.ObjectModel.Collection Dependencies @@ -5592,8 +5062,6 @@ public bool DependenciesSpecified /// The lists of the remote repositories for discovering dependencies and /// extensions. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The lists of the remote repositories for discovering dependencies and exte" + - "nsions.")] [System.Xml.Serialization.XmlArrayAttribute("repositories")] [System.Xml.Serialization.XmlArrayItemAttribute("repository")] public System.Collections.ObjectModel.Collection Repositories @@ -5628,8 +5096,6 @@ public bool RepositoriesSpecified /// The lists of the remote repositories for discovering plugins for builds and /// reports. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The lists of the remote repositories for discovering plugins for builds an" + - "d reports.")] [System.Xml.Serialization.XmlArrayAttribute("pluginRepositories")] [System.Xml.Serialization.XmlArrayItemAttribute("pluginRepository")] public System.Collections.ObjectModel.Collection PluginRepositories @@ -5660,7 +5126,6 @@ public bool PluginRepositoriesSpecified /// 4.0.0+ /// <b>Deprecated</b>. Now ignored by Maven. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ <b>Deprecated</b>. Now ignored by Maven.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("reports")] @@ -5673,7 +5138,6 @@ public bool PluginRepositoriesSpecified /// These reports will be run when a user executes <code>mvn site</code>. /// All of the reports will be included in the navigation bar for browsing. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ This element includes the specification of report plugins to use to generate the reports on the Maven-generated site. These reports will be run when a user executes <code>mvn site</code>. All of the reports will be included in the navigation bar for browsing.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("reporting")] @@ -5686,14 +5150,8 @@ public bool PluginRepositoriesSpecified /// automatic inclusion of the build profile. Multiple conditions can be defined, which must /// be all satisfied to activate the profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The conditions within the build runtime environment which will trigger the" + - " automatic inclusion of the build profile. Multiple conditions can be defined, w" + - "hich must be all satisfied to activate the profile.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("Activation")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class Activation { @@ -5707,9 +5165,6 @@ public partial class Activation /// activators. /// [System.ComponentModel.DefaultValueAttribute(false)] - [System.ComponentModel.DescriptionAttribute("4.0.0+ If set to true, this profile will be active unless another profile in this" + - " pom is activated using the command line -P option or by one of that profile\'s a" + - "ctivators.")] [System.Xml.Serialization.XmlElementAttribute("activeByDefault")] public bool ActiveByDefault { @@ -5730,7 +5185,6 @@ public bool ActiveByDefault /// while <code>!1.4</code> matches any JDK that is not version 1.4. Ranges are supported too: /// <code>[1.5,)</code> activates when the JDK is 1.5 minimum. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Specifies that this profile will be activated when a matching JDK is detected. For example, <code>1.4</code> only activates on JDKs versioned 1.4, while <code>!1.4</code> matches any JDK that is not version 1.4. Ranges are supported too: <code>[1.5,)</code> activates when the JDK is 1.5 minimum.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("jdk")] @@ -5741,8 +5195,6 @@ public bool ActiveByDefault /// Specifies that this profile will be activated when matching operating system /// attributes are detected. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Specifies that this profile will be activated when matching operating syst" + - "em attributes are detected.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("os")] @@ -5753,8 +5205,6 @@ public bool ActiveByDefault /// Specifies that this profile will be activated when this system property is /// specified. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Specifies that this profile will be activated when this system property is" + - " specified.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("property")] @@ -5764,8 +5214,6 @@ public bool ActiveByDefault /// 4.0.0+ /// Specifies that this profile will be activated based on existence of a file. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ Specifies that this profile will be activated based on existence of a file" + - ".")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("file")] @@ -5777,13 +5225,8 @@ public bool ActiveByDefault /// This is an activator which will detect an operating system's attributes in order /// to activate its profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ This is an activator which will detect an operating system\'s attributes in" + - " order to activate its profile.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ActivationOS")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ActivationOs { @@ -5792,9 +5235,6 @@ public partial class ActivationOs /// The name of the operating system to be used to activate the profile. This must be an exact match /// of the <code>${os.name}</code> Java property, such as <code>Windows XP</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the operating system to be used to activate the profile. This " + - "must be an exact match of the <code>${os.name}</code> Java property," + - " such as <code>Windows XP</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -5805,8 +5245,6 @@ public partial class ActivationOs /// The general family of the OS to be used to activate the profile, such as /// <code>windows</code> or <code>unix</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The general family of the OS to be used to activate the profile, such as &" + - "lt;code>windows</code> or <code>unix</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("family")] @@ -5817,8 +5255,6 @@ public partial class ActivationOs /// The architecture of the operating system to be used to activate the /// profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The architecture of the operating system to be used to activate the profil" + - "e.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("arch")] @@ -5829,7 +5265,6 @@ public partial class ActivationOs /// The version of the operating system to be used to activate the /// profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The version of the operating system to be used to activate the profile.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("version")] @@ -5842,15 +5277,8 @@ public partial class ActivationOs /// is empty, then the existence of the named property will activate the profile, otherwise it /// does a case-sensitive match against the property value as well. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ This is the property specification used to activate a profile. If the valu" + - "e field is empty, then the existence of the named property will activate the pro" + - "file, otherwise it does a case-sensitive match against the property value as wel" + - "l.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ActivationProperty")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ActivationProperty { @@ -5858,7 +5286,6 @@ public partial class ActivationProperty /// 4.0.0+ /// The name of the property to be used to activate a profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the property to be used to activate a profile.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("name")] @@ -5868,7 +5295,6 @@ public partial class ActivationProperty /// 4.0.0+ /// The value of the property required to activate a profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The value of the property required to activate a profile.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("value")] @@ -5884,12 +5310,8 @@ public partial class ActivationProperty /// Variable interpolation for these file specifications is limited to <code>${basedir}</code>, /// System properties and request properties. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ This is the file specification used to activate the profile. The <code>missing</code> value is the location of a file that needs to exist, and if it doesn't, the profile will be activated. On the other hand, <code>exists</code> will test for the existence of the file and if it is there, the profile will be activated.<br> Variable interpolation for these file specifications is limited to <code>${basedir}</code>, System properties and request properties.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ActivationFile")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ActivationFile { @@ -5898,7 +5320,6 @@ public partial class ActivationFile /// The name of the file that must be missing to activate the /// profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the file that must be missing to activate the profile.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("missing")] @@ -5908,7 +5329,6 @@ public partial class ActivationFile /// 4.0.0+ /// The name of the file that must exist to activate the profile. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The name of the file that must exist to activate the profile.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("exists")] @@ -5919,12 +5339,8 @@ public partial class ActivationFile /// 3.0.0+ /// Generic informations for a build. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ Generic informations for a build.")] [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildBase")] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildBase { @@ -5935,7 +5351,6 @@ public partial class BuildBase /// project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, /// multiple goals/phases can be separated by whitespace. /// - [System.ComponentModel.DescriptionAttribute(@"3.0.0+ The default goal (or phase in Maven 2) to execute when none is specified for the project. Note that in case of a multi-module build, only the default goal of the top-level project is relevant, i.e. the default goals of child modules are ignored. Since Maven 3, multiple goals/phases can be separated by whitespace.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("defaultGoal")] @@ -5951,9 +5366,6 @@ public partial class BuildBase /// package. /// The default value is <code>src/main/resources</code>. /// - [System.ComponentModel.DescriptionAttribute("3.0.0+ This element describes all of the classpath resources such as properties f" + - "iles associated with a project. These resources are often included in the final " + - "package. The default value is <code>src/main/resources</code>.")] [System.Xml.Serialization.XmlArrayAttribute("resources")] [System.Xml.Serialization.XmlArrayItemAttribute("resource")] public System.Collections.ObjectModel.Collection Resources @@ -6000,9 +5412,6 @@ public BuildBase() /// files associated with a project's unit tests. /// The default value is <code>src/test/resources</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ This element describes all of the classpath resources such as properties f" + - "iles associated with a project\'s unit tests. The default value is <code>sr" + - "c/test/resources</code>.")] [System.Xml.Serialization.XmlArrayAttribute("testResources")] [System.Xml.Serialization.XmlArrayItemAttribute("testResource")] public System.Collections.ObjectModel.Collection TestResources @@ -6034,8 +5443,6 @@ public bool TestResourcesSpecified /// The directory where all files generated by the build are placed. /// The default value is <code>target</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The directory where all files generated by the build are placed. The defau" + - "lt value is <code>target</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("directory")] @@ -6047,9 +5454,6 @@ public bool TestResourcesSpecified /// the produced artifact will be called. /// The default value is <code>${artifactId}-${version}</code>. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The filename (excluding the extension, and with no path information) that " + - "the produced artifact will be called. The default value is <code>${artifac" + - "tId}-${version}</code>.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("finalName")] @@ -6062,8 +5466,6 @@ public bool TestResourcesSpecified /// 4.0.0+ /// The list of filter properties files that are used when filtering is enabled. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of filter properties files that are used when filtering is enable" + - "d.")] [System.Xml.Serialization.XmlArrayAttribute("filters")] [System.Xml.Serialization.XmlArrayItemAttribute("filter")] public System.Collections.ObjectModel.Collection Filters @@ -6097,7 +5499,6 @@ public bool FiltersSpecified /// lifecycle unless referenced. Any local configuration for a given plugin will override /// the plugin's entire definition here. /// - [System.ComponentModel.DescriptionAttribute(@"4.0.0+ Default plugin information to be made available for reference by projects derived from this one. This plugin configuration will not be resolved or bound to the lifecycle unless referenced. Any local configuration for a given plugin will override the plugin's entire definition here.")] [System.Diagnostics.CodeAnalysis.AllowNullAttribute()] [System.Diagnostics.CodeAnalysis.MaybeNullAttribute()] [System.Xml.Serialization.XmlElementAttribute("pluginManagement")] @@ -6110,7 +5511,6 @@ public bool FiltersSpecified /// 4.0.0+ /// The list of plugins to use. /// - [System.ComponentModel.DescriptionAttribute("4.0.0+ The list of plugins to use.")] [System.Xml.Serialization.XmlArrayAttribute("plugins")] [System.Xml.Serialization.XmlArrayItemAttribute("plugin")] public System.Collections.ObjectModel.Collection Plugins @@ -6139,10 +5539,7 @@ public bool PluginsSpecified } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildBaseResources", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildBaseResources { @@ -6184,10 +5581,7 @@ public BuildBaseResources() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildBaseTestResources", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildBaseTestResources { @@ -6229,10 +5623,7 @@ public BuildBaseTestResources() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildBaseFilters", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildBaseFilters { @@ -6274,10 +5665,7 @@ public BuildBaseFilters() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("BuildBasePlugins", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class BuildBasePlugins { @@ -6319,10 +5707,7 @@ public BuildBasePlugins() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ProfileModules", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ProfileModules { @@ -6364,18 +5749,15 @@ public ProfileModules() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ProfileProperties", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ProfileProperties { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -6404,15 +5786,12 @@ public bool AnySpecified /// public ProfileProperties() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ProfileDependencies", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ProfileDependencies { @@ -6454,10 +5833,7 @@ public ProfileDependencies() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ProfileRepositories", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ProfileRepositories { @@ -6499,10 +5875,7 @@ public ProfileRepositories() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ProfilePluginRepositories", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ProfilePluginRepositories { @@ -6544,18 +5917,15 @@ public ProfilePluginRepositories() } [System.CodeDom.Compiler.GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1057.0")] - [System.SerializableAttribute()] [System.Xml.Serialization.XmlTypeAttribute("ProfileReports", AnonymousType=true)] - [System.Diagnostics.DebuggerStepThroughAttribute()] - [System.ComponentModel.DesignerCategoryAttribute("code")] public partial class ProfileReports { [System.Xml.Serialization.XmlIgnoreAttribute()] - private System.Collections.ObjectModel.Collection _any; + private System.Collections.ObjectModel.Collection _any; [System.Xml.Serialization.XmlAnyElementAttribute()] - public System.Collections.ObjectModel.Collection Any + public System.Collections.ObjectModel.Collection Any { get { @@ -6584,7 +5954,7 @@ public bool AnySpecified /// public ProfileReports() { - this._any = new System.Collections.ObjectModel.Collection(); + this._any = new System.Collections.ObjectModel.Collection(); } } } From 7a2b1050345b806f9da58644e64e042e1ac63ab8 Mon Sep 17 00:00:00 2001 From: Jonathan Pryor Date: Mon, 11 Mar 2024 13:13:06 -0400 Subject: [PATCH 7/7] Whitespace updates. --- .../Java.Interop.Tools.Maven.targets | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.targets b/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.targets index 8367d4391..bda3aae04 100644 --- a/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.targets +++ b/src/Java.Interop.Tools.Maven/Java.Interop.Tools.Maven.targets @@ -32,9 +32,10 @@ + TemplateFile="Models/Java.Interop.Tools.Maven.Models.cs" + OutputFile="Models/Project.cs" + Replacements="@(Replacements)" + />