@Stability(value=Experimental) public static final class JavaProjectCommonOptions.Builder extends Object implements software.amazon.jsii.Builder<JavaProjectCommonOptions>
JavaProjectCommonOptions| Constructor and Description |
|---|
Builder() |
@Stability(value=Experimental) public JavaProjectCommonOptions.Builder compileOptions(MavenCompileOptions compileOptions)
JavaProjectCommonOptions.getCompileOptions()compileOptions - Compile options.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder deps(List<String> deps)
JavaProjectCommonOptions.getDeps()deps - List of runtime dependencies for this project.
Dependencies use the format: <groupId>/<artifactId>@<semver>
Additional dependencies can be added via project.addDependency().
this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder distdir(String distdir)
JavaProjectCommonOptions.getDistdir()distdir - Final artifact output directory.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder junit(Boolean junit)
JavaProjectCommonOptions.getJunit()junit - Include junit tests.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder junitOptions(JunitOptions junitOptions)
JavaProjectCommonOptions.getJunitOptions()junitOptions - junit options.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder packagingOptions(MavenPackagingOptions packagingOptions)
JavaProjectCommonOptions.getPackagingOptions()packagingOptions - Packaging options.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder projenrcJava(Boolean projenrcJava)
JavaProjectCommonOptions.getProjenrcJava()projenrcJava - Use projenrc in java.
This will install projen as a java dependency and will add a synth task which
will compile & execute main() from src/main/java/projenrc.java.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder projenrcJavaOptions(ProjenrcOptions projenrcJavaOptions)
JavaProjectCommonOptions.getProjenrcJavaOptions()projenrcJavaOptions - Options related to projenrc in java.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder testDeps(List<String> testDeps)
JavaProjectCommonOptions.getTestDeps()testDeps - List of test dependencies for this project.
Dependencies use the format: <groupId>/<artifactId>@<semver>
Additional dependencies can be added via project.addTestDependency().
this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder autoApproveOptions(AutoApproveOptions autoApproveOptions)
GitHubProjectOptions.getAutoApproveOptions()autoApproveOptions - Enable and configure the 'auto approve' workflow.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder autoMergeOptions(AutoMergeOptions autoMergeOptions)
GitHubProjectOptions.getAutoMergeOptions()autoMergeOptions - Configure options for automatic merging on GitHub.
Has no effect if
github.mergify is set to false.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder clobber(Boolean clobber)
GitHubProjectOptions.getClobber()clobber - Add a `clobber` task which resets the repo to origin.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder devContainer(Boolean devContainer)
GitHubProjectOptions.getDevContainer()devContainer - Add a VSCode development environment (used for GitHub Codespaces).this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder github(Boolean github)
GitHubProjectOptions.getGithub()github - Enable GitHub integration.
Enabled by default for root projects. Disabled for non-root projects.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder githubOptions(GitHubOptions githubOptions)
GitHubProjectOptions.getGithubOptions()githubOptions - Options for GitHub integration.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder gitpod(Boolean gitpod)
GitHubProjectOptions.getGitpod()gitpod - Add a Gitpod development environment.this@Stability(value=Deprecated) @Deprecated public JavaProjectCommonOptions.Builder mergify(Boolean mergify)
GitHubProjectOptions.getMergify()mergify - Whether mergify should be enabled on this repository or not.this@Stability(value=Deprecated) @Deprecated public JavaProjectCommonOptions.Builder mergifyOptions(MergifyOptions mergifyOptions)
GitHubProjectOptions.getMergifyOptions()mergifyOptions - Options for mergify.this@Stability(value=Deprecated) @Deprecated public JavaProjectCommonOptions.Builder projectType(ProjectType projectType)
GitHubProjectOptions.getProjectType()projectType - Which type of project this is (library/app).this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder readme(SampleReadmeProps readme)
GitHubProjectOptions.getReadme()readme - The README setup.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder stale(Boolean stale)
GitHubProjectOptions.getStale()stale - Auto-close of stale issues and pull request.
See staleOptions for options.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder staleOptions(StaleOptions staleOptions)
GitHubProjectOptions.getStaleOptions()staleOptions - Auto-close stale issues and pull requests.
To disable set stale to false.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder vscode(Boolean vscode)
GitHubProjectOptions.getVscode()vscode - Enable VSCode integration.
Enabled by default for root projects. Disabled for non-root projects.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder name(String name)
ProjectOptions.getName()name - This is the name of your project. This parameter is required.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder logging(LoggerOptions logging)
ProjectOptions.getLogging()logging - Configure logging options such as verbosity.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder outdir(String outdir)
ProjectOptions.getOutdir()outdir - The root directory of the project.
Relative to this directory, all files are synthesized.
If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other sub-projects.
this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder parent(Project parent)
ProjectOptions.getParent()parent - The parent project, if this project is part of a bigger project.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder projenCommand(String projenCommand)
ProjectOptions.getProjenCommand()projenCommand - The shell command to use in order to run the projen CLI.
Can be used to customize in special environments.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder projenrcJson(Boolean projenrcJson)
ProjectOptions.getProjenrcJson()projenrcJson - Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.this@Stability(value=Experimental) public JavaProjectCommonOptions.Builder projenrcJsonOptions(ProjenrcOptions projenrcJsonOptions)
ProjectOptions.getProjenrcJsonOptions()projenrcJsonOptions - Options for .projenrc.json.this@Stability(value=Experimental) public JavaProjectCommonOptions.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 JavaProjectCommonOptions.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 JavaProjectCommonOptions.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 JavaProjectCommonOptions.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 JavaProjectCommonOptions.Builder packaging(String packaging)
PomOptions.getPackaging()packaging - Project packaging format.this@Stability(value=Experimental) public JavaProjectCommonOptions.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 JavaProjectCommonOptions build()
build in interface software.amazon.jsii.Builder<JavaProjectCommonOptions>JavaProjectCommonOptionsNullPointerException - if any required attribute was not providedCopyright © 2021. All rights reserved.