@Stability(value=Experimental) public static final class PomOptions.Builder extends Object implements software.amazon.jsii.Builder<PomOptions>
PomOptions| Constructor and Description |
|---|
Builder() |
| Modifier and Type | Method and Description |
|---|---|
PomOptions.Builder |
artifactId(String artifactId)
Sets the value of
PomOptions.getArtifactId() |
PomOptions |
build()
Builds the configured instance.
|
PomOptions.Builder |
description(String description)
Sets the value of
PomOptions.getDescription() |
PomOptions.Builder |
groupId(String groupId)
Sets the value of
PomOptions.getGroupId() |
PomOptions.Builder |
packaging(String packaging)
Sets the value of
PomOptions.getPackaging() |
PomOptions.Builder |
url(String url)
Sets the value of
PomOptions.getUrl() |
PomOptions.Builder |
version(String version)
Sets the value of
PomOptions.getVersion() |
@Stability(value=Experimental) public PomOptions.Builder artifactId(String artifactId)
PomOptions.getArtifactId()artifactId - The artifactId is generally the name that the project is known by. This parameter is required.
Although
the groupId is important, people within the group will rarely mention the
groupId in discussion (they are often all be the same ID, such as the
MojoHaus project groupId: org.codehaus.mojo). It, along with the groupId,
creates a key that separates this project from every other project in the
world (at least, it should :) ). Along with the groupId, the artifactId
fully defines the artifact's living quarters within the repository. In the
case of the above project, my-project lives in
$M2_REPO/org/codehaus/mojo/my-project.this@Stability(value=Experimental) public PomOptions.Builder groupId(String groupId)
PomOptions.getGroupId()groupId - This is generally unique amongst an organization or a project. This parameter is required.
For example,
all core Maven artifacts do (well, should) live under the groupId
org.apache.maven. Group ID's do not necessarily use the dot notation, for
example, the junit project. Note that the dot-notated groupId does not have
to correspond to the package structure that the project contains. It is,
however, a good practice to follow. When stored within a repository, the
group acts much like the Java packaging structure does in an operating
system. The dots are replaced by OS specific directory separators (such as
'/' in Unix) which becomes a relative directory structure from the base
repository. In the example given, the org.codehaus.mojo group lives within
the directory $M2_REPO/org/codehaus/mojo.this@Stability(value=Experimental) public PomOptions.Builder version(String version)
PomOptions.getVersion()version - This is the last piece of the naming puzzle. This parameter is required.
groupId:artifactId denotes a
single project but they cannot delineate which incarnation of that project
we are talking about. Do we want the junit:junit of 2018 (version 4.12), or
of 2007 (version 3.8.2)? In short: code changes, those changes should be
versioned, and this element keeps those versions in line. It is also used
within an artifact's repository to separate versions from each other.
my-project version 1.0 files live in the directory structure
$M2_REPO/org/codehaus/mojo/my-project/1.0.this@Stability(value=Experimental) public PomOptions.Builder description(String description)
PomOptions.getDescription()description - Description of a project is always good.
Although this should not replace
formal documentation, a quick comment to any readers of the POM is always
helpful.this@Stability(value=Experimental) public PomOptions.Builder packaging(String packaging)
PomOptions.getPackaging()packaging - Project packaging format.this@Stability(value=Experimental) public PomOptions.Builder url(String url)
PomOptions.getUrl()url - The URL, like the name, is not required.
This is a nice gesture for
projects users, however, so that they know where the project lives.this@Stability(value=Experimental) public PomOptions build()
build in interface software.amazon.jsii.Builder<PomOptions>PomOptionsNullPointerException - if any required attribute was not providedCopyright © 2021. All rights reserved.