aQute.maven.dto.PomDTO Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of biz.aQute.bnd Show documentation
Show all versions of biz.aQute.bnd Show documentation
This command line utility is the Swiss army knife of OSGi. It provides you with a breadth of tools to understand and manage OSGi based systems. This project basically uses bndlib.
package aQute.maven.dto;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
import aQute.bnd.version.MavenVersion;
/**
* The <code><project></code> element is the root of
* the descriptor. The following table lists all of the possible child elements.
*
*
* The <code><project></code> element is the root of
* the descriptor. The following table lists all of the possible child elements.
*
*/
public class PomDTO {
/**
* Declares to which version of project descriptor this POM conforms.<
*/
public String modelVersion = "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.
*/
public ParentDTO parent;
/**
* 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>).
*
*/
public String groupId;
/**
* 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.
*/
public String artifactId;
/**
* The current version of the artifact produced by this project.
*/
public MavenVersion version;
/**
* 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.
*
*/
public String packaging = "jar";
/**
* The full name of the project.
*/
public String name;
/**
* 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.
*/
public String description;
/**
* The URL to the project's homepage.
* Default value is: parent value [+ path adjustment] + artifactId
*/
public URI url;
/**
* The year of the project's inception, specified with 4 digits. This value
* is used when generating copyright notices as well as being informational.
*/
public int inceptionYear;
/**
* 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).
*/
public OrganizationDTO organization;
/**
* This element describes all of the licenses for this project. Each license
* is described by a license
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.
*/
public LicenseDTO[] licenses = new LicenseDTO[0];
/**
* Describes the committers of a project.
*/
public DeveloperDTO[] developers = new DeveloperDTO[0];
/**
* Describes the contributors to a project that are not yet committers.
*/
public DeveloperDTO[] contributors = new DeveloperDTO[0];
/**
* Contains information about a project's mailing lists.
*/
public MailingListDTO[] mailingLists = new MailingListDTO[0];
/**
* Describes the prerequisites in the build environment for this project.
*/
public PrerequisitesDTO prerequisites = new PrerequisitesDTO();
/**
* 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.
*/
String[] modules;
/**
* Specification for the SCM used by the project, such as CVS, Subversion,
* etc.
*/
public ScmDTO scm = new ScmDTO();
/**
* The project's issue management system information.
*/
public IssueManagementDTO issueManagement = new IssueManagementDTO();
/**
* The project's continuous integration information.
*/
public CiManagementDTO ciManagement = new CiManagementDTO();
/**
* Distribution information for a project that enables deployment of the
* site and artifacts to remote web servers and repositories respectively.
*/
public DistributionManagementDTO distributionManagement = new DistributionManagementDTO();
/**
* Properties that can be used throughout the POM as a substitution, and are
* used as filters in resources if enabled. The format is
* <name>value</name>
.
*/
public Map properties = new HashMap<>();
/**
* 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.
*/
public DependencyManagementDTO dependencyManagement = new DependencyManagementDTO();
/**
* 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
* the dependency mechanism for more information.
*/
public DependencyDTO[] dependencies = new DependencyDTO[0];
/**
* The lists of the remote repositories for discovering dependencies and
* extensions.
*/
public RepositoryDTO[] repositories = new RepositoryDTO[0];
/**
* The lists of the remote repositories for discovering plugins for builds
* and reports.
*/
public RepositoryDTO[] pluginRepositories = new RepositoryDTO[0];
/**
* Information required to build the project.
*/
public BuildDTO build = new BuildDTO();
/**
* 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 mvn site
. All of the reports will
* be included in the navigation bar for browsing.
*/
public ReportingDTO reporting = new ReportingDTO();
/**
* A listing of project-local build profiles which will modify the build
* process when activated.
*/
ProfileDTO[] profiles = new ProfileDTO[0];
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy