PageSourceSearch

https://projen.io/assets/js/d496602f.d5c28a5d.js

js projen.io collected 2026-10-02 05:19:52 UTC 412,758 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([["841"],{7709(e,n,r){r.r(n),r.d(n,{metadata:()=>i,default:()=>j,frontMatter:()=>a,contentTitle:()=>d,toc:()=>c,assets:()=>t});var i=JSON.parse('{"id":"api/java","title":"java Submodule <a name=\\"java Submodule\\" id=\\"projen.java\\"></a>","description":"Constructs","source":"@site/../docs/api/java.md","sourceDirName":"api","slug":"/api/java","permalink":"/docs/api/java","draft":false,"unlisted":false,"editUrl":"https://github.com/projen/projen/tree/main/docusaurus/../docs/api/java.md","tags":[],"version":"current","frontMatter":{},"sidebar":"apiSidebar","previous":{"title":"gitlab","permalink":"/docs/api/gitlab"},"next":{"title":"javascript","permalink":"/docs/api/javascript"}}'),s=r(4848),o=r(8453);let a={},d='java Submodule <a name="`java` Submodule" id="projen.java"></a>',t={},c=[{value:'Constructs <a name="Constructs" id="Constructs"></a>',id:"constructs-",level:2},{value:'JavaProject <a name="JavaProject" id="projen.java.JavaProject"></a>',id:"javaproject-",level:3},{value:'Initializers <a name="Initializers" id="projen.java.JavaProject.Initializer"></a>',id:"initializers-",level:4},{value:'<code>options</code><sup>Required</sup> <a name="options" id="projen.java.JavaProject.Initializer.parameter.options"></a>',id:"optionsrequired-",level:5}
1,{value:'Methods <a name="Methods" id="Methods"></a>',id:"methods-",level:4},{value:'<code>toString</code> <a name="toString" id="projen.java.JavaProject.toString"></a>',id:"tostring-",level:5},{value:'<code>with</code> <a name="with" id="projen.java.JavaProject.with"></a>',id:"with-",level:5},{value:'<code>mixins</code><sup>Required</sup> <a name="mixins" id="projen.java.JavaProject.with.parameter.mixins"></a>',id:"mixinsrequired-",level:6},{value:'<code>addExcludeFromCleanup</code> <a name="addExcludeFromCleanup" id="projen.java.JavaProject.addExcludeFromCleanup"></a>',id:"addexcludefromcleanup-",level:5},{value:'<code>globs</code><sup>Required</sup> <a name="globs" id="projen.java.JavaProject.addExcludeFromCleanup.parameter.globs"></a>',id:"globsrequired-",level:6},{value:'<code>addGitIgnore</code> <a name="addGitIgnore" id="projen.java.JavaProject.addGitIgnore"></a>',id:"addgitignore-",level:5},{value:'<code>pattern</code><sup>Required</sup> <a name="pattern" id="projen.java.JavaProject.addGitIgnore.parameter.pattern"></a>',id:"patternrequired-",level:6},{value:'<code>addPackageIgnore</code> <a name="addPackageIgnore" id="projen.java.JavaProject.addPackageIgnore"></a>',id:"addpackageignore-",level:5},{value:'<code>_pattern</code><sup>Required</sup> <a name="_pattern" id="projen.java.JavaProject.addPackageIgnore.parameter._pattern"></a>',id:"_patternrequired-",level:6},{value:'<code>addTask</code> <a name="addTask" id="projen.java.JavaProject.addTask"></a>',id:"addtask-",level:5},{value:'<code>name</code><sup>Required</sup> <a name="name" id="projen.java.JavaProject.addTask.parameter.name"></a>',id:"namerequired-",level:6},{value:'<code>props</code><sup>Optional</sup> <a name="props" id="projen.java.JavaProject.addTask.parameter.props"></a>',id:"propsoptional-",level:6},{value:'<code>annotateGenerated</code> <a name="annotateGenerated" id="projen.java.JavaProject.annotateGenerated"></a>',id:"annotategenerated-",level:5},{value:'<code>glob</code><sup>Required</sup> <a name="glob" id="projen.java.JavaProject.annotateGenerated.parameter.glob"></a>',id:"globrequired-",level:6},{value:'<code>postSynthesize</code> <a name="postSynthesize" id="projen.java.JavaProject.postSynthesize"></a>',id:"postsynthesize-",level:5},{value:'<code>preSynthesize</code> <a name="preSynthesize" id="projen.java.JavaProject.preSynthesize"></a>',id:"presynthesize-",level:5},{value:'<code>removeTask</code> <a name="removeTask" id="projen.java.JavaProject.removeTask"></a>',id:"removetask-",level:5},{value:'<code>name</code><sup>Required</sup> <a name="name" id="projen.java.JavaProject.removeTask.parameter.name"></a>',id:"namerequired--1",level:6},{value:'<code>runTaskCommand</code> <a name="runTaskCommand" id="projen.java.JavaProject.runTaskCommand"></a>',id:"runtaskcommand-",level:5},{value:'<code>task</code><sup>Required</sup> <a name="task" id="projen.java.JavaProject.runTaskCommand.parameter.task"></a>',id:"taskrequired-",level:6},{value:'<code>synth</code> <a name="synth" id="projen.java.JavaProject.synth"></a>',id:"synth-",level:5},{value:'<code>tryFindFile</code> <a name="tryFindFile" id="projen.java.JavaProject.tryFindFile"></a>',id:"tryfindfile-",level:5},{value:'<code>filePath</code><sup>Required</sup> <a name="filePath" id="projen.java.JavaProject.tryFindFile.parameter.filePath"></a>',id:"filepathrequired-",level:6},{value:'<code>tryFindObjectFile</code> <a name="tryFindObjectFile" id="projen.java.JavaProject.tryFindObjectFile"></a>',id:"tryfindobjectfile-",level:5},{value:'<code>filePath</code><sup>Required</sup> <a name="filePath" id="projen.java.JavaProject.tryFindObjectFile.parameter.filePath"></a>',id:"filepathrequired--1",level:6},{value:'<code>tryRemoveFile</code> <a name="tryRemoveFile" id="projen.java.JavaProject.tryRemoveFile"></a>',id:"tryremovefile-",level:5},{value:'<code>filePath</code><sup>Required</sup> <a name="filePath" id="projen.java.JavaProject.tryRemoveFile.parameter.filePath"></a>',id:"filepathrequired--2",level:6},{value:'<code>addDependency</code> <a name="addDependency" id="projen.java.JavaProject.addDependency"></a>',id:"adddependency-",level:5},{value:'<code>spec</code><sup>Required</sup> <a name="spec" id="projen.java.JavaProject.addDependency.parameter.spec"></a>',id:"specrequired-",level:6},{value:'<code>addPlugin</code> <a name="addPlugin" id="projen.java.JavaProject.addPlugin"></a>',id:"addplugin-",level:5},{value:'<code>spec</code><sup>Required</sup> <a name="spec" id="projen.java.JavaProject.addPlugin.parameter.spec"></a>',id:"specrequired--1",level:6},{value:'<code>options</code><sup>Optional</sup> <a name="options" id="projen.java.JavaProject.addPlugin.parameter.options"></a>',id:"optionsoptional-",level:6},{value:'<code>addTestDependency</code> <a name="addTestDependency" id="projen.java.JavaProject.addTestDependency"></a>',id:"addtestdependency-",level:5},{value:'<code>spec</code><sup>Required</sup> <a name="spec" id="projen.java.JavaProject.addTestDependency.parameter.spec"></a>',id:"specrequired--2",level:6},{value:'Static Functions <a name="Static Functions" id="Static Functions"></a>',id:"static-functions-",level:4},{value:'<code>isConstruct</code> <a name="isConstruct" id="projen.java.JavaProject.isConstruct"></a>',id:"isconstruct-",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.JavaProject.isConstruct.parameter.x"></a>',id:"xrequired-",level:6},{value:'<code>isProject</code> <a name="isProject" id="projen.java.JavaProject.isProject"></a>',id:"isproject-",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.JavaProject.isProject.parameter.x"></a>',id:"xrequired--1",level:6},{value:'<code>of</code> <a name="of" id="projen.java.JavaProject.of"></a>',id:"of-",level:5},{value:'<code>construct</code><sup>Required</sup> <a name="construct" id="projen.java.JavaProject.of.parameter.construct"></a>',id:"constructrequired-",level:6},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties-",level:4},{value:'<code>node</code><sup>Required</sup> <a name="node" id="projen.java.JavaProject.property.node"></a>',id:"noderequired-",level:5},{value:'<code>buildTask</code><sup>Required</sup> <a name="buildTask" id="projen.java.JavaProject.property.buildTask"></a>',id:"buildtaskrequired-",level:5},{value:'<code>commitGenerated</code><sup>Required</sup> <a name="commitGenerated" id="projen.java.JavaProject.property.commitGenerated"></a>',id:"commitgeneratedrequired-",level:5},{value:'<code>compileTask</code><sup>Required</sup> <a name="compileTask" id="projen.java.JavaProject.property.compileTask"></a>',id:"compiletaskrequired-",level:5},{value:'<code>components</code><sup>Required</sup> <a name="components" id="projen.java.JavaProject.property.components"></a>',id:"componentsrequired-",level:5},{value:'<code>deps</code><sup>Required</sup> <a name="deps" id="projen.java.JavaProject.property.deps"></a>',id:"depsrequired-",level:5},{value:'<code>ejected</code><sup>Required</sup> <a name="ejected" id="projen.java.JavaProject.property.ejected"></a>',id:"ejectedrequired-",level:5},{value:'<code>files</code><sup>Required</sup> <a name="files" id="projen.java.JavaProject.property.files"></a>',id:"filesrequired-",level:5},{value:'<code>gitattributes</code><sup>Required</sup> <a name="gitattributes" id="projen.java.JavaProject.property.gitattributes"></a>',id:"gitattributesrequired-",level:5},{value:'<code>gitignore</code><sup>Required</sup> <a name="gitignore" id="projen.java.JavaProject.property.gitignore"></a>',id:"gitignorerequired-",level:5},{value:'<code>logger</code><sup>Required</sup> <a name="logger" id="projen.java.JavaProject.property.logger"></a>',id:"loggerrequired-",level:5},{value:'<code>name</code><sup>Required</sup> <a name="name" id="projen.java.JavaProject.property.name"></a>',id:"namerequired--2",level:5},{value:'<code>outdir</code><sup>Required</sup> <a name="outdir" id="projen.java.JavaProject.property.outdir"></a>',id:"outdirrequired-",level:5},{value:'<code>packageTask</code><sup>Required</sup> <a name="packageTask" id="projen.java.JavaProject.property.packageTask"></a>',id:"packagetaskrequired-",level:5},{value:'<code>postCompileTask</code><sup>Required</sup> <a name="postCompileTask" id="projen.java.JavaProject.property.postCompileTask"></a>',id:"postcompiletaskrequired-",level:5},{value:'<code>preCompileTask</code><sup>Required</sup> <a name="preCompileTask" id="projen.java.JavaProject.property.preCompileTask"></a>',id:"precompiletaskrequired-",level:5},{value:'<code>projectBuild</code><sup>Required</sup> <a name="projectBuild" id="projen.java.JavaProject.property.projectBuild"></a>',id:"projectbuildrequired-",level:5},{value:'<code>projenCommand</code><sup>Required</sup> <a name="projenCommand" id="projen.java.JavaProject.property.projenCommand"></a>',id:"projencommandrequired-",level:5},{value:'<code>root</code><sup>Required</sup> <a name="root" id="projen.java.JavaProject.property.root"></a>',id:"rootrequired-",level:5},{value:'<code>subprojects</code><sup>Required</sup> <a name="subprojects" id="projen.java.JavaProject.property.subprojects"></a>',id:"subprojectsrequired-",level:5},{value:'<code>tasks</code><sup>Required</sup> <a name="tasks" id="projen.java.JavaProject.property.tasks"></a>',id:"tasksrequired-",level:5},{value:'<code>testTask</code><sup>Required</sup> <a name="testTask" id="projen.java.JavaProject.property.testTask"></a>',id:"testtaskrequired-",level:5},{value:'<code>defaultTask</code><sup>Optional</sup> <a name="defaultTask" id="projen.java.JavaProject.property.defaultTask"></a>',id:"defaulttaskoptional-",level:5},{value:'<del><code>initProject</code></del><sup>Optional</sup> <a name="initProject" id="projen.java.JavaProject.property.initProject"></a>',id:"initprojectoptional-",level:5},{value:'<code>parent</code><sup>Optional</sup> <a name="parent" id="projen.java.JavaProject.property.parent"></a>',id:"parentoptional-",level:5},{value:'<code>autoApprove</code><sup>Optional</sup> <a name="autoApprove" id="projen.java.JavaProject.property.autoApprove"></a>',id:"autoapproveoptional-",level:5},{value:'<code>devContainer</code><sup>Optional</sup> <a name="devContainer" id="projen.java.JavaProject.property.devContainer"></a>',id:"devcontaineroptional-",level:5},{value:'<code>github</code><sup>Optional</sup> <a name="github" id="projen.java.JavaProject.property.github"></a>',id:"githuboptional-",level:5},{value:'<code>gitpod</code><sup>Optional</sup> <a name="gitpod" id="projen.java.JavaProject.property.gitpod"></a>',id:"gitpodoptional-",level:5},{value:'<code>vscode</code><sup>Optional</sup> <a name="vscode" id="projen.java.JavaProject.property.vscode"></a>',id:"vscodeoptional-",level:5},{value:'<code>compile</code><sup>Required</sup> <a name="compile" id="projen.java.JavaProject.property.compile"></a>',id:"compilerequired-",level:5},{value:'<code>distdir</code><sup>Required</sup> <a name="distdir" id="projen.java.JavaProject.property.distdir"></a>',id:"distdirrequired-",level:5},{value:'<code>packaging</code><sup>Required</sup> <a name="packaging" id="projen.java.JavaProject.property.packaging"></a>',id:"packagingrequired-",level:5},{value:'<code>pom</code><sup>Required</sup> <a name="pom" id="projen.java.JavaProject.property.pom"></a>',id:"pomrequired-",level:5},{value:'<code>junit</code><sup>Optional</sup> <a name="junit" id="projen.java.JavaProject.property.junit"></a>',id:"junitoptional-",level:5},{value:'<code>projenrc</code><sup>Optional</sup> <a name="projenrc" id="projen.java.JavaProject.property.projenrc"></a>',id:"projenrcoptional-",level:5}
1,{value:'Constants <a name="Constants" id="Constants"></a>',id:"constants-",level:4},{value:'<code>DEFAULT_TASK</code><sup>Required</sup> <a name="DEFAULT_TASK" id="projen.java.JavaProject.property.DEFAULT_TASK"></a>',id:"default_taskrequired-",level:5},{value:'Junit <a name="Junit" id="projen.java.Junit"></a>',id:"junit-",level:3},{value:'Initializers <a name="Initializers" id="projen.java.Junit.Initializer"></a>',id:"initializers--1",level:4},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.Junit.Initializer.parameter.project"></a>',id:"projectrequired-",level:5},{value:'<code>options</code><sup>Required</sup> <a name="options" id="projen.java.Junit.Initializer.parameter.options"></a>',id:"optionsrequired--1",level:5},{value:'Methods <a name="Methods" id="Methods"></a>',id:"methods--1",level:4},{value:'<code>toString</code> <a name="toString" id="projen.java.Junit.toString"></a>',id:"tostring--1",level:5},{value:'<code>with</code> <a name="with" id="projen.java.Junit.with"></a>',id:"with--1",level:5},{value:'<code>mixins</code><sup>Required</sup> <a name="mixins" id="projen.java.Junit.with.parameter.mixins"></a>',id:"mixinsrequired--1",level:6},{value:'<code>postProjectCreation</code> <a name="postProjectCreation" id="projen.java.Junit.postProjectCreation"></a>',id:"postprojectcreation-",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.Junit.postProjectCreation.parameter.initProject"></a>',id:"initprojectrequired-",level:6},{value:'<code>postSynthesize</code> <a name="postSynthesize" id="projen.java.Junit.postSynthesize"></a>',id:"postsynthesize--1",level:5},{value:'<code>preSynthesize</code> <a name="preSynthesize" id="projen.java.Junit.preSynthesize"></a>',id:"presynthesize--1",level:5},{value:'<code>projectCreation</code> <a name="projectCreation" id="projen.java.Junit.projectCreation"></a>',id:"projectcreation-",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.Junit.projectCreation.parameter.initProject"></a>',id:"initprojectrequired--1",level:6},{value:'<code>synthesize</code> <a name="synthesize" id="projen.java.Junit.synthesize"></a>',id:"synthesize-",level:5},{value:'Static Functions <a name="Static Functions" id="Static Functions"></a>',id:"static-functions--1",level:4},{value:'<code>isConstruct</code> <a name="isConstruct" id="projen.java.Junit.isConstruct"></a>',id:"isconstruct--1",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.Junit.isConstruct.parameter.x"></a>',id:"xrequired--2",level:6},{value:'<code>isComponent</code> <a name="isComponent" id="projen.java.Junit.isComponent"></a>',id:"iscomponent-",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.Junit.isComponent.parameter.x"></a>',id:"xrequired--3",level:6},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--1",level:4},{value:'<code>node</code><sup>Required</sup> <a name="node" id="projen.java.Junit.property.node"></a>',id:"noderequired--1",level:5},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.Junit.property.project"></a>',id:"projectrequired--1",level:5},{value:'MavenCompile <a name="MavenCompile" id="projen.java.MavenCompile"></a>',id:"mavencompile-",level:3},{value:'Initializers <a name="Initializers" id="projen.java.MavenCompile.Initializer"></a>',id:"initializers--2",level:4},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.MavenCompile.Initializer.parameter.project"></a>',id:"projectrequired--2",level:5},{value:'<code>pom</code><sup>Required</sup> <a name="pom" id="projen.java.MavenCompile.Initializer.parameter.pom"></a>',id:"pomrequired--1",level:5},{value:'<code>options</code><sup>Optional</sup> <a name="options" id="projen.java.MavenCompile.Initializer.parameter.options"></a>',id:"optionsoptional--1",level:5}
1,{value:'Methods <a name="Methods" id="Methods"></a>',id:"methods--2",level:4},{value:'<code>toString</code> <a name="toString" id="projen.java.MavenCompile.toString"></a>',id:"tostring--2",level:5},{value:'<code>with</code> <a name="with" id="projen.java.MavenCompile.with"></a>',id:"with--2",level:5},{value:'<code>mixins</code><sup>Required</sup> <a name="mixins" id="projen.java.MavenCompile.with.parameter.mixins"></a>',id:"mixinsrequired--2",level:6},{value:'<code>postProjectCreation</code> <a name="postProjectCreation" id="projen.java.MavenCompile.postProjectCreation"></a>',id:"postprojectcreation--1",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.MavenCompile.postProjectCreation.parameter.initProject"></a>',id:"initprojectrequired--2",level:6},{value:'<code>postSynthesize</code> <a name="postSynthesize" id="projen.java.MavenCompile.postSynthesize"></a>',id:"postsynthesize--2",level:5},{value:'<code>preSynthesize</code> <a name="preSynthesize" id="projen.java.MavenCompile.preSynthesize"></a>',id:"presynthesize--2",level:5},{value:'<code>projectCreation</code> <a name="projectCreation" id="projen.java.MavenCompile.projectCreation"></a>',id:"projectcreation--1",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.MavenCompile.projectCreation.parameter.initProject"></a>',id:"initprojectrequired--3",level:6},{value:'<code>synthesize</code> <a name="synthesize" id="projen.java.MavenCompile.synthesize"></a>',id:"synthesize--1",level:5},{value:'Static Functions <a name="Static Functions" id="Static Functions"></a>',id:"static-functions--2",level:4},{value:'<code>isConstruct</code> <a name="isConstruct" id="projen.java.MavenCompile.isConstruct"></a>',id:"isconstruct--2",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.MavenCompile.isConstruct.parameter.x"></a>',id:"xrequired--4",level:6},{value:'<code>isComponent</code> <a name="isComponent" id="projen.java.MavenCompile.isComponent"></a>',id:"iscomponent--1",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.MavenCompile.isComponent.parameter.x"></a>',id:"xrequired--5",level:6},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--2",level:4},{value:'<code>node</code><sup>Required</sup> <a name="node" id="projen.java.MavenCompile.property.node"></a>',id:"noderequired--2",level:5},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.MavenCompile.property.project"></a>',id:"projectrequired--3",level:5},{value:'MavenPackaging <a name="MavenPackaging" id="projen.java.MavenPackaging"></a>',id:"mavenpackaging-",level:3},{value:'Initializers <a name="Initializers" id="projen.java.MavenPackaging.Initializer"></a>',id:"initializers--3",level:4},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.MavenPackaging.Initializer.parameter.project"></a>',id:"projectrequired--4",level:5},{value:'<code>pom</code><sup>Required</sup> <a name="pom" id="projen.java.MavenPackaging.Initializer.parameter.pom"></a>',id:"pomrequired--2",level:5},{value:'<code>options</code><sup>Optional</sup> <a name="options" id="projen.java.MavenPackaging.Initializer.parameter.options"></a>',id:"optionsoptional--2",level:5}
1,{value:'Methods <a name="Methods" id="Methods"></a>',id:"methods--3",level:4},{value:'<code>toString</code> <a name="toString" id="projen.java.MavenPackaging.toString"></a>',id:"tostring--3",level:5},{value:'<code>with</code> <a name="with" id="projen.java.MavenPackaging.with"></a>',id:"with--3",level:5},{value:'<code>mixins</code><sup>Required</sup> <a name="mixins" id="projen.java.MavenPackaging.with.parameter.mixins"></a>',id:"mixinsrequired--3",level:6},{value:'<code>postProjectCreation</code> <a name="postProjectCreation" id="projen.java.MavenPackaging.postProjectCreation"></a>',id:"postprojectcreation--2",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.MavenPackaging.postProjectCreation.parameter.initProject"></a>',id:"initprojectrequired--4",level:6},{value:'<code>postSynthesize</code> <a name="postSynthesize" id="projen.java.MavenPackaging.postSynthesize"></a>',id:"postsynthesize--3",level:5},{value:'<code>preSynthesize</code> <a name="preSynthesize" id="projen.java.MavenPackaging.preSynthesize"></a>',id:"presynthesize--3",level:5},{value:'<code>projectCreation</code> <a name="projectCreation" id="projen.java.MavenPackaging.projectCreation"></a>',id:"projectcreation--2",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.MavenPackaging.projectCreation.parameter.initProject"></a>',id:"initprojectrequired--5",level:6},{value:'<code>synthesize</code> <a name="synthesize" id="projen.java.MavenPackaging.synthesize"></a>',id:"synthesize--2",level:5},{value:'Static Functions <a name="Static Functions" id="Static Functions"></a>',id:"static-functions--3",level:4},{value:'<code>isConstruct</code> <a name="isConstruct" id="projen.java.MavenPackaging.isConstruct"></a>',id:"isconstruct--3",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.MavenPackaging.isConstruct.parameter.x"></a>',id:"xrequired--6",level:6},{value:'<code>isComponent</code> <a name="isComponent" id="projen.java.MavenPackaging.isComponent"></a>',id:"iscomponent--2",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.MavenPackaging.isComponent.parameter.x"></a>',id:"xrequired--7",level:6},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--3",level:4},{value:'<code>node</code><sup>Required</sup> <a name="node" id="projen.java.MavenPackaging.property.node"></a>',id:"noderequired--3",level:5},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.MavenPackaging.property.project"></a>',id:"projectrequired--5",level:5},{value:'<code>distdir</code><sup>Required</sup> <a name="distdir" id="projen.java.MavenPackaging.property.distdir"></a>',id:"distdirrequired--1",level:5},{value:'MavenSample <a name="MavenSample" id="projen.java.MavenSample"></a>',id:"mavensample-",level:3},{value:'Initializers <a name="Initializers" id="projen.java.MavenSample.Initializer"></a>',id:"initializers--4",level:4},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.MavenSample.Initializer.parameter.project"></a>',id:"projectrequired--6",level:5},{value:'<code>options</code><sup>Required</sup> <a name="options" id="projen.java.MavenSample.Initializer.parameter.options"></a>',id:"optionsrequired--2",level:5}
1,{value:'Methods <a name="Methods" id="Methods"></a>',id:"methods--4",level:4},{value:'<code>toString</code> <a name="toString" id="projen.java.MavenSample.toString"></a>',id:"tostring--4",level:5},{value:'<code>with</code> <a name="with" id="projen.java.MavenSample.with"></a>',id:"with--4",level:5},{value:'<code>mixins</code><sup>Required</sup> <a name="mixins" id="projen.java.MavenSample.with.parameter.mixins"></a>',id:"mixinsrequired--4",level:6},{value:'<code>postProjectCreation</code> <a name="postProjectCreation" id="projen.java.MavenSample.postProjectCreation"></a>',id:"postprojectcreation--3",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.MavenSample.postProjectCreation.parameter.initProject"></a>',id:"initprojectrequired--6",level:6},{value:'<code>postSynthesize</code> <a name="postSynthesize" id="projen.java.MavenSample.postSynthesize"></a>',id:"postsynthesize--4",level:5},{value:'<code>preSynthesize</code> <a name="preSynthesize" id="projen.java.MavenSample.preSynthesize"></a>',id:"presynthesize--4",level:5},{value:'<code>projectCreation</code> <a name="projectCreation" id="projen.java.MavenSample.projectCreation"></a>',id:"projectcreation--3",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.MavenSample.projectCreation.parameter.initProject"></a>',id:"initprojectrequired--7",level:6},{value:'<code>synthesize</code> <a name="synthesize" id="projen.java.MavenSample.synthesize"></a>',id:"synthesize--3",level:5},{value:'Static Functions <a name="Static Functions" id="Static Functions"></a>',id:"static-functions--4",level:4},{value:'<code>isConstruct</code> <a name="isConstruct" id="projen.java.MavenSample.isConstruct"></a>',id:"isconstruct--4",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.MavenSample.isConstruct.parameter.x"></a>',id:"xrequired--8",level:6},{value:'<code>isComponent</code> <a name="isComponent" id="projen.java.MavenSample.isComponent"></a>',id:"iscomponent--3",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.MavenSample.isComponent.parameter.x"></a>',id:"xrequired--9",level:6},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--4",level:4},{value:'<code>node</code><sup>Required</sup> <a name="node" id="projen.java.MavenSample.property.node"></a>',id:"noderequired--4",level:5},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.MavenSample.property.project"></a>',id:"projectrequired--7",level:5},{value:'Pom <a name="Pom" id="projen.java.Pom"></a>',id:"pom-",level:3},{value:'Initializers <a name="Initializers" id="projen.java.Pom.Initializer"></a>',id:"initializers--5",level:4},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.Pom.Initializer.parameter.project"></a>',id:"projectrequired--8",level:5},{value:'<code>options</code><sup>Required</sup> <a name="options" id="projen.java.Pom.Initializer.parameter.options"></a>',id:"optionsrequired--3",level:5}
1,{value:'Methods <a name="Methods" id="Methods"></a>',id:"methods--5",level:4},{value:'<code>toString</code> <a name="toString" id="projen.java.Pom.toString"></a>',id:"tostring--5",level:5},{value:'<code>with</code> <a name="with" id="projen.java.Pom.with"></a>',id:"with--5",level:5},{value:'<code>mixins</code><sup>Required</sup> <a name="mixins" id="projen.java.Pom.with.parameter.mixins"></a>',id:"mixinsrequired--5",level:6},{value:'<code>postProjectCreation</code> <a name="postProjectCreation" id="projen.java.Pom.postProjectCreation"></a>',id:"postprojectcreation--4",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.Pom.postProjectCreation.parameter.initProject"></a>',id:"initprojectrequired--8",level:6},{value:'<code>postSynthesize</code> <a name="postSynthesize" id="projen.java.Pom.postSynthesize"></a>',id:"postsynthesize--5",level:5},{value:'<code>preSynthesize</code> <a name="preSynthesize" id="projen.java.Pom.preSynthesize"></a>',id:"presynthesize--5",level:5},{value:'<code>projectCreation</code> <a name="projectCreation" id="projen.java.Pom.projectCreation"></a>',id:"projectcreation--4",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.Pom.projectCreation.parameter.initProject"></a>',id:"initprojectrequired--9",level:6},{value:'<code>synthesize</code> <a name="synthesize" id="projen.java.Pom.synthesize"></a>',id:"synthesize--4",level:5},{value:'<code>addDependency</code> <a name="addDependency" id="projen.java.Pom.addDependency"></a>',id:"adddependency--1",level:5},{value:'<code>spec</code><sup>Required</sup> <a name="spec" id="projen.java.Pom.addDependency.parameter.spec"></a>',id:"specrequired--3",level:6},{value:'<code>addPlugin</code> <a name="addPlugin" id="projen.java.Pom.addPlugin"></a>',id:"addplugin--1",level:5},{value:'<code>spec</code><sup>Required</sup> <a name="spec" id="projen.java.Pom.addPlugin.parameter.spec"></a>',id:"specrequired--4",level:6},{value:'<code>options</code><sup>Optional</sup> <a name="options" id="projen.java.Pom.addPlugin.parameter.options"></a>',id:"optionsoptional--3",level:6},{value:'<code>addPluginRepository</code> <a name="addPluginRepository" id="projen.java.Pom.addPluginRepository"></a>',id:"addpluginrepository-",level:5},{value:'<code>repository</code><sup>Required</sup> <a name="repository" id="projen.java.Pom.addPluginRepository.parameter.repository"></a>',id:"repositoryrequired-",level:6},{value:'<code>addProperty</code> <a name="addProperty" id="projen.java.Pom.addProperty"></a>',id:"addproperty-",level:5},{value:'<code>key</code><sup>Required</sup> <a name="key" id="projen.java.Pom.addProperty.parameter.key"></a>',id:"keyrequired-",level:6},{value:'<code>value</code><sup>Required</sup> <a name="value" id="projen.java.Pom.addProperty.parameter.value"></a>',id:"valuerequired-",level:6},{value:'<code>addRepository</code> <a name="addRepository" id="projen.java.Pom.addRepository"></a>',id:"addrepository-",level:5},{value:'<code>repository</code><sup>Required</sup> <a name="repository" id="projen.java.Pom.addRepository.parameter.repository"></a>',id:"repositoryrequired--1",level:6},{value:'<code>addTestDependency</code> <a name="addTestDependency" id="projen.java.Pom.addTestDependency"></a>',id:"addtestdependency--1",level:5},{value:'<code>spec</code><sup>Required</sup> <a name="spec" id="projen.java.Pom.addTestDependency.parameter.spec"></a>',id:"specrequired--5",level:6},{value:'Static Functions <a name="Static Functions" id="Static Functions"></a>',id:"static-functions--5",level:4},{value:'<code>isConstruct</code> <a name="isConstruct" id="projen.java.Pom.isConstruct"></a>',id:"isconstruct--5",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.Pom.isConstruct.parameter.x"></a>',id:"xrequired--10",level:6},{value:'<code>isComponent</code> <a name="isComponent" id="projen.java.Pom.isComponent"></a>',id:"iscomponent--4",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.Pom.isComponent.parameter.x"></a>',id:"xrequired--11",level:6},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--5",level:4},{value:'<code>node</code><sup>Required</sup> <a name="node" id="projen.java.Pom.property.node"></a>',id:"noderequired--5",level:5},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.Pom.property.project"></a>',id:"projectrequired--9",level:5},{value:'<code>artifactId</code><sup>Required</sup> <a name="artifactId" id="projen.java.Pom.property.artifactId"></a>',id:"artifactidrequired-",level:5},{value:'<code>fileName</code><sup>Required</sup> <a name="fileName" id="projen.java.Pom.property.fileName"></a>',id:"filenamerequired-",level:5},{value:'<code>groupId</code><sup>Required</sup> <a name="groupId" id="projen.java.Pom.property.groupId"></a>',id:"groupidrequired-",level:5},{value:'<code>packaging</code><sup>Required</sup> <a name="packaging" id="projen.java.Pom.property.packaging"></a>',id:"packagingrequired--1",level:5},{value:'<code>version</code><sup>Required</sup> <a name="version" id="projen.java.Pom.property.version"></a>',id:"versionrequired-",level:5},{value:'<code>description</code><sup>Optional</sup> <a name="description" id="projen.java.Pom.property.description"></a>',id:"descriptionoptional-",level:5},{value:'<code>name</code><sup>Optional</sup> <a name="name" id="projen.java.Pom.property.name"></a>',id:"nameoptional-",level:5},{value:'<code>url</code><sup>Optional</sup> <a name="url" id="projen.java.Pom.property.url"></a>',id:"urloptional-",level:5},{value:'Projenrc <a name="Projenrc" id="projen.java.Projenrc"></a>',id:"projenrc-",level:3}
1,{value:'Initializers <a name="Initializers" id="projen.java.Projenrc.Initializer"></a>',id:"initializers--6",level:4},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.Projenrc.Initializer.parameter.project"></a>',id:"projectrequired--10",level:5},{value:'<code>pom</code><sup>Required</sup> <a name="pom" id="projen.java.Projenrc.Initializer.parameter.pom"></a>',id:"pomrequired--3",level:5},{value:'<code>options</code><sup>Optional</sup> <a name="options" id="projen.java.Projenrc.Initializer.parameter.options"></a>',id:"optionsoptional--4",level:5},{value:'Methods <a name="Methods" id="Methods"></a>',id:"methods--6",level:4},{value:'<code>toString</code> <a name="toString" id="projen.java.Projenrc.toString"></a>',id:"tostring--6",level:5},{value:'<code>with</code> <a name="with" id="projen.java.Projenrc.with"></a>',id:"with--6",level:5},{value:'<code>mixins</code><sup>Required</sup> <a name="mixins" id="projen.java.Projenrc.with.parameter.mixins"></a>',id:"mixinsrequired--6",level:6},{value:'<code>postProjectCreation</code> <a name="postProjectCreation" id="projen.java.Projenrc.postProjectCreation"></a>',id:"postprojectcreation--5",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.Projenrc.postProjectCreation.parameter.initProject"></a>',id:"initprojectrequired--10",level:6},{value:'<code>postSynthesize</code> <a name="postSynthesize" id="projen.java.Projenrc.postSynthesize"></a>',id:"postsynthesize--6",level:5},{value:'<code>preSynthesize</code> <a name="preSynthesize" id="projen.java.Projenrc.preSynthesize"></a>',id:"presynthesize--6",level:5},{value:'<code>projectCreation</code> <a name="projectCreation" id="projen.java.Projenrc.projectCreation"></a>',id:"projectcreation--5",level:5},{value:'<code>initProject</code><sup>Required</sup> <a name="initProject" id="projen.java.Projenrc.projectCreation.parameter.initProject"></a>',id:"initprojectrequired--11",level:6},{value:'<code>synthesize</code> <a name="synthesize" id="projen.java.Projenrc.synthesize"></a>',id:"synthesize--5",level:5},{value:'Static Functions <a name="Static Functions" id="Static Functions"></a>',id:"static-functions--6",level:4},{value:'<code>isConstruct</code> <a name="isConstruct" id="projen.java.Projenrc.isConstruct"></a>',id:"isconstruct--6",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.Projenrc.isConstruct.parameter.x"></a>',id:"xrequired--12",level:6},{value:'<code>isComponent</code> <a name="isComponent" id="projen.java.Projenrc.isComponent"></a>',id:"iscomponent--5",level:5},{value:'<code>x</code><sup>Required</sup> <a name="x" id="projen.java.Projenrc.isComponent.parameter.x"></a>',id:"xrequired--13",level:6},{value:'<code>of</code> <a name="of" id="projen.java.Projenrc.of"></a>',id:"of--1",level:5},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.Projenrc.of.parameter.project"></a>',id:"projectrequired--11",level:6},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--6",level:4},{value:'<code>node</code><sup>Required</sup> <a name="node" id="projen.java.Projenrc.property.node"></a>',id:"noderequired--6",level:5},{value:'<code>project</code><sup>Required</sup> <a name="project" id="projen.java.Projenrc.property.project"></a>',id:"projectrequired--12",level:5},{value:'<code>filePath</code><sup>Required</sup> <a name="filePath" id="projen.java.Projenrc.property.filePath"></a>',id:"filepathrequired--3",level:5},{value:'<code>className</code><sup>Required</sup> <a name="className" id="projen.java.Projenrc.property.className"></a>',id:"classnamerequired-",level:5},{value:'Structs <a name="Structs" id="Structs"></a>',id:"structs-",level:2},{value:'JavaProjectCommonOptions <a name="JavaProjectCommonOptions" id="projen.java.JavaProjectCommonOptions"></a>',id:"javaprojectcommonoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.JavaProjectCommonOptions.Initializer"></a>',id:"initializer-",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--7",level:4},{value:'<code>name</code><sup>Required</sup> <a name="name" id="projen.java.JavaProjectCommonOptions.property.name"></a>',id:"namerequired--3",level:5},{value:'<code>commitGenerated</code><sup>Optional</sup> <a name="commitGenerated" id="projen.java.JavaProjectCommonOptions.property.commitGenerated"></a>',id:"commitgeneratedoptional-",level:5},{value:'<code>gitIgnoreOptions</code><sup>Optional</sup> <a name="gitIgnoreOptions" id="projen.java.JavaProjectCommonOptions.property.gitIgnoreOptions"></a>',id:"gitignoreoptionsoptional-",level:5},{value:'<code>gitOptions</code><sup>Optional</sup> <a name="gitOptions" id="projen.java.JavaProjectCommonOptions.property.gitOptions"></a>',id:"gitoptionsoptional-",level:5},{value:'<code>logging</code><sup>Optional</sup> <a name="logging" id="projen.java.JavaProjectCommonOptions.property.logging"></a>',id:"loggingoptional-",level:5},{value:'<code>outdir</code><sup>Optional</sup> <a name="outdir" id="projen.java.JavaProjectCommonOptions.property.outdir"></a>',id:"outdiroptional-",level:5},{value:'<code>parent</code><sup>Optional</sup> <a name="parent" id="projen.java.JavaProjectCommonOptions.property.parent"></a>',id:"parentoptional--1",level:5},{value:'<code>projectTree</code><sup>Optional</sup> <a name="projectTree" id="projen.java.JavaProjectCommonOptions.property.projectTree"></a>',id:"projecttreeoptional-",level:5},{value:'<code>projenCommand</code><sup>Optional</sup> <a name="projenCommand" id="projen.java.JavaProjectCommonOptions.property.projenCommand"></a>',id:"projencommandoptional-",level:5},{value:'<code>projenrcJson</code><sup>Optional</sup> <a name="projenrcJson" id="projen.java.JavaProjectCommonOptions.property.projenrcJson"></a>',id:"projenrcjsonoptional-",level:5},{value:'<code>projenrcJsonOptions</code><sup>Optional</sup> <a name="projenrcJsonOptions" id="projen.java.JavaProjectCommonOptions.property.projenrcJsonOptions"></a>',id:"projenrcjsonoptionsoptional-",level:5},{value:'<code>renovatebot</code><sup>Optional</sup> <a name="renovatebot" id="projen.java.JavaProjectCommonOptions.property.renovatebot"></a>',id:"renovatebotoptional-",level:5},{value:'<code>renovatebotOptions</code><sup>Optional</sup> <a name="renovatebotOptions" id="projen.java.JavaProjectCommonOptions.property.renovatebotOptions"></a>',id:"renovatebotoptionsoptional-",level:5},{value:'<code>autoApproveOptions</code><sup>Optional</sup> <a name="autoApproveOptions" id="projen.java.JavaProjectCommonOptions.property.autoApproveOptions"></a>',id:"autoapproveoptionsoptional-",level:5},{value:'<code>autoMerge</code><sup>Optional</sup> <a name="autoMerge" id="projen.java.JavaProjectCommonOptions.property.autoMerge"></a>',id:"automergeoptional-",level:5},{value:'<code>autoMergeOptions</code><sup>Optional</sup> <a name="autoMergeOptions" id="projen.java.JavaProjectCommonOptions.property.autoMergeOptions"></a>',id:"automergeoptionsoptional-",level:5},{value:'<code>clobber</code><sup>Optional</sup> <a name="clobber" id="projen.java.JavaProjectCommonOptions.property.clobber"></a>',id:"clobberoptional-",level:5},{value:'<code>devContainer</code><sup>Optional</sup> <a name="devContainer" id="projen.java.JavaProjectCommonOptions.property.devContainer"></a>',id:"devcontaineroptional--1",level:5},{value:'<code>github</code><sup>Optional</sup> <a name="github" id="projen.java.JavaProjectCommonOptions.property.github"></a>',id:"githuboptional--1",level:5},{value:'<code>githubOptions</code><sup>Optional</sup> <a name="githubOptions" id="projen.java.JavaProjectCommonOptions.property.githubOptions"></a>',id:"githuboptionsoptional-",level:5},{value:'<code>gitpod</code><sup>Optional</sup> <a name="gitpod" id="projen.java.JavaProjectCommonOptions.property.gitpod"></a>',id:"gitpodoptional--1",level:5},{value:'<code>projenCredentials</code><sup>Optional</sup> <a name="projenCredentials" id="projen.java.JavaProjectCommonOptions.property.projenCredentials"></a>',id:"projencredentialsoptional-",level:5},{value:'<code>readme</code><sup>Optional</sup> <a name="readme" id="projen.java.JavaProjectCommonOptions.property.readme"></a>',id:"readmeoptional-",level:5},{value:'<code>stale</code><sup>Optional</sup> <a name="stale" id="projen.java.JavaProjectCommonOptions.property.stale"></a>',id:"staleoptional-",level:5},{value:'<code>staleOptions</code><sup>Optional</sup> <a name="staleOptions" id="projen.java.JavaProjectCommonOptions.property.staleOptions"></a>',id:"staleoptionsoptional-",level:5},{value:'<code>vscode</code><sup>Optional</sup> <a name="vscode" id="projen.java.JavaProjectCommonOptions.property.vscode"></a>',id:"vscodeoptional--1",level:5},{value:'<code>artifactId</code><sup>Required</sup> <a name="artifactId" id="projen.java.JavaProjectCommonOptions.property.artifactId"></a>',id:"artifactidrequired--1",level:5},{value:'<code>groupId</code><sup>Required</sup> <a name="groupId" id="projen.java.JavaProjectCommonOptions.property.groupId"></a>',id:"groupidrequired--1",level:5},{value:'<code>version</code><sup>Required</sup> <a name="version" id="projen.java.JavaProjectCommonOptions.property.version"></a>',id:"versionrequired--1",level:5},{value:'<code>description</code><sup>Optional</sup> <a name="description" id="projen.java.JavaProjectCommonOptions.property.description"></a>',id:"descriptionoptional--1",level:5},{value:'<code>packaging</code><sup>Optional</sup> <a name="packaging" id="projen.java.JavaProjectCommonOptions.property.packaging"></a>',id:"packagingoptional-",level:5},{value:'<code>parentPom</code><sup>Optional</sup> <a name="parentPom" id="projen.java.JavaProjectCommonOptions.property.parentPom"></a>',id:"parentpomoptional-",level:5},{value:'<code>url</code><sup>Optional</sup> <a name="url" id="projen.java.JavaProjectCommonOptions.property.url"></a>',id:"urloptional--1",level:5},{value:'<code>compileOptions</code><sup>Optional</sup> <a name="compileOptions" id="projen.java.JavaProjectCommonOptions.property.compileOptions"></a>',id:"compileoptionsoptional-",level:5},{value:'<code>deps</code><sup>Optional</sup> <a name="deps" id="projen.java.JavaProjectCommonOptions.property.deps"></a>',id:"depsoptional-",level:5},{value:'<code>distdir</code><sup>Optional</sup> <a name="distdir" id="projen.java.JavaProjectCommonOptions.property.distdir"></a>',id:"distdiroptional-",level:5},{value:'<code>junit</code><sup>Optional</sup> <a name="junit" id="projen.java.JavaProjectCommonOptions.property.junit"></a>',id:"junitoptional--1",level:5},{value:'<code>junitOptions</code><sup>Optional</sup> <a name="junitOptions" id="projen.java.JavaProjectCommonOptions.property.junitOptions"></a>',id:"junitoptionsoptional-",level:5},{value:'<code>packagingOptions</code><sup>Optional</sup> <a name="packagingOptions" id="projen.java.JavaProjectCommonOptions.property.packagingOptions"></a>',id:"packagingoptionsoptional-",level:5},{value:'<code>projenrcJava</code><sup>Optional</sup> <a name="projenrcJava" id="projen.java.JavaProjectCommonOptions.property.projenrcJava"></a>',id:"projenrcjavaoptional-",level:5},{value:'<code>projenrcJavaOptions</code><sup>Optional</sup> <a name="projenrcJavaOptions" id="projen.java.JavaProjectCommonOptions.property.projenrcJavaOptions"></a>',id:"projenrcjavaoptionsoptional-",level:5},{value:'<code>testDeps</code><sup>Optional</sup> <a name="testDeps" id="projen.java.JavaProjectCommonOptions.property.testDeps"></a>',id:"testdepsoptional-",level:5},{value:'JavaProjectOptions <a name="JavaProjectOptions" id="projen.java.JavaProjectOptions"></a>',id:"javaprojectoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.JavaProjectOptions.Initializer"></a>',id:"initializer--1",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--8",level:4},{value:'<code>name</code><sup>Required</sup> <a name="name" id="projen.java.JavaProjectOptions.property.name"></a>',id:"namerequired--4",level:5},{value:'<code>commitGenerated</code><sup>Optional</sup> <a name="commitGenerated" id="projen.java.JavaProjectOptions.property.commitGenerated"></a>',id:"commitgeneratedoptional--1",level:5},{value:'<code>gitIgnoreOptions</code><sup>Optional</sup> <a name="gitIgnoreOptions" id="projen.java.JavaProjectOptions.property.gitIgnoreOptions"></a>',id:"gitignoreoptionsoptional--1",level:5},{value:'<code>gitOptions</code><sup>Optional</sup> <a name="gitOptions" id="projen.java.JavaProjectOptions.property.gitOptions"></a>',id:"gitoptionsoptional--1",level:5},{value:'<code>logging</code><sup>Optional</sup> <a name="logging" id="projen.java.JavaProjectOptions.property.logging"></a>',id:"loggingoptional--1",level:5},{value:'<code>outdir</code><sup>Optional</sup> <a name="outdir" id="projen.java.JavaProjectOptions.property.outdir"></a>',id:"outdiroptional--1",level:5},{value:'<code>parent</code><sup>Optional</sup> <a name="parent" id="projen.java.JavaProjectOptions.property.parent"></a>',id:"parentoptional--2",level:5},{value:'<code>projectTree</code><sup>Optional</sup> <a name="projectTree" id="projen.java.JavaProjectOptions.property.projectTree"></a>',id:"projecttreeoptional--1",level:5},{value:'<code>projenCommand</code><sup>Optional</sup> <a name="projenCommand" id="projen.java.JavaProjectOptions.property.projenCommand"></a>',id:"projencommandoptional--1",level:5},{value:'<code>projenrcJson</code><sup>Optional</sup> <a name="projenrcJson" id="projen.java.JavaProjectOptions.property.projenrcJson"></a>',id:"projenrcjsonoptional--1",level:5},{value:'<code>projenrcJsonOptions</code><sup>Optional</sup> <a name="projenrcJsonOptions" id="projen.java.JavaProjectOptions.property.projenrcJsonOptions"></a>',id:"projenrcjsonoptionsoptional--1",level:5},{value:'<code>renovatebot</code><sup>Optional</sup> <a name="renovatebot" id="projen.java.JavaProjectOptions.property.renovatebot"></a>',id:"renovatebotoptional--1",level:5},{value:'<code>renovatebotOptions</code><sup>Optional</sup> <a name="renovatebotOptions" id="projen.java.JavaProjectOptions.property.renovatebotOptions"></a>',id:"renovatebotoptionsoptional--1",level:5},{value:'<code>autoApproveOptions</code><sup>Optional</sup> <a name="autoApproveOptions" id="projen.java.JavaProjectOptions.property.autoApproveOptions"></a>',id:"autoapproveoptionsoptional--1",level:5},{value:'<code>autoMerge</code><sup>Optional</sup> <a name="autoMerge" id="projen.java.JavaProjectOptions.property.autoMerge"></a>',id:"automergeoptional--1",level:5},{value:'<code>autoMergeOptions</code><sup>Optional</sup> <a name="autoMergeOptions" id="projen.java.JavaProjectOptions.property.autoMergeOptions"></a>',id:"automergeoptionsoptional--1",level:5},{value:'<code>clobber</code><sup>Optional</sup> <a name="clobber" id="projen.java.JavaProjectOptions.property.clobber"></a>',id:"clobberoptional--1",level:5},{value:'<code>devContainer</code><sup>Optional</sup> <a name="devContainer" id="projen.java.JavaProjectOptions.property.devContainer"></a>',id:"devcontaineroptional--2",level:5},{value:'<code>github</code><sup>Optional</sup> <a name="github" id="projen.java.JavaProjectOptions.property.github"></a>',id:"githuboptional--2",level:5},{value:'<code>githubOptions</code><sup>Optional</sup> <a name="githubOptions" id="projen.java.JavaProjectOptions.property.githubOptions"></a>',id:"githuboptionsoptional--1",level:5},{value:'<code>gitpod</code><sup>Optional</sup> <a name="gitpod" id="projen.java.JavaProjectOptions.property.gitpod"></a>',id:"gitpodoptional--2",level:5},{value:'<code>projenCredentials</code><sup>Optional</sup> <a name="projenCredentials" id="projen.java.JavaProjectOptions.property.projenCredentials"></a>',id:"projencredentialsoptional--1",level:5},{value:'<code>readme</code><sup>Optional</sup> <a name="readme" id="projen.java.JavaProjectOptions.property.readme"></a>',id:"readmeoptional--1",level:5},{value:'<code>stale</code><sup>Optional</sup> <a name="stale" id="projen.java.JavaProjectOptions.property.stale"></a>',id:"staleoptional--1",level:5},{value:'<code>staleOptions</code><sup>Optional</sup> <a name="staleOptions" id="projen.java.JavaProjectOptions.property.staleOptions"></a>',id:"staleoptionsoptional--1",level:5},{value:'<code>vscode</code><sup>Optional</sup> <a name="vscode" id="projen.java.JavaProjectOptions.property.vscode"></a>',id:"vscodeoptional--2",level:5},{value:'<code>artif
1actId</code><sup>Required</sup> <a name="artifactId" id="projen.java.JavaProjectOptions.property.artifactId"></a>',id:"artifactidrequired--2",level:5},{value:'<code>groupId</code><sup>Required</sup> <a name="groupId" id="projen.java.JavaProjectOptions.property.groupId"></a>',id:"groupidrequired--2",level:5},{value:'<code>version</code><sup>Required</sup> <a name="version" id="projen.java.JavaProjectOptions.property.version"></a>',id:"versionrequired--2",level:5},{value:'<code>description</code><sup>Optional</sup> <a name="description" id="projen.java.JavaProjectOptions.property.description"></a>',id:"descriptionoptional--2",level:5},{value:'<code>packaging</code><sup>Optional</sup> <a name="packaging" id="projen.java.JavaProjectOptions.property.packaging"></a>',id:"packagingoptional--1",level:5},{value:'<code>parentPom</code><sup>Optional</sup> <a name="parentPom" id="projen.java.JavaProjectOptions.property.parentPom"></a>',id:"parentpomoptional--1",level:5},{value:'<code>url</code><sup>Optional</sup> <a name="url" id="projen.java.JavaProjectOptions.property.url"></a>',id:"urloptional--2",level:5},{value:'<code>compileOptions</code><sup>Optional</sup> <a name="compileOptions" id="projen.java.JavaProjectOptions.property.compileOptions"></a>',id:"compileoptionsoptional--1",level:5},{value:'<code>deps</code><sup>Optional</sup> <a name="deps" id="projen.java.JavaProjectOptions.property.deps"></a>',id:"depsoptional--1",level:5},{value:'<code>distdir</code><sup>Optional</sup> <a name="distdir" id="projen.java.JavaProjectOptions.property.distdir"></a>',id:"distdiroptional--1",level:5},{value:'<code>junit</code><sup>Optional</sup> <a name="junit" id="projen.java.JavaProjectOptions.property.junit"></a>',id:"junitoptional--2",level:5},{value:'<code>junitOptions</code><sup>Optional</sup> <a name="junitOptions" id="projen.java.JavaProjectOptions.property.junitOptions"></a>',id:"junitoptionsoptional--1",level:5},{value:'<code>packagingOptions</code><sup>Optional</sup> <a name="packagingOptions" id="projen.java.JavaProjectOptions.property.packagingOptions"></a>',id:"packagingoptionsoptional--1",level:5},{value:'<code>projenrcJava</code><sup>Optional</sup> <a name="projenrcJava" id="projen.java.JavaProjectOptions.property.projenrcJava"></a>',id:"projenrcjavaoptional--1",level:5},{value:'<code>projenrcJavaOptions</code><sup>Optional</sup> <a name="projenrcJavaOptions" id="projen.java.JavaProjectOptions.property.projenrcJavaOptions"></a>',id:"projenrcjavaoptionsoptional--1",level:5},{value:'<code>testDeps</code><sup>Optional</sup> <a name="testDeps" id="projen.java.JavaProjectOptions.property.testDeps"></a>',id:"testdepsoptional--1",level:5},{value:'<code>sample</code><sup>Optional</sup> <a name="sample" id="projen.java.JavaProjectOptions.property.sample"></a>',id:"sampleoptional-",level:5},{value:'<code>sampleJavaPackage</code><sup>Optional</sup> <a name="sampleJavaPackage" id="projen.java.JavaProjectOptions.property.sampleJavaPackage"></a>',id:"samplejavapackageoptional-",level:5},{value:'JunitOptions <a name="JunitOptions" id="projen.java.JunitOptions"></a>',id:"junitoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.JunitOptions.Initializer"></a>',id:"initializer--2",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--9",level:4},{value:'<code>pom</code><sup>Required</sup> <a name="pom" id="projen.java.JunitOptions.property.pom"></a>',id:"pomrequired--4",level:5},{value:'<code>sampleJavaPackage</code><sup>Optional</sup> <a name="sampleJavaPackage" id="projen.java.JunitOptions.property.sampleJavaPackage"></a>',id:"samplejavapackageoptional--1",level:5},{value:'<code>version</code><sup>Optional</sup> <a name="version" id="projen.java.JunitOptions.property.version"></a>',id:"versionoptional-",level:5},{value:'MavenCompileOptions <a name="MavenCompileOptions" id="projen.java.MavenCompileOptions"></a>',id:"mavencompileoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.MavenCompileOptions.Initializer"></a>',id:"initializer--3",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--10",level:4},{value:'<code>source</code><sup>Optional</sup> <a name="source" id="projen.java.MavenCompileOptions.property.source"></a>',id:"sourceoptional-",level:5},{value:'<code>target</code><sup>Optional</sup> <a name="target" id="projen.java.MavenCompileOptions.property.target"></a>',id:"targetoptional-",level:5},{value:'MavenPackagingOptions <a name="MavenPackagingOptions" id="projen.java.MavenPackagingOptions"></a>',id:"mavenpackagingoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.MavenPackagingOptions.Initializer"></a>',id:"initializer--4",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--11",level:4},{value:'<code>distdir</code><sup>Optional</sup> <a name="distdir" id="projen.java.MavenPackagingOptions.property.distdir"></a>',id:"distdiroptional--2",level:5},{value:'<code>javadocs</code><sup>Optional</sup> <a name="javadocs" id="projen.java.MavenPackagingOptions.property.javadocs"></a>',id:"javadocsoptional-",level:5},{value:'<code>javadocsExclude</code><sup>Optional</sup> <a name="javadocsExclude" id="projen.java.MavenPackagingOptions.property.javadocsExclude"></a>',id:"javadocsexcludeoptional-",level:5},{value:'<code>sources</code><sup>Optional</sup> <a name="sources" id="projen.java.MavenPackagingOptions.property.sources"></a>',id:"sourcesoptional-",level:5},{value:'MavenRepository <a name="MavenRepository" id="projen.java.MavenRepository"></a>',id:"mavenrepository-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.MavenRepository.Initializer"></a>',id:"initializer--5",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--12",level:4},{value:'<code>id</code><sup>Required</sup> <a name="id" id="projen.java.MavenRepository.property.id"></a>',id:"idrequired-",level:5},{value:'<code>url</code><sup>Required</sup> <a name="url" id="projen.java.MavenRepository.property.url"></a>',id:"urlrequired-",level:5},{value:'<code>layout</code><sup>Optional</sup> <a name="layout" id="projen.java.MavenRepository.property.layout"></a>',id:"layoutoptional-",level:5},{value:'<code>name</code><sup>Optional</sup> <a name="name" id="projen.java.MavenRepository.property.name"></a>',id:"nameoptional--1",level:5},{value:'<code>releases</code><sup>Optional</sup> <a name="releases" id="projen.java.MavenRepository.property.releases"></a>',id:"releasesoptional-",level:5},{value:'<code>snapshots</code><sup>Optional</sup> <a name="snapshots" id="projen.java.MavenRepository.property.snapshots"></a>',id:"snapshotsoptional-",level:5},{value:'MavenRepositoryPolicy <a name="MavenRepositoryPolicy" id="projen.java.MavenRepositoryPolicy"></a>',id:"mavenrepositorypolicy-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.MavenRepositoryPolicy.Initializer"></a>',id:"initializer--6",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--13",level:4},{value:'<code>checksumPolicy</code><sup>Optional</sup> <a name="checksumPolicy" id="projen.java.MavenRepositoryPolicy.property.checksumPolicy"></a>',id:"checksumpolicyoptional-",level:5},{value:'<code>enabled</code><sup>Optional</sup> <a name="enabled" id="projen.java.MavenRepositoryPolicy.property.enabled"></a>',id:"enabledoptional-",level:5},{value:'<code>updatePolicy</code><sup>Optional</sup> <a name="updatePolicy" id="projen.java.MavenRepositoryPolicy.property.updatePolicy"></a>',id:"updatepolicyoptional-",level:5},{value:'MavenSampleOptions <a name="MavenSampleOptions" id="projen.java.MavenSampleOptions"></a>',id:"mavensampleoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.MavenSampleOptions.Initializer"></a>',id:"initializer--7",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--14",level:4},{value:'<code>package</code><sup>Required</sup> <a name="package" id="projen.java.MavenSampleOptions.property.package"></a>',id:"packagerequired-",level:5},{value:'ParentPom <a name="ParentPom" id="projen.java.ParentPom"></a>',id:"parentpom-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.ParentPom.Initializer"></a>',id:"initializer--8",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--15",level:4},{value:'<code>artifactId</code><sup>Optional</sup> <a name="artifactId" id="projen.java.ParentPom.property.artifactId"></a>',id:"artifactidoptional-",level:5},{value:'<code>groupId</code><sup>Optional</sup> <a name="groupId" id="projen.java.ParentPom.property.groupId"></a>',id:"groupidoptional-",level:5},{value:'<code>relativePath</code><sup>Optional</sup> <a name="relativePath" id="projen.java.ParentPom.property.relativePath"></a>',id:"relativepathoptional-",level:5},{value:'<code>version</code><sup>Optional</sup> <a name="version" id="projen.java.ParentPom.property.version"></a>',id:"versionoptional--1",level:5}
1,{value:'PluginExecution <a name="PluginExecution" id="projen.java.PluginExecution"></a>',id:"pluginexecution-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.PluginExecution.Initializer"></a>',id:"initializer--9",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--16",level:4},{value:'<code>goals</code><sup>Required</sup> <a name="goals" id="projen.java.PluginExecution.property.goals"></a>',id:"goalsrequired-",level:5},{value:'<code>id</code><sup>Required</sup> <a name="id" id="projen.java.PluginExecution.property.id"></a>',id:"idrequired--1",level:5},{value:'<code>configuration</code><sup>Optional</sup> <a name="configuration" id="projen.java.PluginExecution.property.configuration"></a>',id:"configurationoptional-",level:5},{value:'<code>phase</code><sup>Optional</sup> <a name="phase" id="projen.java.PluginExecution.property.phase"></a>',id:"phaseoptional-",level:5},{value:'PluginOptions <a name="PluginOptions" id="projen.java.PluginOptions"></a>',id:"pluginoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.PluginOptions.Initializer"></a>',id:"initializer--10",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--17",level:4},{value:'<code>configuration</code><sup>Optional</sup> <a name="configuration" id="projen.java.PluginOptions.property.configuration"></a>',id:"configurationoptional--1",level:5},{value:'<code>dependencies</code><sup>Optional</sup> <a name="dependencies" id="projen.java.PluginOptions.property.dependencies"></a>',id:"dependenciesoptional-",level:5},{value:'<code>executions</code><sup>Optional</sup> <a name="executions" id="projen.java.PluginOptions.property.executions"></a>',id:"executionsoptional-",level:5},{value:'PomOptions <a name="PomOptions" id="projen.java.PomOptions"></a>',id:"pomoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.PomOptions.Initializer"></a>',id:"initializer--11",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--18",level:4},{value:'<code>artifactId</code><sup>Required</sup> <a name="artifactId" id="projen.java.PomOptions.property.artifactId"></a>',id:"artifactidrequired--3",level:5},{value:'<code>groupId</code><sup>Required</sup> <a name="groupId" id="projen.java.PomOptions.property.groupId"></a>',id:"groupidrequired--3",level:5},{value:'<code>version</code><sup>Required</sup> <a name="version" id="projen.java.PomOptions.property.version"></a>',id:"versionrequired--3",level:5},{value:'<code>description</code><sup>Optional</sup> <a name="description" id="projen.java.PomOptions.property.description"></a>',id:"descriptionoptional--3",level:5},{value:'<code>packaging</code><sup>Optional</sup> <a name="packaging" id="projen.java.PomOptions.property.packaging"></a>',id:"packagingoptional--2",level:5},{value:'<code>parentPom</code><sup>Optional</sup> <a name="parentPom" id="projen.java.PomOptions.property.parentPom"></a>',id:"parentpomoptional--2",level:5},{value:'<code>url</code><sup>Optional</sup> <a name="url" id="projen.java.PomOptions.property.url"></a>',id:"urloptional--3",level:5},{value:'ProjenrcOptions <a name="ProjenrcOptions" id="projen.java.ProjenrcOptions"></a>',id:"projenrcoptions-",level:3},{value:'Initializer <a name="Initializer" id="projen.java.ProjenrcOptions.Initializer"></a>',id:"initializer--12",level:4},{value:'Properties <a name="Properties" id="Properties"></a>',id:"properties--19",level:4},{value:'<code>className</code><sup>Optional</sup> <a name="className" id="projen.java.ProjenrcOptions.property.className"></a>',id:"classnameoptional-",level:5},{value:'<code>projenVersion</code><sup>Optional</sup> <a name="projenVersion" id="projen.java.ProjenrcOptions.property.projenVersion"></a>',id:"projenversionoptional-",level:5},{value:'<code>testScope</code><sup>Optional</sup> <a name="testScope" id="projen.java.ProjenrcOptions.property.testScope"></a>',id:"testscopeoptional-",level:5},{value:'Classes <a name="Classes" id="Classes"></a>',id:"classes-",level:2},{value:'UpdatePolicy <a name="UpdatePolicy" id="projen.java.UpdatePolicy"></a>',id:"updatepolicy-",level:3}
1,{value:'Initializers <a name="Initializers" id="projen.java.UpdatePolicy.Initializer"></a>',id:"initializers--7",level:4},{value:'Static Functions <a name="Static Functions" id="Static Functions"></a>',id:"static-functions--7",level:4},{value:'<code>interval</code> <a name="interval" id="projen.java.UpdatePolicy.interval"></a>',id:"interval-",level:5},{value:'<code>minutes</code><sup>Required</sup> <a name="minutes" id="projen.java.UpdatePolicy.interval.parameter.minutes"></a>',id:"minutesrequired-",level:6},{value:'Constants <a name="Constants" id="Constants"></a>',id:"constants--1",level:4},{value:'<code>ALWAYS</code><sup>Required</sup> <a name="ALWAYS" id="projen.java.UpdatePolicy.property.ALWAYS"></a>',id:"alwaysrequired-",level:5},{value:'<code>DAILY</code><sup>Required</sup> <a name="DAILY" id="projen.java.UpdatePolicy.property.DAILY"></a>',id:"dailyrequired-",level:5},{value:'<code>NEVER</code><sup>Required</sup> <a name="NEVER" id="projen.java.UpdatePolicy.property.NEVER"></a>',id:"neverrequired-",level:5},{value:'Enums <a name="Enums" id="Enums"></a>',id:"enums-",level:2},{value:'ChecksumPolicy <a name="ChecksumPolicy" id="projen.java.ChecksumPolicy"></a>',id:"checksumpolicy-",level:3},{value:'Members <a name="Members" id="Members"></a>',id:"members-",level:4},{value:'<code>IGNORE</code> <a name="IGNORE" id="projen.java.ChecksumPolicy.IGNORE"></a>',id:"ignore-",level:5},{value:'<code>FAIL</code> <a name="FAIL" id="projen.java.ChecksumPolicy.FAIL"></a>',id:"fail-",level:5},{value:'<code>WARN</code> <a name="WARN" id="projen.java.ChecksumPolicy.WARN"></a>',id:"warn-",level:5}];function l(e){let n={a:"a",blockquote:"blockquote",code:"code",del:"del",em:"em",h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",header:"header",hr:"hr",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",sup:"sup",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.header,{children:(0,s.jsxs)(n.h1,{id:"java-submodule-",children:[(0,s.jsx)(n.code,{children:"java"})," Submodule ",(0,s.jsx)(n.a,{name:"`java` Submodule",id:"projen.java"})]})}),"\n",(0,s.jsxs)(n.h2,{id:"constructs-",children:["Constructs ",(0,s.jsx)(n.a,{name:"Constructs",id:"Constructs"})]}),"\n",(0,s.jsxs)(n.h3,{id:"javaproject-",children:["JavaProject ",(0,s.jsx)(n.a,{name:"JavaProject",id:"projen.java.JavaProject"})]}),"\n",(0,s.jsx)(n.p,{children:"Java project."}),"\n",(0,s.jsxs)(n.h4,{id:"initializers-",children:["Initializers ",(0,s.jsx)(n.a,{name:"Initializers",id:"projen.java.JavaProject.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nnew java.JavaProject(options: JavaProjectOptions)\n"})}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.Initializer.parameter.options",children:"options"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions",children:"JavaProjectOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"optionsrequired-",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.JavaProject.Initializer.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions",children:"JavaProjectOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"methods-",children:["Methods ",(0,s.jsx)(n.a,{name:"Methods",id:"Methods"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.toString",children:"toString"})})}),(0,s.jsx)(n.td,{children:"Returns a string representation of this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.with",children:"with"})})}),(0,s.jsx)(n.td,{children:"Applies one or more mixins to this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.addExcludeFromCleanup",children:"addExcludeFromCleanup"})})}),(0,s.jsx)(n.td,{children:"Exclude the matching files from pre-synth cleanup."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.addGitIgnore",children:"addGitIgnore"})})}),(0,s.jsx)(n.td,{children:"Adds a .gitignore pattern."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.addPackageIgnore",children:"addPackageIgnore"})})}),(0,s.jsx)(n.td,{children:"Exclude these files from the bundled package."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.addTask",children:"addTask"})})}),(0,s.jsx)(n.td,{children:"Adds a new task to this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.annotateGenerated",children:"annotateGenerated"})})}),(0,s.jsx)(n.td,{children:"Marks the provided file(s) as being generated."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.postSynthesize",children:"postSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called after all components are synthesized."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.preSynthesize",children:"preSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called before all components are synthesized."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.removeTask",children:"removeTask"})})}),(0,s.jsx)(n.td,{children:"Removes a task from a project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.runTaskCommand",children:"runTaskCommand"})})}),(0,s.jsx)(n.td,{children:"Returns the shell command to execute in order to run a task."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.synth",children:"synth"})})}),(0,s.jsxs)(n.td,{children:["Synthesize all project files into ",(0,s.jsx)(n.code,{children:"outdir"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.tryFindFile",children:"tryFindFile"})})}),(0,s.jsx)(n.td,{children:"Finds a file at the specified relative path within this project and all its subprojects."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.tryFindObjectFile",children:"tryFindObjectFile"})})}),(0,s.jsx)(n.td,{children:"Finds an object file (like JsonFile, YamlFile, etc.) by n
1ame."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.tryRemoveFile",children:"tryRemoveFile"})})}),(0,s.jsx)(n.td,{children:"Finds a file at the specified relative path within this project and removes it."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.addDependency",children:"addDependency"})})}),(0,s.jsx)(n.td,{children:"Adds a runtime dependency."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.addPlugin",children:"addPlugin"})})}),(0,s.jsx)(n.td,{children:"Adds a build plugin to the pom."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.addTestDependency",children:"addTestDependency"})})}),(0,s.jsx)(n.td,{children:"Adds a test dependency."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tostring-",children:[(0,s.jsx)(n.code,{children:"toString"})," ",(0,s.jsx)(n.a,{name:"toString",id:"projen.java.JavaProject.toString"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public toString(): string\n"})}),"\n",(0,s.jsx)(n.p,{children:"Returns a string representation of this construct."}),"\n",(0,s.jsxs)(n.h5,{id:"with-",children:[(0,s.jsx)(n.code,{children:"with"})," ",(0,s.jsx)(n.a,{name:"with",id:"projen.java.JavaProject.with"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public with(mixins: ...IMixin[]): IConstruct\n"})}),"\n",(0,s.jsx)(n.p,{children:"Applies one or more mixins to this construct."}),"\n",(0,s.jsxs)(n.p,{children:["Mixins are applied in order. The list of constructs is captured at the\nstart of the call, so constructs added by a mixin will not be visited.\nUse multiple ",(0,s.jsx)(n.code,{children:"with()"})," calls if subsequent mixins should apply to added\nconstructs."]}),"\n",(0,s.jsxs)(n.h6,{id:"mixinsrequired-",children:[(0,s.jsx)(n.code,{children:"mixins"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"mixins",id:"projen.java.JavaProject.with.parameter.mixins"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ...constructs.IMixin[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The mixins to apply."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addexcludefromcleanup-",children:[(0,s.jsx)(n.code,{children:"addExcludeFromCleanup"})," ",(0,s.jsx)(n.a,{name:"addExcludeFromCleanup",id:"projen.java.JavaProject.addExcludeFromCleanup"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addExcludeFromCleanup(globs: ...string[]): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Exclude the matching files from pre-synth cleanup."}),"\n",(0,s.jsx)(n.p,{children:"Can be used when, for example, some\nsource files include the projen marker and we don't want them to be erased during synth."}),"\n",(0,s.jsxs)(n.h6,{id:"globsrequired-",children:[(0,s.jsx)(n.code,{children:"globs"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"globs",id:"projen.java.JavaProject.addExcludeFromCleanup.parameter.globs"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ...string[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The glob patterns to match."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addgitignore-",children:[(0,s.jsx)(n.code,{children:"addGitIgnore"})," ",(0,s.jsx)(n.a,{name:"addGitIgnore",id:"projen.java.JavaProject.addGitIgnore"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addGitIgnore(pattern: string): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a .gitignore pattern."}),"\n",(0,s.jsxs)(n.h6,{id:"patternrequired-",children:[(0,s.jsx)(n.code,{children:"pattern"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"pattern",id:"projen.java.JavaProject.addGitIgnore.parameter.pattern"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The glob pattern to ignore."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addpackageignore-",children:[(0,s.jsx)(n.code,{children:"addPackageIgnore"})," ",(0,s.jsx)(n.a,{name:"addPackageIgnore",id:"projen.java.JavaProject.addPackageIgnore"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addPackageIgnore(_pattern: string): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Exclude these files from the bundled package."}),"\n",(0,s.jsxs)(n.p,{children:["Implemented by project types based on the\npackaging mechanism. For example, ",(0,s.jsx)(n.code,{children:"NodeProject"})," delegates this to ",(0,s.jsx)(n.code,{children:".npmignore"}),"."]}),"\n",(0,s.jsxs)(n.h6,{id:"_patternrequired-",children:[(0,s.jsx)(n.code,{children:"_pattern"}),(0,s.jsx)(n.sup,{children:"Required"}
1)," ",(0,s.jsx)(n.a,{name:"_pattern",id:"projen.java.JavaProject.addPackageIgnore.parameter._pattern"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The glob pattern to exclude."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addtask-",children:[(0,s.jsx)(n.code,{children:"addTask"})," ",(0,s.jsx)(n.a,{name:"addTask",id:"projen.java.JavaProject.addTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addTask(name: string, props?: TaskOptions): Task\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a new task to this project."}),"\n",(0,s.jsx)(n.p,{children:"This will fail if the project already has\na task with this name."}),"\n",(0,s.jsxs)(n.h6,{id:"namerequired-",children:[(0,s.jsx)(n.code,{children:"name"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"name",id:"projen.java.JavaProject.addTask.parameter.name"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The task name to add."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h6,{id:"propsoptional-",children:[(0,s.jsx)(n.code,{children:"props"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"props",id:"projen.java.JavaProject.addTask.parameter.props"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.TaskOptions"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Task properties."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"annotategenerated-",children:[(0,s.jsx)(n.code,{children:"annotateGenerated"})," ",(0,s.jsx)(n.a,{name:"annotateGenerated",id:"projen.java.JavaProject.annotateGenerated"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public annotateGenerated(glob: string): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Marks the provided file(s) as being generated."}),"\n",(0,s.jsx)(n.p,{children:"This is achieved using the\ngithub-linguist attributes. Generated files do not count against the\nrepository statistics and language breakdown."}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://github.com/github/linguist/blob/master/docs/overrides.md",children:"https://github.com/github/linguist/blob/master/docs/overrides.md"})}),"\n"]}),"\n",(0,s.jsxs)(n.h6,{id:"globrequired-",children:[(0,s.jsx)(n.code,{children:"glob"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"glob",id:"projen.java.JavaProject.annotateGenerated.parameter.glob"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"the glob pattern to match (could be a file path)."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postsynthesize-",children:[(0,s.jsx)(n.code,{children:"postSynthesize"})," ",(0,s.jsx)(n.a,{name:"postSynthesize",id:"projen.java.JavaProject.postSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called after all components are synthesized."}),"\n",(0,s.jsxs)(n.p,{children:["Order is ",(0,s.jsx)(n.em,{children:"not"})," guaranteed."]}),"\n",(0,s.jsxs)(n.h5,{id:"presynthesize-",children:[(0,s.jsx)(n.code,{children:"preSynthesize"})," ",(0,s.jsx)(n.a,{name:"preSynthesize",id:"projen.java.JavaProject.preSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public preSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called before all components are synthesized."}),"\n",(0,s.jsxs)(n.h5,{id:"removetask-",children:[(0,s.jsx)(n.code,{children:"removeTask"})," ",(0,s.jsx)(n.a,{name:"removeTask",id:"projen.java.JavaProject.removeTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public removeTask(name: string): Task\n"})}),"\n",(0,s.jsx)(n.p,{children:"Removes a task from a project."}),"\n",(0,s.jsxs)(n.h6,{id:"namerequired--1",children:[(0,s.jsx)(n.code,{children:"name"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"name",id:"projen.java.JavaProject.removeTask.parameter.name"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The name of the task to remove."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"runtaskcommand-",children:[(0,s.jsx)(n.code,{children:"runTaskCommand"})," ",(0,s.jsx)(n.a,{name:"runTaskCommand",id:"projen.java.JavaProject.runTaskCommand"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public runTaskCommand(task: Task): string\n"})}),"\n",(0,s.jsx)(n.p,{children:"Returns the shell command to execute in order to run a task."}),"\n",(0,s.jsxs)(n.p,{children:["By default, this is ",(0,s.jsx)(n.code,{children:"npx projen@<version> <task>"})]}),"\n",(0,s.jsxs)(n.h6,{id:"taskrequired-",children:[(0,s.jsx)(n.code,{children:"task"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"task",id:"projen.java.JavaProject.runTaskCommand.parameter.task"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Task"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The task for which the command is required."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"synth-",children:[(0,s.jsx)(n.code,{children:"synth"})," ",(0,s.jsx)(n.a,{name:"synth",id:"projen.java.JavaProject.synth"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public synth(): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Synthesize all project files into ",(0,s.jsx)(n.code,{children:"outdir"}),"."]}),"\n",(0,s.jsxs)(n.ol,{children:["\n",(0,s.jsx)(n.li,{children:'Call "this.preSynthesize()"'}),"\n",(0,s.jsx)(n.li,{children:"Delete all generated files"}),"\n",(0,s.jsx)(n.li,{children:"Synthesize all subprojects"}),"\n",(0,s.jsx)(n.li,{children:"Synthesize all components of this project"}),"\n",(0,s.jsx)(n.li,{children:'Call "projectCreation()" for all c
1omponents, only if the project is being created for the first time'}),"\n",(0,s.jsx)(n.li,{children:'Call "postSynthesize()" for all components of this project'}),"\n",(0,s.jsx)(n.li,{children:'Call "this.postSynthesize()"'}),"\n",(0,s.jsx)(n.li,{children:'Call "postProjectCreation()" for all components, only if the project is being created for the first time'}),"\n"]}),"\n",(0,s.jsxs)(n.h5,{id:"tryfindfile-",children:[(0,s.jsx)(n.code,{children:"tryFindFile"})," ",(0,s.jsx)(n.a,{name:"tryFindFile",id:"projen.java.JavaProject.tryFindFile"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public tryFindFile(filePath: string): FileBase\n"})}),"\n",(0,s.jsx)(n.p,{children:"Finds a file at the specified relative path within this project and all its subprojects."}),"\n",(0,s.jsxs)(n.h6,{id:"filepathrequired-",children:[(0,s.jsx)(n.code,{children:"filePath"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"filePath",id:"projen.java.JavaProject.tryFindFile.parameter.filePath"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The file path."}),"\n",(0,s.jsxs)(n.p,{children:["If this path is relative, it will be resolved\nfrom the root of ",(0,s.jsx)(n.em,{children:"this"})," project."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tryfindobjectfile-",children:[(0,s.jsx)(n.code,{children:"tryFindObjectFile"})," ",(0,s.jsx)(n.a,{name:"tryFindObjectFile",id:"projen.java.JavaProject.tryFindObjectFile"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public tryFindObjectFile(filePath: string): ObjectFile\n"})}),"\n",(0,s.jsx)(n.p,{children:"Finds an object file (like JsonFile, YamlFile, etc.) by name."}),"\n",(0,s.jsxs)(n.h6,{id:"filepathrequired--1",children:[(0,s.jsx)(n.code,{children:"filePath"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"filePath",id:"projen.java.JavaProject.tryFindObjectFile.parameter.filePath"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The file path."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tryremovefile-",children:[(0,s.jsx)(n.code,{children:"tryRemoveFile"})," ",(0,s.jsx)(n.a,{name:"tryRemoveFile",id:"projen.java.JavaProject.tryRemoveFile"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public tryRemoveFile(filePath: string): FileBase\n"})}),"\n",(0,s.jsx)(n.p,{children:"Finds a file at the specified relative path within this project and removes it."}),"\n",(0,s.jsxs)(n.h6,{id:"filepathrequired--2",children:[(0,s.jsx)(n.code,{children:"filePath"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"filePath",id:"projen.java.JavaProject.tryRemoveFile.parameter.filePath"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The file path."}),"\n",(0,s.jsxs)(n.p,{children:["If this path is relative, it will be\nresolved from the root of ",(0,s.jsx)(n.em,{children:"this"})," project."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"adddependency-",children:[(0,s.jsx)(n.code,{children:"addDependency"})," ",(0,s.jsx)(n.a,{name:"addDependency",id:"projen.java.JavaProject.addDependency"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addDependency(spec: string): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a runtime dependency."}),"\n",(0,s.jsxs)(n.h6,{id:"specrequired-",children:[(0,s.jsx)(n.code,{children:"spec"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"spec",id:"projen.java.JavaProject.addDependency.parameter.spec"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Format ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addplugin-",children:[(0,s.jsx)(n.code,{children:"addPlugin"})," ",(0,s.jsx)(n.a,{name:"addPlugin",id:"projen.java.JavaProject.addPlugin"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addPlugin(spec: string, options?: PluginOptions): Depen
1dency\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a build plugin to the pom."}),"\n",(0,s.jsx)(n.p,{children:"The plug in is also added as a BUILD dep to the project."}),"\n",(0,s.jsxs)(n.h6,{id:"specrequired--1",children:[(0,s.jsx)(n.code,{children:"spec"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"spec",id:"projen.java.JavaProject.addPlugin.parameter.spec"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["dependency spec (",(0,s.jsx)(n.code,{children:"group/artifact@version"}),")."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h6,{id:"optionsoptional-",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.JavaProject.addPlugin.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.PluginOptions",children:"PluginOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"plugin options."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addtestdependency-",children:[(0,s.jsx)(n.code,{children:"addTestDependency"})," ",(0,s.jsx)(n.a,{name:"addTestDependency",id:"projen.java.JavaProject.addTestDependency"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addTestDependency(spec: string): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a test dependency."}),"\n",(0,s.jsxs)(n.h6,{id:"specrequired--2",children:[(0,s.jsx)(n.code,{children:"spec"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"spec",id:"projen.java.JavaProject.addTestDependency.parameter.spec"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Format ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"static-functions-",children:["Static Functions ",(0,s.jsx)(n.a,{name:"Static Functions",id:"Static Functions"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.isConstruct",children:"isConstruct"})})}),(0,s.jsxs)(n.td,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.isProject",children:"isProject"})})}),(0,s.jsx)(n.td,{children:"Test whether the given construct is a project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.of",children:"of"})})}),(0,s.jsx)(n.td,{children:"Find the closest ancestor project for given construct."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"isconstruct-",children:[(0,s.jsx)(n.code,{children:"isConstruct"})," ",(0,s.jsx)(n.a,{name:"isConstruct",id:"projen.java.JavaProject.isConstruct"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.JavaProject.isConstruct(x: any)\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]}),"\n",(0,s.jsxs)(n.p,{children:["Use this method instead of ",(0,s.jsx)(n.code,{children:"instanceof"})," to properly detect ",(0,s.jsx)(n.code,{children:"Construct"}),"\ninstances, even when the construct library is symlinked."]}),"\n",(0,s.jsxs)(n.p,{children:["Explanation: in JavaScript, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"})," library on\ndisk are seen as independent, completely different libraries. As a\nconsequence, the class ",(0,s.jsx)(n.code,{children:"Construct"})," in each copy of the ",(0,s.jsx)(n.code,{children:"constructs"})," library\nis seen as a different class, and an instance of one class will not test as\n",(0,s.jsx)(n.code,{children:"instanceof"})," the other class. ",(0,s.jsx)(n.code,{children:"npm install"})," will not create installations\nlike this, but users may manually symlink construct libraries together or\nuse a monorepo tool: in those cases, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"}),"\nlibrary can be accidentally installed, and ",(0,s.jsx)(n.code,{children:"instanceof"})," will behave\nunpredictably. It is safest to avoid using ",(0,s.jsx)(n.code,{children:"instanceof"}),", and using\nthis type-testing method instead."]}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired-",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.JavaProject.isConstruct.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Any object."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"isproject-",children:[(0,s.jsx)(n.code,{children:"isProject"})," ",(0,s.jsx)(n.a,{name:"isProject",id:"projen.java.JavaProject.isProject"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.JavaProject.isProject(x: any)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Test whether the given construct is a project."}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--1",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.JavaProject.isProject.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"of-",children:[(0,s.jsx)(n.code,{children:"of"})," ",(0,s.jsx)(n.a,{name:"of",id:"projen.java.JavaProject.of"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.JavaProject.of(construct: IConstruct)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Find the closest ancestor project for given construct."}),"\n",(0,s.jsx)(n.p,{children:"When given a project, this it the project itself."}),"\n",(0,s.jsxs)(n.h6,{id:"constructrequired-",children:[(0,s.jsx)(n.code,{children:"construct"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"construct",id:"projen.java.JavaProject.of.parameter.construct"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," constructs.IConstruct"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"properties-",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.node",children:"node"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"constructs.Node"})}),(0,s.jsx)(n.td,{children:"The tree node."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.buildTask",children:"buildTask"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Task"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.commitGenerated",children:"commitGenerated"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Whether to commit the managed files by default."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.compileTask",children:"compileTask"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Task"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.components",children:"components"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Component[]"})}),(0,s.jsx)(n.td,{children:"Returns all the components within this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.deps",children:"deps"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Dependencies"})}),(0,s.jsx)(n.td,{children:"Project dependencies."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.ejected",children:"ejected"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Whether or not the project is being ejected."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.files",children:"files"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.FileBase[]"})}),(0,s.jsx)(n.td,{children:"All files in this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.gitattributes",children:"gitattributes"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.GitAttributesFile"})}),(0,s.jsx)(n.td,{children:"The .gitattributes file for this repository."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.gitignore",children:"gitignore"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.IgnoreFile"})}),(0,s.jsx)(n.td,{children:".gitignore."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.logger",children:"logger"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Logger"})}),(0,s.jsx)(n.td,{children:"Logging utilities."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.name",children:"name"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project name."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.outdir",children:"outdir"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Absolute output directory of this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.packageTask",children:"packageTask"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Task"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.postCompileTask",children:"postCompileTask"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Task"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.preCompileTask",children:"preCompileTask"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Task"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.projectBuild",children:"projectBuild"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.ProjectBuild"})}),(0,s.jsx)(n.td,{children:"Manages the build process of the project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.projenCommand",children:"projenCommand"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The command to use in order to run the projen CLI."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.root",children:"root"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:"The root project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.subprojects",children:"subprojects"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project[]"})}),(0,s.jsx)(n.td,{children:"Returns all the subprojects within this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.tasks",children:"tasks"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Tasks"})}),(0,s.jsx)(n.td,{children:"Project tasks."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.testTask",children:"testTask"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Task"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.defaultTask",children:"defaultTask"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Task"})}),(0,s.jsx)(n.td,{children:'This is the "default" task, the one that executes "projen".'})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.initProject",children:"initProject"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.InitProject"})}),(0,s.jsxs)(n.td,{children:["The options used when this project is bootstrapped via ",(0,s.jsx)(n.code,{children:"projen new"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.parent",children:"parent"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:"A parent project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.autoApprove",children:"autoApprove"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.AutoApprove"})}),(0,s.jsx)(n.td,{children:"Auto approve set up for this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.devContainer",children:"devContainer"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.vscode.DevContainer"})}),(0,s.jsx)(n.td,{children:"Access for .devcontainer.json (used for GitHub Codespaces)."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,
1{href:"#projen.java.JavaProject.property.github",children:"github"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.GitHub"})}),(0,s.jsx)(n.td,{children:"Access all github components."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.gitpod",children:"gitpod"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Gitpod"})}),(0,s.jsx)(n.td,{children:"Access for Gitpod."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.vscode",children:"vscode"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.vscode.VsCode"})}),(0,s.jsx)(n.td,{children:"Access all VSCode components."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.compile",children:"compile"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile",children:"MavenCompile"})})}),(0,s.jsx)(n.td,{children:"Compile component."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.distdir",children:"distdir"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Maven artifact output directory."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.packaging",children:"packaging"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging",children:"MavenPackaging"})})}),(0,s.jsx)(n.td,{children:"Packaging component."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.pom",children:"pom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})})}),(0,s.jsxs)(n.td,{children:["API for managing ",(0,s.jsx)(n.code,{children:"pom.xml"}),"."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.junit",children:"junit"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit",children:"Junit"})})}),(0,s.jsx)(n.td,{children:"JUnit component."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.projenrc",children:"projenrc"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc",children:"Projenrc"})})}),(0,s.jsx)(n.td,{children:"Projenrc component."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"noderequired-",children:[(0,s.jsx)(n.code,{children:"node"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"node",id:"projen.java.JavaProject.property.node"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly node: Node;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," constructs.Node"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The tree node."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"buildtaskrequired-",children:[(0,s.jsx)(n.code,{children:"buildTask"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"buildTask",id:"projen.java.JavaProject.property.buildTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly buildTask: Task;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Task"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"commitgeneratedrequired-",children:[(0,s.jsx)(n.code,{children:"commitGenerated"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"commitGenerated",id:"projen.java.JavaProject.property.commitGenerated"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly commitGenerated: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Whether to commit the managed files by default."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"compiletaskrequired-",children:[(0,s.jsx)(n.code,{children:"compileTask"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"compileTask",id:"projen.java.JavaProject.property.compileTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly compileTask: Task;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Task"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"componentsrequired-",children:[(0,s.jsx)(n.code,{children:"components"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"components",id:"projen.java.JavaProject.property.components"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly components: Component[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Component[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Returns all the components within this project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"depsrequired-",children:[(0,s.jsx)(n.code,{children:"deps"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"deps",id:"projen.java.JavaProject.property.deps"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly deps: Dependencies;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Dependencies"]}
1),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project dependencies."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"ejectedrequired-",children:[(0,s.jsx)(n.code,{children:"ejected"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"ejected",id:"projen.java.JavaProject.property.ejected"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly ejected: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Whether or not the project is being ejected."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"filesrequired-",children:[(0,s.jsx)(n.code,{children:"files"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"files",id:"projen.java.JavaProject.property.files"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly files: FileBase[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.FileBase[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"All files in this project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitattributesrequired-",children:[(0,s.jsx)(n.code,{children:"gitattributes"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"gitattributes",id:"projen.java.JavaProject.property.gitattributes"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitattributes: GitAttributesFile;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.GitAttributesFile"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The .gitattributes file for this repository."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitignorerequired-",children:[(0,s.jsx)(n.code,{children:"gitignore"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"gitignore",id:"projen.java.JavaProject.property.gitignore"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitignore: IgnoreFile;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.IgnoreFile"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:".gitignore."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"loggerrequired-",children:[(0,s.jsx)(n.code,{children:"logger"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"logger",id:"projen.java.JavaProject.property.logger"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly logger: Logger;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Logger"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Logging utilities."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"namerequired--2",children:[(0,s.jsx)(n.code,{children:"name"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"name",id:"projen.java.JavaProject.property.name"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly name: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project name."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"outdirrequired-",children:[(0,s.jsx)(n.code,{children:"outdir"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"outdir",id:"projen.java.JavaProject.property.outdir"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly outdir: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Absolute output directory of this project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagetaskrequired-",children:[(0,s.jsx)(n.code,{children:"packageTask"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"packageTask",id:"projen.java.JavaProject.property.packageTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly packageTask: Task;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Task"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postcompiletaskrequired-",children:[(0,s.jsx)(n.code,{children:"postCompileTask"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"postCompileTask",id:"projen.java.JavaProject.property.postCompileTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly postCompileTask: Task;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Task"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"precompiletaskrequired-",children:[(0,s.jsx)(n.code,{children:"preCompileTask"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"preCompileTask",id:"projen.java.JavaProject.property.preCompileTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly preCompileTask: Task;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Task"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectbuildrequired-",children:[(0,s.jsx)(n.code,{children:"projectBuild"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"projectBuild",id:"projen.java.JavaProject.property.projectBuild"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projectBuild: ProjectBuild;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.ProjectBuild"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Manages the build process of the project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projencommandrequired-",children:[(0,s.jsx)(n.code,{children:"projenCommand"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"projenCommand",id:"projen.java.JavaProject.property.projenCommand"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenCommand: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The command to use in order to run the projen CLI."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"rootrequired-",children:[(0,s.jsx)(n.code,{children:"root"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"root",id:"projen.java.JavaProject.property.root"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly root: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The root project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"subprojectsrequired-",children:[(0,s.jsx)(n.code,{children:"subprojects"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"subprojects",id:"projen.java.JavaProject.property.subprojects"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly subprojects: Project[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Returns all the subprojects within this project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tasksrequired-",children:[(0,s.jsx)(n.code,{children:"tasks"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"tasks",id:"projen.java.JavaProject.property.tasks"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly tasks: Tasks;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Tasks"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project tasks."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"testtaskrequired-",children:[(0,s.jsx)(n.code,{children:"testTask"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"testTask",id:"projen.java.JavaProject.property.testTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly testTask: Task;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Task"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"defaulttaskoptional-",children:[(0,s.jsx)(n.code,{children:"defaultTask"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"defaultTask",id:"projen.java.JavaProject.property.defaultTask"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly defaultTask: Task;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Task"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:'This is the "default" task, the one that executes "projen".'}
1),"\n",(0,s.jsx)(n.p,{children:"Undefined if\nthe project is being ejected."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"initprojectoptional-",children:[(0,s.jsx)(n.del,{children:(0,s.jsx)(n.code,{children:"initProject"})}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.JavaProject.property.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Deprecated:"})," use the ",(0,s.jsx)(n.code,{children:"initProject"})," argument passed to ",(0,s.jsx)(n.code,{children:"Component.projectCreation()"})," instead."]}),"\n"]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly initProject: InitProject;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["The options used when this project is bootstrapped via ",(0,s.jsx)(n.code,{children:"projen new"}),"."]}),"\n",(0,s.jsx)(n.p,{children:"It\nincludes the original set of options passed to the CLI and also the JSII\nFQN of the project type."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"parentoptional-",children:[(0,s.jsx)(n.code,{children:"parent"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"parent",id:"projen.java.JavaProject.property.parent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly parent: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"A parent project."}),"\n",(0,s.jsx)(n.p,{children:"If undefined, this is the root project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"autoapproveoptional-",children:[(0,s.jsx)(n.code,{children:"autoApprove"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"autoApprove",id:"projen.java.JavaProject.property.autoApprove"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly autoApprove: AutoApprove;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.AutoApprove"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Auto approve set up for this project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"devcontaineroptional-",children:[(0,s.jsx)(n.code,{children:"devContainer"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"devContainer",id:"projen.java.JavaProject.property.devContainer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly devContainer: DevContainer;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.vscode.DevContainer"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Access for .devcontainer.json (used for GitHub Codespaces)."}),"\n",(0,s.jsxs)(n.p,{children:["This will be ",(0,s.jsx)(n.code,{children:"undefined"})," if devContainer boolean is false"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"githuboptional-",children:[(0,s.jsx)(n.code,{children:"github"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"github",id:"projen.java.JavaProject.property.github"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly github: GitHub;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.GitHub"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Access all github components."}),"\n",(0,s.jsxs)(n.p,{children:["This will be ",(0,s.jsx)(n.code,{children:"undefined"})," for subprojects."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitpodoptional-",children:[(0,s.jsx)(n.code,{children:"gitpod"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"gitpod",id:"projen.java.JavaProject.property.gitpod"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitpod: Gitpod;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Gitpod"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Access for Gitpod."}),"\n",(0,s.jsxs)(n.p,{children:["This will be ",(0,s.jsx)(n.code,{children:"undefined"})," if gitpod boolean is false"]}
1),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"vscodeoptional-",children:[(0,s.jsx)(n.code,{children:"vscode"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"vscode",id:"projen.java.JavaProject.property.vscode"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly vscode: VsCode;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.vscode.VsCode"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Access all VSCode components."}),"\n",(0,s.jsxs)(n.p,{children:["This will be ",(0,s.jsx)(n.code,{children:"undefined"})," for subprojects."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"compilerequired-",children:[(0,s.jsx)(n.code,{children:"compile"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"compile",id:"projen.java.JavaProject.property.compile"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly compile: MavenCompile;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile",children:"MavenCompile"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Compile component."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"distdirrequired-",children:[(0,s.jsx)(n.code,{children:"distdir"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"distdir",id:"projen.java.JavaProject.property.distdir"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly distdir: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Maven artifact output directory."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagingrequired-",children:[(0,s.jsx)(n.code,{children:"packaging"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"packaging",id:"projen.java.JavaProject.property.packaging"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly packaging: MavenPackaging;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging",children:"MavenPackaging"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Packaging component."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"pomrequired-",children:[(0,s.jsx)(n.code,{children:"pom"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"pom",id:"projen.java.JavaProject.property.pom"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly pom: Pom;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["API for managing ",(0,s.jsx)(n.code,{children:"pom.xml"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"junitoptional-",children:[(0,s.jsx)(n.code,{children:"junit"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"junit",id:"projen.java.JavaProject.property.junit"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly junit: Junit;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.Junit",children:"Junit"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"JUnit component."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcoptional-",children:[(0,s.jsx)(n.code,{children:"projenrc"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrc",id:"projen.java.JavaProject.property.projenrc"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrc: Projenrc;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.Projenrc",children:"Projenrc"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Projenrc component."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"constants-",children:["Constants ",(0,s.jsx)(n.a,{name:"Constants",id:"Constants"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProject.property.DEFAULT_TASK",children:"DEFAULT_TASK"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsxs)(n.td,{children:["The name of the default task (the task executed when ",(0,s.jsx)(n.code,{children:"projen"})," is run without arguments)."]})]})})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"default_taskrequired-",children:[(0,s.jsx)(n.code,{children:"DEFAULT_TASK"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"DEFAULT_TASK",id:"projen.java.JavaProject.property.DEFAULT_TASK"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly DEFAULT_TASK: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["The name of the default task (the task executed when ",(0,s.jsx)(n.code,{children:"projen"})," is run without arguments)."]}),"\n",(0,s.jsx)(n.p,{children:"Normally\nthis task should synthesize the project files."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"junit-",children:["Junit ",(0,s.jsx)(n.a,{name:"Junit",id:"projen.java.Junit"})]}),"\n",(0,s.jsx)(n.p,{children:"Implements JUnit-based testing."}
1),"\n",(0,s.jsxs)(n.h4,{id:"initializers--1",children:["Initializers ",(0,s.jsx)(n.a,{name:"Initializers",id:"projen.java.Junit.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nnew java.Junit(project: Project, options: JunitOptions)\n"})}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.Initializer.parameter.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.Initializer.parameter.options",children:"options"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions",children:"JunitOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired-",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.Junit.Initializer.parameter.project"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"optionsrequired--1",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.Junit.Initializer.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions",children:"JunitOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"methods--1",children:["Methods ",(0,s.jsx)(n.a,{name:"Methods",id:"Methods"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.toString",children:"toString"})})}),(0,s.jsx)(n.td,{children:"Returns a string representation of this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.with",children:"with"})})}),(0,s.jsx)(n.td,{children:"Applies one or more mixins to this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.postProjectCreation",children:"postProjectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.postSynthesize",children:"postSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called after synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.preSynthesize",children:"preSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called before synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.projectCreation",children:"projectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.synthesize",children:"synthesize"})})}),(0,s.jsx)(n.td,{children:"Synthesizes files to the project output directory."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tostring--1",children:[(0,s.jsx)(n.code,{children:"toString"})," ",(0,s.jsx)(n.a,{name:"toString",id:"projen.java.Junit.toString"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public toString(): string\n"})}),"\n",(0,s.jsx)(n.p,{children:"Returns a string representation of this construct."}),"\n",(0,s.jsxs)(n.h5,{id:"with--1",children:[(0,s.jsx)(n.code,{children:"with"})," ",(0,s.jsx)(n.a,{name:"with",id:"projen.java.Junit.with"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public with(mixins: ...IMixin[]): IConstruct\n"})}),"\n",(0,s.jsx)(n.p,{children:"Applies one or more mixins to this construct."}),"\n",(0,s.jsxs)(n.p,{children:["Mixins are applied in order. The list of constructs is captured at the\nstart of the call, so constructs added by a mixin will not be visited.\nUse multiple ",(0,s.jsx)(n.code,{children:"with()"})," calls if subsequent mixins should apply to added\nconstructs."]}),"\n",(0,s.jsxs)(n.h6,{id:"mixinsrequired--1",children:[(0,s.jsx)(n.code,{children:"mixins"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"mixins",id:"projen.java.Junit.with.parameter.mixins"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ...constructs.IMixin[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The mixins to apply."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postprojectcreation-",children:[(0,s.jsx)(n.code,{children:"postProjectCreation"})," ",(0,s.jsx)(n.a,{name:"postProjectCreation",id:"projen.java.Junit.postProjectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postProjectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nIt is also skipped when post-synthesis steps are disabled, e.g. ",(0,s.jsx)(n.code,{children:"--no-post"})," or ",(0,s.jsx)(n.code,{children:"PROJEN_DISABLE_POST"}),".\nUse it for one-off setup that can be turned off by the user, like running a task to give the user immediate\nfeedback on their new project. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired-",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.Junit.postProjectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postsynthesize--1",children:[(0,s.jsx)(n.code,{children:"postSynthesize"})," ",(0,s.jsx)(n.a,{name:"postSynthesize",id:"projen.java.Junit.postSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called after synthesis."}),"\n",(0,s.jsxs)(n.p,{children:["Order is ",(0,s.jsx)(n.em,{children:"not"})," guaranteed."]}),"\n",(0,s.jsxs)(n.h5,{id:"presynthesize--1",children:[(0,s.jsx)(n.code,{children:"preSynthesize"})," ",(0,s.jsx)(n.a,{name:"preSynthesize",id:"projen.java.Junit.preSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public preSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called before synthesis."}),"\n",(0,s.jsxs)(n.h5,{id:"projectcreation-",children:[(0,s.jsx)(n.code,{children:"projectCreation"})," ",(0,s.jsx)(n.a,{name:"projectCreation",id:"projen.java.Junit.projectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public projectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nUse it for deterministic, one-off file generation. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--1",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.Junit.projectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"synthesize-",children:[(0,s.jsx)(n.code,{children:"synthesize"})," ",(0,s.jsx)(n.a,{name:"synthesize",id:"projen.java.Junit.synthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public synthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Synthesizes files to the project output directory."}),"\n",(0,s.jsxs)(n.h4,{id:"static-functions--1",children:["Static Functions ",(0,s.jsx)(n.a,{name:"Static Functions",id:"Static Functions"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.isConstruct",children:"isConstruct"})})}),(0,s.jsxs)(n.td,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.isComponent",children:"isComponent"})})}),(0,s.jsx)(n.td,{children:"Test whether the given construct is a component."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"isconstruct--1",children:[(0,s.jsx)(n.code,{children:"isConstruct"})," ",(0,s.jsx)(n.a,{name:"isConstruct",id:"projen.java.Junit.isConstruct"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.Junit.isConstruct(x: any)\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]}),"\n",(0,s.jsxs)(n.p,{children:["Use this method instead of ",(0,s.jsx)(n.code,{children:"instanceof"})," to properly detect ",(0,s.jsx)(n.code,{children:"Construct"}),"\ninstances, even when the construct library is symlinked."]}),"\n",(0,s.jsxs)(n.p,{children:["Explanation: in JavaScript, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"})," library on\ndisk are seen as independent, completely different libraries. As a\nconsequence, the class ",(0,s.jsx)(n.code,{children:"Construct"})," in each copy of the ",(0,s.jsx)(n.code,{children:"constructs"})," library\nis seen as a different class, and an instance of one class will not test as\n",(0,s.jsx)(n.code,{children:"instanceof"})," the other class. ",(0,s.jsx)(n.code,{children:"npm install"})," will not create installations\nlike this, but users may manually symlink construct libraries together or\nuse a monorepo tool: in those cases, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"}),"\nlibrary can be accidentally installed, and ",(0,s.jsx)(n.code,{children:"instanceof"})," will behave\nunpredictably. It is safest to avoid using ",(0,s.jsx)(n.code,{children:"instanceof"}),", and using\nthis type-testing method instead."]}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--2",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.Junit.isConstruct.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Any object."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"iscomponent-",children:[(0,s.jsx)(n.code,{children:"isComponent"})," ",(0,s.jsx)(n.a,{name:"isComponent",id:"projen.java.Junit.isComponent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.Junit.isComponent(x: any)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Test whether the given construct is a component."}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--3",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.Junit.isComponent.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"properties--1",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.property.node",children:"node"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"constructs.Node"})}),(0,s.jsx)(n.td,{children:"The tree node."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Junit.property.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"noderequired--1",children:[(0,s.jsx)(n.code,{children:"node"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"node",id:"projen.java.Junit.property.node"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly node: Node;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," constructs.Node"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The tree node."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--1",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.Junit.property.project"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly project: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"mavencompile-",children:["MavenCompile ",(0,s.jsx)(n.a,{name:"MavenCompile",id:"projen.java.MavenCompile"})]}),"\n",(0,s.jsxs)(n.p,{children:["Adds the maven-compiler plugin to a POM file and the ",(0,s.jsx)(n.code,{children:"compile"})," 
1task."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializers--2",children:["Initializers ",(0,s.jsx)(n.a,{name:"Initializers",id:"projen.java.MavenCompile.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nnew java.MavenCompile(project: Project, pom: Pom, options?: MavenCompileOptions)\n"})}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.Initializer.parameter.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.Initializer.parameter.pom",children:"pom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.Initializer.parameter.options",children:"options"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompileOptions",children:"MavenCompileOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--2",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.MavenCompile.Initializer.parameter.project"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"pomrequired--1",children:[(0,s.jsx)(n.code,{children:"pom"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"pom",id:"projen.java.MavenCompile.Initializer.parameter.pom"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"optionsoptional--1",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.MavenCompile.Initializer.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenCompileOptions",children:"MavenCompileOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"methods--2",children:["Methods ",(0,s.jsx)(n.a,{name:"Methods",id:"Methods"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.toString",children:"toString"})})}),(0,s.jsx)(n.td,{children:"Returns a string representation of this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.with",children:"with"})})}),(0,s.jsx)(n.td,{children:"Applies one or more mixins to this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.postProjectCreation",children:"postProjectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.postSynthesize",children:"postSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called after synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.preSynthesize",children:"preSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called before synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.projectCreation",children:"projectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.synthesize",children:"synthesize"})})}),(0,s.jsx)(n.td,{children:"Synthesizes files to the project output directory."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tostring--2",children:[(0,s.jsx)(n.code,{children:"toString"})," ",(0,s.jsx)(n.a,{name:"toString",id:"projen.java.MavenCompile.toString"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public toString(): string\n"})}),"\n",(0,s.jsx)(n.p,{children:"Returns a string representation of this construct."}),"\n",(0,s.jsxs)(n.h5,{id:"with--2",children:[(0,s.jsx)(n.code,{children:"with"})," ",(0,s.jsx)(n.a,{name:"with",id:"projen.java.MavenCompile.with"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public with(mixins: ...IMixin[]): IConstruct\n"})}),"\n",(0,s.jsx)(n.p,{children:"Applies one or more mixins to this construct."}),"\n",(0,s.jsxs)(n.p,{children:["Mixins are applied in order. The list of constructs is captured at the\nstart of the call, so constructs added by a mixin will not be visited.\nUse multiple ",(0,s.jsx)(n.code,{children:"with()"})," calls if subsequent mixins should apply to added\nconstructs."]}),"\n",(0,s.jsxs)(n.h6,{id:"mixinsrequired--2",children:[(0,s.jsx)(n.code,{children:"mixins"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"mixins",id:"projen.java.MavenCompile.with.parameter.mixins"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ...constructs.IMixin[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The mixins to apply."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postprojectcreation--1",children:[(0,s.jsx)(n.code,{children:"postProjectCreation"})," ",(0,s.jsx)(n.a,{name:"postProjectCreation",id:"projen.java.MavenCompile.postProjectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postProjectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nIt is also skipped when post-synthesis steps are disabled, e.g. ",(0,s.jsx)(n.code,{children:"--no-post"})," or ",(0,s.jsx)(n.code,{children:"PROJEN_DISABLE_POST"}),".\nUse it for one-off setup that can be turned off by the user, like running a task to give the user immediate\nfeedback on their new project. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--2",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.MavenCompile.postProjectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postsynthesize--2",children:[(0,s.jsx)(n.code,{children:"postSynthesize"})," ",(0,s.jsx)(n.a,{name:"postSynthesize",id:"projen.java.MavenCompile.postSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called after synthesis."}),"\n",(0,s.jsxs)(n.p,{children:["Order is ",(0,s.jsx)(n.em,{children:"not"})," guaranteed."]}),"\n",(0,s.jsxs)(n.h5,{id:"presynthesize--2",children:[(0,s.jsx)(n.code,{children:"preSynthesize"})," ",(0,s.jsx)(n.a,{name:"preSynthesize",id:"projen.java.MavenCompile.preSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public preSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called before synthesis."}),"\n",(0,s.jsxs)(n.h5,{id:"projectcreation--1",children:[(0,s.jsx)(n.code,{children:"projectCreation"})," ",(0,s.jsx)(n.a,{name:"projectCreation",id:"projen.java.MavenCompile.projectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public projectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nUse it for deterministic, one-off file generation. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--3",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.MavenCompile.projectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"synthesize--1",children:[(0,s.jsx)(n.code,{children:"synthesize"})," ",(0,s.jsx)(n.a,{name:"synthesize",id:"projen.java.MavenCompile.synthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public synthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Synthesizes files to the project output directory."}),"\n",(0,s.jsxs)(n.h4,{id:"static-functions--2",children:["Static Functions ",(0,s.jsx)(n.a,{name:"Static Functions",id:"Static Functions"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.isConstruct",children:"isConstruct"})})}),(0,s.jsxs)(n.td,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.isComponent",children:"isComponent"})})}),(0,s.jsx)(n.td,{children:"Test whether the given construct is a component."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"isconstruct--2",children:[(0,s.jsx)(n.code,{children:"isConstruct"})," ",(0,s.jsx)(n.a,{name:"isConstruct",id:"projen.java.MavenCompile.isConstruct"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.MavenCompile.isConstruct(x: any)\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]}),"\n",(0,s.jsxs)(n.p,{children:["Use this method instead of ",(0,s.jsx)(n.code,{children:"instanceof"})," to properly detect ",(0,s.jsx)(n.code,{children:"Construct"}),"\ninstances, even when the construct library is symlinked."]}),"\n",(0,s.jsxs)(n.p,{children:["Explanation: in JavaScript, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"})," library on\ndisk are seen as independent, completely different libraries. As a\nconsequence, the class ",(0,s.jsx)(n.code,{children:"Construct"})," in each copy of the ",(0,s.jsx)(n.code,{children:"constructs"})," library\nis seen as a different class, and an instance of one class will not test as\n",(0,s.jsx)(n.code,{children:"instanceof"})," the other class. ",(0,s.jsx)(n.code,{children:"npm install"})," will not create installations\nlike this, but users may manually symlink construct libraries together or\nuse a monorepo tool: in those cases, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"}),"\nlibrary can be accidentally installed, and ",(0,s.jsx)(n.code,{children:"instanceof"})," will behave\nunpredictably. It is safest to avoid using ",(0,s.jsx)(n.code,{children:"instanceof"}),", and using\nthis type-testing method instead."]}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--4",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.MavenCompile.isConstruct.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Any object."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"iscomponent--1",children:[(0,s.jsx)(n.code,{children:"isComponent"})," ",(0,s.jsx)(n.a,{name:"isComponent",id:"projen.java.MavenCompile.isComponent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.MavenCompile.isComponent(x: any)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Test whether the given construct is a component."}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--5",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.MavenCompile.isComponent.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"properties--2",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.property.node",children:"node"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"constructs.Node"})}),(0,s.jsx)(n.td,{children:"The tree node."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompile.property.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"noderequired--2",children:[(0,s.jsx)(n.code,{children:"node"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"node",id:"projen.java.MavenCompile.property.node"})]}),"\n
1",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly node: Node;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," constructs.Node"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The tree node."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--3",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.MavenCompile.property.project"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly project: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"mavenpackaging-",children:["MavenPackaging ",(0,s.jsx)(n.a,{name:"MavenPackaging",id:"projen.java.MavenPackaging"})]}),"\n",(0,s.jsx)(n.p,{children:"Configures a maven project to produce a .jar archive with sources and javadocs."}),"\n",(0,s.jsxs)(n.h4,{id:"initializers--3",children:["Initializers ",(0,s.jsx)(n.a,{name:"Initializers",id:"projen.java.MavenPackaging.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nnew java.MavenPackaging(project: Project, pom: Pom, options?: MavenPackagingOptions)\n"})}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.Initializer.parameter.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.Initializer.parameter.pom",children:"pom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.Initializer.parameter.options",children:"options"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions",children:"MavenPackagingOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--4",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.MavenPackaging.Initializer.parameter.project"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"pomrequired--2",children:[(0,s.jsx)(n.code,{children:"pom"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"pom",id:"projen.java.MavenPackaging.Initializer.parameter.pom"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"optionsoptional--2",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.MavenPackaging.Initializer.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions",children:"MavenPackagingOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"methods--3",children:["Methods ",(0,s.jsx)(n.a,{name:"Methods",id:"Methods"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.toString",children:"toString"})})}),(0,s.jsx)(n.td,{children:"Returns a string representation of this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.with",children:"with"})})}),(0,s.jsx)(n.td,{children:"Applies one or more mixins to this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.postProjectCreation",children:"postProjectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.postSynthesize",children:"postSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called after synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.preSynthesize",children:"preSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called before synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.projectCreation",children:"projectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.synthesize",children:"synthesize"})})}),(0,s.jsx)(n.td,{children:"Synthesizes files to the project output directory."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tostring--3",children:[(0,s.jsx)(n.code,{children:"toString"})," ",(0,s.jsx)(n.a,{name:"toString",id:"projen.java.MavenPackaging.toString"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public toString(): string\n"})}),"\n",(0,s.jsx)(n.p,{children:"Returns a string representation of this construct."}),"\n",(0,s.jsxs)(n.h5,{id:"with--3",children:[(0,s.jsx)(n.code,{children:"with"})," ",(0,s.jsx)(n.a,{name:"with",id:"projen.java.MavenPackaging.with"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public with(mixins: ...IMixin[]): IConstruct\n"})}),"\n",(0,s.jsx)(n.p,{children:"Applies one or more mixins to this construct."}),"\n",(0,s.jsxs)(n.p,{children:["Mixins are applied in order. The list of constructs is captured at the\nstart of the call, so constructs added by a mixin will not be visited.\nUse multiple ",(0,s.jsx)(n.code,{children:"with()"})," calls if subsequent mixins should apply to added\nconstructs."]}),"\n",(0,s.jsxs)(n.h6,{id:"mixinsrequired--3",children:[(0,s.jsx)(n.code,{children:"mixins"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"mixins",id:"projen.java.MavenPackaging.with.parameter.mixins"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ...constructs.IMixin[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The mixins to apply."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postprojectcreation--2",children:[(0,s.jsx)(n.code,{children:"postProjectCreation"})," ",(0,s.jsx)(n.a,{name:"postProjectCreation",id:"projen.java.MavenPackaging.postProjectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postProjectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nIt is also skipped when post-synthesis steps are disabled, e.g. ",(0,s.jsx)(n.code,{children:"--no-post"})," or ",(0,s.jsx)(n.code,{children:"PROJEN_DISABLE_POST"}),".\nUse it for one-off setup that can be turned off by the user, like running a task to give the user immediate\nfeedback on their new project. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--4",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.MavenPackaging.postProjectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postsynthesize--3",children:[(0,s.jsx)(n.code,{children:"postSynthesize"})," ",(0,s.jsx)(n.a,{name:"postSynthesize",id:"projen.java.MavenPackaging.postSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called after synthesis."}),"\n",(0,s.jsxs)(n.p,{children:["Order is ",(0,s.jsx)(n.em,{children:"not"})," guaranteed."]}),"\n",(0,s.jsxs)(n.h5,{id:"presynthesize--3",children:[(0,s.jsx)(n.code,{children:"preSynthesize"})," ",(0,s.jsx)(n.a,{name:"preSynthesize",id:"projen.java.MavenPackaging.preSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public preSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called before synthesis."}),"\n",(0,s.jsxs)(n.h5,{id:"projectcreation--2",children:[(0,s.jsx)(n.code,{children:"projectCreation"})," ",(0,s.jsx)(n.a,{name:"projectCreation",id:"projen.java.MavenPackaging.projectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public projectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nUse it for deterministic, one-off file generation. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--5",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.MavenPackaging.projectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"synthesize--2",children:[(0,s.jsx)(n.code,{children:"synthesize"})," ",(0,s.jsx)(n.a,{name:"synthesize",id:"projen.java.MavenPackaging.synthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public synthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Synthesizes files to the project output directory."}),"\n",(0,s.jsxs)(n.h4,{id:"static-functions--3",children:["Static Functions ",(0,s.jsx)(n.a,{name:"Static Functions",id:"Static Functions"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.isConstruct",children:"isConstruct"})})}),(0,s.jsxs)(n.td,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.isComponent",children:"isComponent"})})}),(0,s.jsx)(n.td,{children:"Test whether the given construct is a component."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"isconstruct--3",children:[(0,s.jsx)(n.code,{children:"isConstruct"})," ",(0,s.jsx)(n.a,{name:"isConstruct",id:"projen.java.MavenPackaging.isConstruct"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.MavenPackaging.isConstruct(x: any)\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]}),"\n",(0,s.jsxs)(n.p,{children:["Use this method instead of ",(0,s.jsx)(n.code,{children:"instanceof"})," to properly detect ",(0,s.jsx)(n.code,{children:"Construct"}),"\ninstances, even when the construct library is symlinked."]}),"\n",(0,s.jsxs)(n.p,{children:["Explanation: in JavaScript, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"})," library on\ndisk are seen as independent, completely different libraries. As a\nconsequence, the class ",(0,s.jsx)(n.code,{children:"Construct"})," in each copy of the ",(0,s.jsx)(n.code,{children:"constructs"})," library\nis seen as a different class, and an instance of one class will not test as\n",(0,s.jsx)(n.code,{children:"instanceof"})," the other class. ",(0,s.jsx)(n.code,{children:"npm install"})," will not create installations\nlike this, but users may manually symlink construct libraries together or\nuse a monorepo tool: in those cases, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"}),"\nlibrary can be accidentally installed, and ",(0,s.jsx)(n.code,{children:"instanceof"})," will behave\nunpredictably. It is safest to avoid using ",(0,s.jsx)(n.code,{children:"instanceof"}),", and using\nthis type-testing method instead."]}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--6",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.MavenPackaging.isConstruct.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Any object."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"iscomponent--2",children:[(0,s.jsx)(n.code,{children:"isComponent"})," ",(0,s.jsx)(n.a,{name:"isComponent",id:"projen.java.MavenPackaging.isComponent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.MavenPackaging.isComponent(x: any)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Test whether the given construct is a component."}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--7",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.MavenPackaging.isComponent.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"properties--3",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0
1,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.property.node",children:"node"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"constructs.Node"})}),(0,s.jsx)(n.td,{children:"The tree node."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.property.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackaging.property.distdir",children:"distdir"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The directory containing the package output, relative to the project outdir."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"noderequired--3",children:[(0,s.jsx)(n.code,{children:"node"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"node",id:"projen.java.MavenPackaging.property.node"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly node: Node;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," constructs.Node"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The tree node."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--5",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.MavenPackaging.property.project"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly project: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"distdirrequired--1",children:[(0,s.jsx)(n.code,{children:"distdir"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"distdir",id:"projen.java.MavenPackaging.property.distdir"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly distdir: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The directory containing the package output, relative to the project outdir."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"mavensample-",children:["MavenSample ",(0,s.jsx)(n.a,{name:"MavenSample",id:"projen.java.MavenSample"})]}),"\n",(0,s.jsx)(n.p,{children:"Java code sample."}),"\n",(0,s.jsxs)(n.h4,{id:"initializers--4",children:["Initializers ",(0,s.jsx)(n.a,{name:"Initializers",id:"projen.java.MavenSample.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nnew java.MavenSample(project: Project, options: MavenSampleOptions)\n"})}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.Initializer.parameter.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.Initializer.parameter.options",children:"options"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSampleOptions",children:"MavenSampleOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--6",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.MavenSample.Initializer.parameter.project"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"optionsrequired--2",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.MavenSample.Initializer.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenSampleOptions",children:"MavenSampleOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"methods--4",children:["Methods ",(0,s.jsx)(n.a,{name:"Methods",id:"Methods"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.toString",children:"toString"})})}),(0,s.jsx)(n.td,{children:"Returns a string representation of this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.with",children:"with"})})}),(0,s.jsx)(n.td,{children:"Applies one or more mixins to this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.postProjectCreation",children:"postProjectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.postSynthesize",children:"postSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called after synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.preSynthesize",children:"preSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called before synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.projectCreation",children:"projectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.synthesize",children:"synthesize"})})}),(0,s.jsx)(n.td,{children:"Synthesizes files to the project output directory."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tostring--4",children:[(0,s.jsx)(n.code,{children:"toString"})," ",(0,s.jsx)(n.a,{name:"toString",id:"projen.java.MavenSample.toString"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public toString(): string\n"})}),"\n",(0,s.jsx)(n.p,{children:"Returns a string representation of this construct."}),"\n",(0,s.jsxs)(n.h5,{id:"with--4",children:[(0,s.jsx)(n.code,{children:"with"})," ",(0,s.jsx)(n.a,{name:"with",id:"projen.java.MavenSample.with"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public with(mixins: ...IMixin[]): IConstruct\n"})}),"\n",(0,s.jsx)(n.p,{children:"Applies one or more mixins to this construct."}),"\n",(0,s.jsxs)(n.p,{children:["Mixins are applied in order. The list of constructs is captured at the\nstart of the call, so constructs added by a mixin will not be visited.\nUse multiple ",(0,s.jsx)(n.code,{children:"with()"})," calls if subsequent mixins should apply to added\nconstructs."]}),"\n",(0,s.jsxs)(n.h6,{id:"mixinsrequired--4",children:[(0,s.jsx)(n.code,{children:"mixins"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"mixins",id:"projen.java.MavenSample.with.parameter.mixins"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ...constructs.IMixin[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The mixins to apply."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postprojectcreation--3",children:[(0,s.jsx)(n.code,{children:"postProjectCreation"})," ",(0,s.jsx)(n.a,{name:"postProjectCreation",id:"projen.java.MavenSample.postProjectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postProjectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nIt is also skipped when post-synthesis steps are disabled, e.g. ",(0,s.jsx)(n.code,{children:"--no-post"})," or ",(0,s.jsx)(n.code,{children:"PROJEN_DISABLE_POST"}),".\nUse it for one-off setup that can be turned off by the user, like running a task to give the user immediate\nfeedback on their new project. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--6",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.MavenSample.postProjectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postsynthesize--4",children:[(0,s.jsx)(n.code,{children:"postSynthesize"})," ",(0,s.jsx)(n.a,{name:"postSynthesize",id:"projen.java.MavenSample.postSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called after synthesis."}),"\n",(0,s.jsxs)(n.p,{children:["Order is ",(0,s.jsx)(n.em,{children:"not"})," guaranteed."]}),"\n",(0,s.jsxs)(n.h5,{id:"presynthesize--4",children:[(0,s.jsx)(n.code,{children:"preSynthesize"})," ",(0,s.jsx)(n.a,{name:"preSynthesize",id:"projen.java.MavenSample.preSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public preSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called before synthesis."}),"\n",(0,s.jsxs)(n.h5,{id:"projectcreation--3",children:[(0,s.jsx)(n.code,{children:"projectCreation"})," ",(0,s.jsx)(n.a,{name:"projectCreation",id:"projen.java.MavenSample.projectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public projectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nUse it for deterministic, one-off file generation. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--7",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.MavenSample.projectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"synthesize--3",children:[(0,s.jsx)(n.code,{children:"synthesize"})," ",(0,s.jsx)(n.a,{name:"synthesize",id:"projen.java.MavenSample.synthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public synthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Synthesizes files to the project output directory."}),"\n",(0,s.jsxs)(n.h4,{id:"static-functions--4",children:["Static Functions ",(0,s.jsx)(n.a,{name:"Static Functions",id:"Static Functions"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.isConstruct",children:"isConstruct"})})}),(0,s.jsxs)(n.td,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.isComponent",children:"isComponent"})})}),(0,s.jsx)(n.td,{children:"Test whether the given construct is a component."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"isconstruct--4",children:[(0,s.jsx)(n.code,{children:"isConstruct"})," ",(0,s.jsx)(n.a,{name:"isConstruct",id:"projen.java.MavenSample.isConstruct"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.MavenSample.isConstruct(x: any)\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]}),"\n",(0,s.jsxs)(n.p,{children:["Use this method instead of ",(0,s.jsx)(n.code,{children:"instanceof"})," to properly detect ",(0,s.jsx)(n.code,{children:"Construct"}),"\ninstances, even when the construct library is symlinked."]}),"\n",(0,s.jsxs)(n.p,{children:["Explanation: in JavaScript, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"})," library on\ndisk are seen as independent, completely different libraries. As a\nconsequence, the class ",(0,s.jsx)(n.code,{children:"Construct"})," in each copy of the ",(0,s.jsx)(n.code,{children:"constructs"})," library\nis seen as a different class, and an instance of one class will not test as\n",(0,s.jsx)(n.code,{children:"instanceof"})," the other class. ",(0,s.jsx)(n.code,{children:"npm install"})," will not create installations\nlike this, but users may manually symlink construct libraries together or\nuse a monorepo tool: in those cases, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"}),"\nlibrary can be accidentally installed, and ",(0,s.jsx)(n.code,{children:"instanceof"})," will behave\nunpredictably. It is safest to avoid using ",(0,s.jsx)(n.code,{children:"instanceof"}),", and using\nthis type-testing method instead."]}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--8",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.MavenSample.isConstruct.parameter.x"})]
1}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Any object."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"iscomponent--3",children:[(0,s.jsx)(n.code,{children:"isComponent"})," ",(0,s.jsx)(n.a,{name:"isComponent",id:"projen.java.MavenSample.isComponent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.MavenSample.isComponent(x: any)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Test whether the given construct is a component."}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--9",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.MavenSample.isComponent.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"properties--4",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.property.node",children:"node"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"constructs.Node"})}),(0,s.jsx)(n.td,{children:"The tree node."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSample.property.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"noderequired--4",children:[(0,s.jsx)(n.code,{children:"node"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"node",id:"projen.java.MavenSample.property.node"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly node: Node;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," constructs.Node"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The tree node."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--7",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.MavenSample.property.project"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly project: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"pom-",children:["Pom ",(0,s.jsx)(n.a,{name:"Pom",id:"projen.java.Pom"})]}),"\n",(0,s.jsx)(n.p,{children:"A Project Object Model or POM is the fundamental unit of work in Maven."}),"\n",(0,s.jsx)(n.p,{children:"It is\nan XML file that contains information about the project and configuration\ndetails used by Maven to build the project."}),"\n",(0,s.jsxs)(n.h4,{id:"initializers--5",children:["Initializers ",(0,s.jsx)(n.a,{name:"Initializers",id:"projen.java.Pom.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nnew java.Pom(project: Project, options: PomOptions)\n"})}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.Initializer.parameter.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.Initializer.parameter.options",children:"options"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PomOptions",children:"PomOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--8",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.Pom.Initializer.parameter.project"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"optionsrequired--3",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.Pom.Initializer.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.PomOptions",children:"PomOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"methods--5",children:["Methods ",(0,s.jsx)(n.a,{name:"Methods",id:"Methods"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.toString",children:"toString"})})}),(0,s.jsx)(n.td,{children:"Returns a string representation of this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.with",children:"with"})})}),(0,s.jsx)(n.td,{children:"Applies one or more mixins to this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.postProjectCreation",children:"postProjectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.postSynthesize",children:"postSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called after synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.preSynthesize",children:"preSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called before synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.projectCreation",children:"projectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.synthesize",children:"synthesize"})})}),(0,s.jsx)(n.td,{children:"Synthesizes files to the project output directory."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.addDependency",children:"addDependency"})})}),(0,s.jsx)(n.td,{children:"Adds a runtime dependency."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.addPlugin",children:"addPlugin"})})}),(0,s.jsx)(n.td,{children:"Adds a build plugin to the pom."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.addPluginRepository",children:"addPluginRepository"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.addProperty",children:"addProperty"})})}),(0,s.jsx)(n.td,{children:"Adds a key/value property to the pom."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.addRepository",children:"addRepository"})})}),(0,s.jsx)(n.td,{children:"Adds a repository to the pom."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.addTestDependency",children:"addTestDependency"})})}),(0,s.jsx)(n.td,{children:"Adds a test dependency."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tostring--5",children:[(0,s.jsx)(n.code,{children:"toString"})," ",(0,s.jsx)(n.a,{name:"toString",id:"projen.java.Pom.toString"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public toString(): string\n"})}),"\n",(0,s.jsx)(n.p,{children:"Returns a string representation of this construct."}),"\n",(0,s.jsxs)(n.h5,{id:"with--5",children:[(0,s.jsx)(n.code,{children:"with"})," ",(0,s.jsx)(n.a,{name:"with",id:"projen.java.Pom.with"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public with(mixins: ...IMixin[]): IConstruct\n"})}),"\n",(0,s.jsx)(n.p,{children:"Applies one or more mixins to this construct."}),"\n",(0,s.jsxs)(n.p,{children:["Mixins are applied in order. The list of constructs is captured at the\nstart of the call, so constructs added by a mixin will not be visited.\nUse multiple ",(0,s.jsx)(n.code,{children:"with()"})," calls if subsequent mixins should apply to added\nconstructs."]}),"\n",(0,s.jsxs)(n.h6,{id:"mixinsrequired--5",children:[(0,s.jsx)(n.code,{children:"mixins"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"mixins",id:"projen.java.Pom.with.parameter.mixins"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ...constructs.IMixin[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The mixins to apply."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postprojectcreation--4",children:[(0,s.jsx)(n.code,{children:"postProjectCreation"})," ",(0,s.jsx)(n.a,{name:"postProjectCreation",id:"projen.java.Pom.postProjectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postProjectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nIt is also skipped when post-synthesis steps are disabled, e.g. ",(0,s.jsx)(n.code,{children:"--no-post"})," or ",(0,s.jsx)(n.code,{children:"PROJEN_DISABLE_POST"}),".\nUse it for one-off setup that can be turned off by the user, like running a task to give the user immediate\nfeedback on their new project. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--8",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.Pom.postProjectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postsynthesize--5",children:[(0,s.jsx)(n.code,{children:"postSynthesize"})," ",(0,s.jsx)(n.a,{name:"postSynthesize",id:"projen.java.Pom.postSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called after synthesis."}),"\n",(0,s.jsxs)(n.p,{children:["Order is ",(0,s.jsx)(n.em,{children:"not"})," guaranteed."]}),"\n",(0,s.jsxs)(n.h5,{id:"presynthesize--5",children:[(0,s.jsx)(n.code,{children:"preSynthesize"})," ",(0,s.jsx)(n.a,{name:"preSynthesize",id:"projen.java.Pom.preSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public preSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called before synthesis."}),"\n",(0,s.jsxs)(n.h5,{id:"projectcreation--4",children:[(0,s.jsx)(n.code,{children:"projectCreation"})," ",(0,s.jsx)(n.a,{name:"projectCreation",id:"projen.java.Pom.projectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public projectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nUse it for deterministic, one-off file generation. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--9",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.Pom.projectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"synthesize--4",children:[(0,s.jsx)(n.code,{children:"synthesize"})," ",(0,s.jsx)(n.a,{name:"synthesize",id:"projen.java.Pom.synthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public synthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Synthesizes files to the project output directory."}),"\n",(0,s.jsxs)(n.h5,{id:"adddependency--1",children:[(0,s.jsx)(n.code,{children:"addDependency"})," ",(0,s.jsx)(n.a,{name:"addDependency",id:"projen.java.Pom.addDependency"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addDependency(spec: string): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a runtime dependency."}),"\n",(0,s.jsxs)(n.h6,{id:"specrequired--3",children:[(0,s.jsx)(n.code,{children:"spec"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"spec",id:"projen.java.Pom.addDependency.parameter.spec"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Format ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addplugin--1",children:[(0,s.jsx)(n.code,{children:"addPlugin"})," ",(0,s.jsx)(n.a,{name:"addPlugin",id:"projen.java.Pom.addPlugin"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addPlugin(spec: string, options?: PluginOptions): Depen
1dency\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a build plugin to the pom."}),"\n",(0,s.jsx)(n.p,{children:"The plug in is also added as a BUILD dep to the project."}),"\n",(0,s.jsxs)(n.h6,{id:"specrequired--4",children:[(0,s.jsx)(n.code,{children:"spec"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"spec",id:"projen.java.Pom.addPlugin.parameter.spec"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["dependency spec (",(0,s.jsx)(n.code,{children:"group/artifact@version"}),")."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h6,{id:"optionsoptional--3",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.Pom.addPlugin.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.PluginOptions",children:"PluginOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"plugin options."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addpluginrepository-",children:[(0,s.jsx)(n.code,{children:"addPluginRepository"})," ",(0,s.jsx)(n.a,{name:"addPluginRepository",id:"projen.java.Pom.addPluginRepository"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addPluginRepository(repository: MavenRepository): void\n"})}),"\n",(0,s.jsxs)(n.h6,{id:"repositoryrequired-",children:[(0,s.jsx)(n.code,{children:"repository"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"repository",id:"projen.java.Pom.addPluginRepository.parameter.repository"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenRepository",children:"MavenRepository"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addproperty-",children:[(0,s.jsx)(n.code,{children:"addProperty"})," ",(0,s.jsx)(n.a,{name:"addProperty",id:"projen.java.Pom.addProperty"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addProperty(key: string, value: string): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a key/value property to the pom."}),"\n",(0,s.jsxs)(n.h6,{id:"keyrequired-",children:[(0,s.jsx)(n.code,{children:"key"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"key",id:"projen.java.Pom.addProperty.parameter.key"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"the key."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h6,{id:"valuerequired-",children:[(0,s.jsx)(n.code,{children:"value"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"value",id:"projen.java.Pom.addProperty.parameter.value"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"the value."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addrepository-",children:[(0,s.jsx)(n.code,{children:"addRepository"})," ",(0,s.jsx)(n.a,{name:"addRepository",id:"projen.java.Pom.addRepository"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addRepository(repository: MavenRepository): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a repository to the pom."}),"\n",(0,s.jsxs)(n.h6,{id:"repositoryrequired--1",children:[(0,s.jsx)(n.code,{children:"repository"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"repository",id:"projen.java.Pom.addRepository.parameter.repository"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenRepository",children:"MavenRepository"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"the repository to add."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"addtestdependency--1",children:[(0,s.jsx)(n.code,{children:"addTestDependency"})," ",(0,s.jsx)(n.a,{name:"addTestDependency",id:"projen.java.Pom.addTestDependency"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public addTestDependency(spec: string): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Adds a test dependency."}),"\n",(0,s.jsxs)(n.h6,{id:"specrequired--5",children:[(0,s.jsx)(n.code,{children:"spec"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"spec",id:"projen.java.Pom.addTestDependency.parameter.spec"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Format ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"static-functions--5",children:["Static Functions ",(0,s.jsx)(n.a,{name:"Static Functions",id:"Static Functions"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.isConstruct",children:"isConstruct"})})}),(0,s.jsxs)(n.td,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.isComponent",children:"isComponent"})})}),(0,s.jsx)(n.td,{children:"Test whether the given construct is a component."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"isconstruct--5",children:[(0,s.jsx)(n.code,{children:"isConstruct"})," ",(0,s.jsx)(n.a,{name:"isConstruct",id:"projen.java.Pom.isConstruct"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.Pom.isConstruct(x: any)\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]}),"\n",(0,s.jsxs)(n.p,{children:["Use this method instead of ",(0,s.jsx)(n.code,{children:"instanceof"})," to properly detect ",(0,s.jsx)(n.code,{children:"Construct"}),"\ninstances, even when the construct library is symlinked."]}),"\n",(0,s.jsxs)(n.p,{children:["Explanation: in JavaScript, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"})," library on\ndisk are seen as independent, completely different libraries. As a\nconsequence, the class ",(0,s.jsx)(n.code,{children:"Construct"})," in each copy of the ",(0,s.jsx)(n.code,{children:"constructs"})," library\nis seen as a different class, and an instance of one class will not test as\n",(0,s.jsx)(n.code,{children:"instanceof"})," the other class. ",(0,s.jsx)(n.code,{children:"npm install"})," will not create installations\nlike this, but users may manually symlink construct libraries together or\nuse a monorepo tool: in those cases, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"}),"\nlibrary can be accidentally installed, and ",(0,s.jsx)(n.code,{children:"instanceof"})," will behave\nunpredictably. It is safest to avoid using ",(0,s.jsx)(n.code,{children:"instanceof"}),", and using\nthis type-testing method instead."]}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--10",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.Pom.isConstruct.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Any object."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"iscomponent--4",children:[(0,s.jsx)(n.code,{children:"isComponent"})," ",(0,s.jsx)(n.a,{name:"isComponent",id:"projen.java.Pom.isComponent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.Pom.isComponent(x: any)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Test whether the given construct is a component."}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--11",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.Pom.isComponent.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"properties--5",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.node",children:"node"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"constructs.Node"})}),(0,s.jsx)(n.td,{children:"The tree node."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.artifactId",children:"artifactId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Maven artifact ID."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.fileName",children:"fileName"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The name of the pom file."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.groupId",children:"groupId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Maven group ID."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.packaging",children:"packaging"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Maven packaging format."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.version",children:"version"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project version."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.description",children:"description"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project description."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.name",children:"name"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project display name."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom.property.url",children:"url"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project URL."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"noderequired--5",children:[(0,s.jsx)(n.code,{children:"node"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"node",id:"projen.java.Pom.property.node"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly node: Node;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," constructs.Node"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The tree node."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--9",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.Pom.property.project"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly project: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"artifactidrequired-",children:[(0,s.jsx)(n.code,{children:"artifactId"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"artifactId",id:"projen.java.Pom.property.artifactId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly artifactId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Maven artifact ID."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"filenamerequired-",children:[(0,s.jsx)(n.code,{children:"fileName"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"fileName",id:"projen.java.Pom.property.fileName"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly fileName: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The name of the pom file."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"groupidrequired-",children:[(0,s.jsx)(n.code,{children:"groupId"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"groupId",id:"projen.java.Pom.property.groupId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly groupId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Maven group ID."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagingrequired--1",children:[(0,s.jsx)(n.code,{children:"packaging"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"packaging",id:"projen.java.Pom.property.packaging"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly packaging: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Maven packaging format."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"versionrequired-",children:[(0,s.jsx)(n.code,{children:"version"}),(0,s.jsx)(n.sup,{children:"Required"}
1)," ",(0,s.jsx)(n.a,{name:"version",id:"projen.java.Pom.property.version"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly version: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project version."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"descriptionoptional-",children:[(0,s.jsx)(n.code,{children:"description"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"description",id:"projen.java.Pom.property.description"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly description: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project description."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"nameoptional-",children:[(0,s.jsx)(n.code,{children:"name"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"name",id:"projen.java.Pom.property.name"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly name: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project display name."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"urloptional-",children:[(0,s.jsx)(n.code,{children:"url"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"url",id:"projen.java.Pom.property.url"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly url: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project URL."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"projenrc-",children:["Projenrc ",(0,s.jsx)(n.a,{name:"Projenrc",id:"projen.java.Projenrc"})]}),"\n",(0,s.jsx)(n.p,{children:"Allows writing projenrc files in java."}),"\n",(0,s.jsxs)(n.p,{children:["This will install ",(0,s.jsx)(n.code,{children:"org.projen/projen"})," as a Maven dependency and will add a\n",(0,s.jsx)(n.code,{children:"synth"})," task which will compile & execute ",(0,s.jsx)(n.code,{children:"main()"})," from\n",(0,s.jsx)(n.code,{children:"src/main/java/projenrc.java"}),"."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializers--6",children:["Initializers ",(0,s.jsx)(n.a,{name:"Initializers",id:"projen.java.Projenrc.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nnew java.Projenrc(project: Project, pom: Pom, options?: ProjenrcOptions)\n"})}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.Initializer.parameter.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.Initializer.parameter.pom",children:"pom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.Initializer.parameter.options",children:"options"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions",children:"ProjenrcOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--10",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.Projenrc.Initializer.parameter.project"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"pomrequired--3",children:[(0,s.jsx)(n.code,{children:"pom"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"pom",id:"projen.java.Projenrc.Initializer.parameter.pom"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"optionsoptional--4",children:[(0,s.jsx)(n.code,{children:"options"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"options",id:"projen.java.Projenrc.Initializer.parameter.options"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions",children:"ProjenrcOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"methods--6",children:["Methods ",(0,s.jsx)(n.a,{name:"Methods",id:"Methods"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.toString",children:"toString"})})}),(0,s.jsx)(n.td,{children:"Returns a string representation of this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.with",children:"with"})})}),(0,s.jsx)(n.td,{children:"Applies one or more mixins to this construct."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.postProjectCreation",children:"postProjectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.postSynthesize",children:"postSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called after synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.preSynthesize",children:"preSynthesize"})})}),(0,s.jsx)(n.td,{children:"Called before synthesis."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.projectCreation",children:"projectCreation"})})}),(0,s.jsxs)(n.td,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.synthesize",children:"synthesize"})})}),(0,s.jsx)(n.td,{children:"Synthesizes files to the project output directory."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"tostring--6",children:[(0,s.jsx)(n.code,{children:"toString"})," ",(0,s.jsx)(n.a,{name:"toString",id:"projen.java.Projenrc.toString"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public toString(): string\n"})}),"\n",(0,s.jsx)(n.p,{children:"Returns a string representation of this construct."}),"\n",(0,s.jsxs)(n.h5,{id:"with--6",children:[(0,s.jsx)(n.code,{children:"with"})," ",(0,s.jsx)(n.a,{name:"with",id:"projen.java.Projenrc.with"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public with(mixins: ...IMixin[]): IConstruct\n"})}),"\n",(0,s.jsx)(n.p,{children:"Applies one or more mixins to this construct."}),"\n",(0,s.jsxs)(n.p,{children:["Mixins are applied in order. The list of constructs is captured at the\nstart of the call, so constructs added by a mixin will not be visited.\nUse multiple ",(0,s.jsx)(n.code,{children:"with()"})," calls if subsequent mixins should apply to added\nconstructs."]}),"\n",(0,s.jsxs)(n.h6,{id:"mixinsrequired--6",children:[(0,s.jsx)(n.code,{children:"mixins"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"mixins",id:"projen.java.Projenrc.with.parameter.mixins"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ...constructs.IMixin[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The mixins to apply."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postprojectcreation--5",children:[(0,s.jsx)(n.code,{children:"postProjectCreation"})," ",(0,s.jsx)(n.a,{name:"postProjectCreation",id:"projen.java.Projenrc.postProjectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postProjectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"postSynthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nIt is also skipped when post-synthesis steps are disabled, e.g. ",(0,s.jsx)(n.code,{children:"--no-post"})," or ",(0,s.jsx)(n.code,{children:"PROJEN_DISABLE_POST"}),".\nUse it for one-off setup that can be turned off by the user, like running a task to give the user immediate\nfeedback on their new project. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--10",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.Projenrc.postProjectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Details about how the project was created, e.g. its type and the original CLI args."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"postsynthesize--6",children:[(0,s.jsx)(n.code,{children:"postSynthesize"})," ",(0,s.jsx)(n.a,{name:"postSynthesize",id:"projen.java.Projenrc.postSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public postSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called after synthesis."}),"\n",(0,s.jsxs)(n.p,{children:["Order is ",(0,s.jsx)(n.em,{children:"not"})," guaranteed."]}),"\n",(0,s.jsxs)(n.h5,{id:"presynthesize--6",children:[(0,s.jsx)(n.code,{children:"preSynthesize"})," ",(0,s.jsx)(n.a,{name:"preSynthesize",id:"projen.java.Projenrc.preSynthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public preSynthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Called before synthesis."}),"\n",(0,s.jsxs)(n.h5,{id:"projectcreation--5",children:[(0,s.jsx)(n.code,{children:"projectCreation"})," ",(0,s.jsx)(n.a,{name:"projectCreation",id:"projen.java.Projenrc.projectCreation"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public projectCreation(initProject: InitProject): void\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Called once, right after ",(0,s.jsx)(n.code,{children:"synthesize()"}),", only when the project is created for the first time."]}),"\n",(0,s.jsxs)(n.p,{children:["It does not run on later ",(0,s.jsx)(n.code,{children:"projen"})," invocations. It only fires for ",(0,s.jsx)(n.code,{children:"projen new"})," (or ",(0,s.jsx)(n.code,{children:"Projects.createProject"}),").\nUse it for deterministic, one-off file generation. Order across components is not guaranteed."]}),"\n",(0,s.jsxs)(n.h6,{id:"initprojectrequired--11",children:[(0,s.jsx)(n.code,{children:"initProject"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"initProject",id:"projen.java.Projenrc.projectCreation.parameter.initProject"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.InitProject"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"synthesize--5",children:[(0,s.jsx)(n.code,{children:"synthesize"})," ",(0,s.jsx)(n.a,{name:"synthesize",id:"projen.java.Projenrc.synthesize"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public synthesize(): void\n"})}),"\n",(0,s.jsx)(n.p,{children:"Synthesizes files to the project output directory."}),"\n",(0,s.jsxs)(n.h4,{id:"static-functions--6",children:["Static Functions ",(0,s.jsx)(n.a,{name:"Static Functions",id:"Static Functions"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.isConstruct",children:"isConstruct"})})}),(0,s.jsxs)(n.td,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.isComponent",children:"isComponent"})})}),(0,s.jsx)(n.td,{children:"Test whether the given construct is a component."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.of",children:"of"})})}),(0,s.jsxs)(n.td,{children:["Returns the ",(0,s.jsx)(n.code,{children:"Projenrc"})," instance associated with a project or ",(0,s.jsx)(n.code,{children:"undefined"})," if there is no Projenrc."]})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"isconstruct--6",children:[(0,s.jsx)(n.code,{children:"isConstruct"})," ",(0,s.jsx)(n.a,{name:"isConstruct",id:"projen.java.Projenrc.isConstruct"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.Projenrc.isConstruct(x: any)\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Checks if ",(0,s.jsx)(n.code,{children:"x"})," is a construct."]}),"\n",(0,s.jsxs)(n.p,{children:["Use this method instead of ",(0,s.jsx)(n.code,{children:"instanceof"})," to properly detect ",(0,s.jsx)(n.code,{children:"Construct"}),"\ninstances, even when the construct library is symlinked."]}),"\n",(0,s.jsxs)(n.p,{children:["Explanation: in JavaScript, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"})," library on\ndisk are seen as independent, completely different libraries. As a\nconsequence, the class ",(0,s.jsx)(n.code,{children:"Construct"})," in each copy of the ",(0,s.jsx)(n.code,{children:"constructs"})," library\nis seen as a different class, and an instance of one class will not test as\n",(0,s.jsx)(n.code,{children:"instanceof"})," the other class. ",(0,s.jsx)(n.code,{children:"npm install"})," will not create installations\nlike this, but users may manually symlink construct libraries together or\nuse a monorepo tool: in those cases, multiple copies of the ",(0,s.jsx)(n.code,{children:"constructs"}),"\nlibrary can be accidentally installed, and ",(0,s.jsx)(n.code,{children:"instanceof"})," will behave\nunpredictably. It is safest t
1o avoid using ",(0,s.jsx)(n.code,{children:"instanceof"}),", and using\nthis type-testing method instead."]}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--12",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.Projenrc.isConstruct.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Any object."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"iscomponent--5",children:[(0,s.jsx)(n.code,{children:"isComponent"})," ",(0,s.jsx)(n.a,{name:"isComponent",id:"projen.java.Projenrc.isComponent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.Projenrc.isComponent(x: any)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Test whether the given construct is a component."}),"\n",(0,s.jsxs)(n.h6,{id:"xrequired--13",children:[(0,s.jsx)(n.code,{children:"x"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"x",id:"projen.java.Projenrc.isComponent.parameter.x"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," any"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"of--1",children:[(0,s.jsx)(n.code,{children:"of"})," ",(0,s.jsx)(n.a,{name:"of",id:"projen.java.Projenrc.of"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.Projenrc.of(project: Project)\n"})}),"\n",(0,s.jsxs)(n.p,{children:["Returns the ",(0,s.jsx)(n.code,{children:"Projenrc"})," instance associated with a project or ",(0,s.jsx)(n.code,{children:"undefined"})," if there is no Projenrc."]}),"\n",(0,s.jsxs)(n.h6,{id:"projectrequired--11",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.Projenrc.of.parameter.project"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"properties--6",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.property.node",children:"node"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"constructs.Node"})}),(0,s.jsx)(n.td,{children:"The tree node."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.property.project",children:"project"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.property.filePath",children:"filePath"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The path of the projenrc file."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Projenrc.property.className",children:"className"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The name of the java class that includes the projen entrypoint."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"noderequired--6",children:[(0,s.jsx)(n.code,{children:"node"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"node",id:"projen.java.Projenrc.property.node"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly node: Node;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," constructs.Node"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The tree node."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projectrequired--12",children:[(0,s.jsx)(n.code,{children:"project"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"project",id:"projen.java.Projenrc.property.project"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly project: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"filepathrequired--3",children:[(0,s.jsx)(n.code,{children:"filePath"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"filePath",id:"projen.java.Projenrc.property.filePath"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly filePath: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The path of the projenrc file."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"classnamerequired-",children:[(0,s.jsx)(n.code,{children:"className"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"className",id:"projen.java.Projenrc.property.className"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly className: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The name of the java class that includes the projen entrypoint."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h2,{id:"structs-",children:["Structs ",(0,s.jsx)(n.a,{name:"Structs",id:"Structs"})]}),"\n",(0,s.jsxs)(n.h3,{id:"javaprojectcommonoptions-",children:["JavaProjectCommonOptions ",(0,s.jsx)(n.a,{name:"JavaProjectCommonOptions",id:"projen.java.JavaProjectCommonOptions"})]}),"\n",(0,s.jsxs)(n.p,{children:["Options for ",(0,s.jsx)(n.code,{children:"JavaProject"}),"."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer-",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.JavaProjectCommonOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst javaProjectCommonOptions: java.JavaProjectCommonOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--7",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.name",children:"name"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"This is the name of your project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.commitGenerated",children:"commitGenerated"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Whether to commit the managed files by default."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.gitIgnoreOptions",children:"gitIgnoreOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.IgnoreFileOptions"})}),(0,s.jsx)(n.td,{children:"Configuration options for .gitignore file."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.gitOptions",children:"gitOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.GitOptions"})}),(0,s.jsx)(n.td,{children:"Configuration options for git."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.logging",children:"logging"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.LoggerOptions"})}),(0,s.jsx)(n.td,{children:"Configure logging options such as verbosity."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.outdir",children:"outdir"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The root directory of the project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.parent",children:"parent"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:"The parent project, if this project is part of a bigger project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.projectTree",children:"projectTree"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsxs)(n.td,{children:["Generate a project tree file (",(0,s.jsx)(n.code,{children:".projen/tree.json"}),") that shows all components and their relationships. Useful for understanding your project structure and debugging."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.projenCommand",children:"projenCommand"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The shell command to use in order to run the projen CLI."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.projenrcJson",children:"projenrcJson"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsxs)(n.td,{children:["Generate (once) .projenrc.json (in JSON). Set to ",(0,s.jsx)(n.code,{children:"false"})," in order to disable .projenrc.json generation."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.projenrcJsonOptions",children:"projenrcJsonOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.ProjenrcJsonOptions"})}),(0,s.jsx)(n.td,{children:"Options for .projenrc.json."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.renovatebot",children:"renovatebot"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Use renovatebot to handle dependency upgrades."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.renovatebotOptions",children:"renovatebotOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.RenovatebotOptions"})}),(0,s.jsx)(n.td,{children:"Options for renovatebot."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.autoApproveOptions",children:"autoApproveOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.AutoApproveOptions"})}),(0,s.jsx)(n.td,{children:"Enable and configure the 'auto approve' workflow."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.autoMerge",children:"autoMerge"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Enable automatic merging on GitHub."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.autoMergeOptions",children:"autoMergeOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.AutoMergeOptions"})}),(0,s.jsx)(n.td,{children:"Configure options for automatic merging on GitHub."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.clobber",children:"clobber"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsxs)(n.td,{children:["Add a ",(0,s.jsx)(n.code,{children:"clobber"})," task which resets the repo to origin."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.devContainer",children:"devContainer"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Add a VSCode development environment (used for GitHub Codespaces)."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.github",children:"github"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Enable GitHub integration."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.githubOptions",children:"githubOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.GitHubOptions"})}),(0,s.jsx)(n.td,{children:"Options for GitHub integration."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.gitpod",children:"gitpod"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Add a Gitpod development environment."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.projenCredentials",children:"projenCredentials"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.GithubCredentials"})}),(0,s.jsx)(n.td,{children:"Choose a method of providing GitHub API access for projen workflows."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.readme",children:"readme"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.SampleReadmeProps"})}),(0,s.jsx)(n.td,{children:"The README setup."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.stale",children:"stale"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Auto-close of stale issues and pull request."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.staleOptions",children:"staleOptions"})})}),(0,s.jsx)(n.td,{childre
1n:(0,s.jsx)(n.code,{children:"projen.github.StaleOptions"})}),(0,s.jsx)(n.td,{children:"Auto-close stale issues and pull requests."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.vscode",children:"vscode"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Enable VSCode integration."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.artifactId",children:"artifactId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The artifactId is generally the name that the project is known by."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.groupId",children:"groupId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"This is generally unique amongst an organization or a project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.version",children:"version"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"This is the last piece of the naming puzzle."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.description",children:"description"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Description of a project is always good."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.packaging",children:"packaging"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project packaging format."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.parentPom",children:"parentPom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ParentPom",children:"ParentPom"})})}),(0,s.jsx)(n.td,{children:"A Parent Pom can be used to have a child project inherit properties/plugins/ect in order to reduce duplication and keep standards across a large amount of repos."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.url",children:"url"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The URL, like the name, is not required."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.compileOptions",children:"compileOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompileOptions",children:"MavenCompileOptions"})})}),(0,s.jsx)(n.td,{children:"Compile options."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.deps",children:"deps"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string[]"})}),(0,s.jsx)(n.td,{children:"List of runtime dependencies for this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.distdir",children:"distdir"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Final artifact output directory."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.junit",children:"junit"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Include junit tests."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.junitOptions",children:"junitOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions",children:"JunitOptions"})})}),(0,s.jsx)(n.td,{children:"junit options."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.packagingOptions",children:"packagingOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions",children:"MavenPackagingOptions"})})}),(0,s.jsx)(n.td,{children:"Packaging options."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.projenrcJava",children:"projenrcJava"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Use projenrc in java."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.projenrcJavaOptions",children:"projenrcJavaOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions",children:"ProjenrcOptions"})})}),(0,s.jsx)(n.td,{children:"Options related to projenrc in java."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectCommonOptions.property.testDeps",children:"testDeps"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string[]"})}),(0,s.jsx)(n.td,{children:"List of test dependencies for this project."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"namerequired--3",children:[(0,s.jsx)(n.code,{children:"name"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"name",id:"projen.java.JavaProjectCommonOptions.property.name"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly name: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," $BASEDIR"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"This is the name of your project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"commitgeneratedoptional-",children:[(0,s.jsx)(n.code,{children:"commitGenerated"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"commitGenerated",id:"projen.java.JavaProjectCommonOptions.property.commitGenerated"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly commitGenerated: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Whether to commit the managed files by default."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitignoreoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"gitIgnoreOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"gitIgnoreOptions",id:"projen.java.JavaProjectCommonOptions.property.gitIgnoreOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitIgnoreOptions: IgnoreFileOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.IgnoreFileOptions"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Configuration options for .gitignore file."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"gitOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"gitOptions",id:"projen.java.JavaProjectCommonOptions.property.gitOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitOptions: GitOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.GitOptions"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Configuration options for git."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"loggingoptional-",children:[(0,s.jsx)(n.code,{children:"logging"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"logging",id:"projen.java.JavaProjectCommonOptions.property.logging"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly logging: LoggerOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.LoggerOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," {}"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Configure logging options such as verbosity."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"outdiroptional-",children:[(0,s.jsx)(n.code,{children:"outdir"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"outdir",id:"projen.java.JavaProjectCommonOptions.property.outdir"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly outdir: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "."']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The root directory of the project."}),"\n",(0,s.jsx)(n.p,{children:"Relative to this directory, all files are synthesized."}),"\n",(0,s.jsx)(n.p,{children:"If this project has a parent, this directory is relative to the parent\ndirectory and it cannot be the same as the parent or any of it's other\nsubprojects."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"parentoptional--1",children:[(0,s.jsx)(n.code,{children:"parent"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"parent",id:"projen.java.JavaProjectCommonOptions.property.parent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly parent: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The parent project, if this project is part of a bigger project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projecttreeoptional-",children:[(0,s.jsx)(n.code,{children:"projectTree"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projectTree",id:"projen.java.JavaProjectCommonOptions.property.projectTree"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projectTree: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Generate a project tree file (",(0,s.jsx)(n.code,{children:".projen/tree.json"}),") that shows all components and their relationships. Useful for understanding your project structure and debugging."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projencommandoptional-",children:[(0,s.jsx)(n.code,{children:"projenCommand"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenCommand",id:"projen.java.JavaProjectCommonOptions.property.projenCommand"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenCommand: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "npx projen"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The shell command to use in order to run the projen CLI."}),"\n",(0,s.jsx)(n.p,{children:"Inserted verbatim into task steps, workflows and IDE configuration, and run\nby each of their shells - locally, in CI and in dev containers. Keep it a\nplain unquoted command, since shell syntax in it executes in all of them."}),"\n",(0,s.jsx)(n.p,{children:"Can be used to customize in special environments."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcjsonoptional-",children:[(0,s.jsx)(n.code,{children:"projenrcJson"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrcJson",id:"projen.java.JavaProjectCommonOptions.property.projenrcJson"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrcJson: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Generate (once) .projenrc.json (in JSON). Set to ",(0,s.jsx)(n.code,{children:"false"})," in order to disable .projenrc.json generation."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcjsonoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"projenrcJsonOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrcJsonOptions",id:"projen.java.JavaProjectCommonOptions.property.projenrcJsonOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrcJsonOptions: ProjenrcJsonOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.ProjenrcJsonOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," default options"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Options for .projenrc.json."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"renovatebotoptional-",children:[(0,s.jsx)(n.code,{children:"renovatebot"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"renovatebot",id:"projen.java.JavaProjectCommonOptions.property.renovatebot"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly renovatebot: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Use renovatebot to handle dependency upgrades."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"renovatebotoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"renovatebotOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"renovatebotOptions",id:"projen.java.JavaProjectCommonOptions.property.renovatebotOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly renovatebotOptions: RenovatebotOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.RenovatebotOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," default options"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Options for renovatebot."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"autoapproveoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"autoApproveOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"autoApproveOptions",id:"projen.java.JavaProjectCommonOptions.property.autoApproveOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly autoApproveOptions: AutoApproveOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.AutoApproveOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Defa
1ult:"})," auto approve is disabled"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Enable and configure the 'auto approve' workflow."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"automergeoptional-",children:[(0,s.jsx)(n.code,{children:"autoMerge"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"autoMerge",id:"projen.java.JavaProjectCommonOptions.property.autoMerge"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly autoMerge: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Enable automatic merging on GitHub."}),"\n",(0,s.jsxs)(n.p,{children:["Has no effect if ",(0,s.jsx)(n.code,{children:"github.mergify"}),"\nis set to false."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"automergeoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"autoMergeOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"autoMergeOptions",id:"projen.java.JavaProjectCommonOptions.property.autoMergeOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly autoMergeOptions: AutoMergeOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.AutoMergeOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," see defaults in ",(0,s.jsx)(n.code,{children:"AutoMergeOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Configure options for automatic merging on GitHub."}),"\n",(0,s.jsxs)(n.p,{children:["Has no effect if\n",(0,s.jsx)(n.code,{children:"github.mergify"})," or ",(0,s.jsx)(n.code,{children:"autoMerge"})," is set to false."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"clobberoptional-",children:[(0,s.jsx)(n.code,{children:"clobber"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"clobber",id:"projen.java.JavaProjectCommonOptions.property.clobber"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly clobber: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true, but false for subprojects"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Add a ",(0,s.jsx)(n.code,{children:"clobber"})," task which resets the repo to origin."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"devcontaineroptional--1",children:[(0,s.jsx)(n.code,{children:"devContainer"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"devContainer",id:"projen.java.JavaProjectCommonOptions.property.devContainer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly devContainer: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Add a VSCode development environment (used for GitHub Codespaces)."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"githuboptional--1",children:[(0,s.jsx)(n.code,{children:"github"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"github",id:"projen.java.JavaProjectCommonOptions.property.github"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly github: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Enable GitHub integration."}),"\n",(0,s.jsx)(n.p,{children:"Enabled by default for root projects. Disabled for non-root projects."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"githuboptionsoptional-",children:[(0,s.jsx)(n.code,{children:"githubOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"githubOptions",id:"projen.java.JavaProjectCommonOptions.property.githubOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly githubOptions: GitHubOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.GitHubOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," see GitHubOptions"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Options for GitHub integration."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitpodoptional--1",children:[(0,s.jsx)(n.code,{children:"gitpod"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"gitpod",id:"projen.java.JavaProjectCommonOptions.property.gitpod"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitpod: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Add a Gitpod development environment."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projencredentialsoptional-",children:[(0,s.jsx)(n.code,{children:"projenCredentials"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenCredentials",id:"projen.java.JavaProjectCommonOptions.property.projenCredentials"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenCredentials: GithubCredentials;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.GithubCredentials"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," use a personal access token named PROJEN_GITHUB_TOKEN"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Choose a method of providing GitHub API access for projen workflows."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"readmeoptional-",children:[(0,s.jsx)(n.code,{children:"readme"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"readme",id:"projen.java.JavaProjectCommonOptions.property.readme"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly readme: SampleReadmeProps;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.SampleReadmeProps"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," { filename: 'README.md', contents: '# replace this' }"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The README setup."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"\"{ filename: 'readme.md', contents: '# title' }\"\n"})}),"\n",(0,s.jsxs)(n.h5,{id:"staleoptional-",children:[(0,s.jsx)(n.code,{children:"stale"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"stale",id:"projen.java.JavaProjectCommonOptions.property.stale"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly stale: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Auto-close of stale issues and pull request."}),"\n",(0,s.jsxs)(n.p,{children:["See ",(0,s.jsx)(n.code,{children:"staleOptions"})," for options."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"staleoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"staleOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"staleOptions",id:"projen.java.JavaProjectCommonOptions.property.staleOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly staleOptions: StaleOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.StaleOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," see defaults in ",(0,s.jsx)(n.code,{children:"StaleOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Auto-close stale issues and pull requests."}),"\n",(0,s.jsxs)(n.p,{children:["To disable set ",(0,s.jsx)(n.code,{children:"stale"})," to ",(0,s.jsx)(n.code,{children:"false"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"vscodeoptional--1",children:[(0,s.jsx)(n.code,{children:"vscode"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"vscode",id:"projen.java.JavaProjectCommonOptions.property.vscode"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly vscode: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Enable VSCode integration."}),"\n",(0,s.jsx)(n.p,{children:"Enabled by default for root projects. Disabled for non-root projects."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"artifactidrequired--1",children:[(0,s.jsx)(n.code,{children:"artifactId"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"artifactId",id:"projen.java.JavaProjectCommonOptions.property.artifactId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly artifactId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "my-app"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The artifactId is generally the name that the project is known by."}),"\n",(0,s.jsx)(n.p,{children:"Although\nthe groupId is important, people within the group will rarely mention the\ngroupId in discussion (they are often all be the same ID, such as the\nMojoHaus project groupId: org.codehaus.mojo). It, along with the groupId,\ncreates a key that separates this project from every other project in the\nworld (at least, it should :) ). Along with the groupId, the artifactId\nfully defines the artifact's living quarters within the repository. In the\ncase of the above project, my-project lives in\n$M2_REPO/org/codehaus/mojo/my-project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"groupidrequired--1",children:[(0,s.jsx)(n.code,{children:"groupId"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"groupId",id:"projen.java.JavaProjectCommonOptions.property.groupId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly groupId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "org.acme"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"This is generally unique amongst an organization or a project."}),"\n",(0,s.jsx)(n.p,{children:"For example,\nall core Maven artifacts do (well, should) live under the groupId\norg.apache.maven. Group ID's do not necessarily use the dot notation, for\nexample, the junit project. Note that the dot-notated groupId does not have\nto correspond to the package structure that the project contains. It is,\nhowever, a good practice to follow. When stored within a repository, the\ngroup acts much like the Java packaging structure does in an operating\nsystem. The dots are replaced by OS specific directory separators (such as\n'/' in Unix) which becomes a relative directory structure from the base\nrepository. In the example given, the org.codehaus.mojo group lives within\nthe directory $M2_REPO/org/codehaus/mojo."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"versionrequired--1",children:[(0,s.jsx)(n.code,{children:"version"}),(0,s.jsx)(n.sup,{children:"Required"}
1)," ",(0,s.jsx)(n.a,{name:"version",id:"projen.java.JavaProjectCommonOptions.property.version"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly version: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "0.1.0"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"This is the last piece of the naming puzzle."}),"\n",(0,s.jsx)(n.p,{children:"groupId:artifactId denotes a\nsingle project but they cannot delineate which incarnation of that project\nwe are talking about. Do we want the junit:junit of 2018 (version 4.12), or\nof 2007 (version 3.8.2)? In short: code changes, those changes should be\nversioned, and this element keeps those versions in line. It is also used\nwithin an artifact's repository to separate versions from each other.\nmy-project version 1.0 files live in the directory structure\n$M2_REPO/org/codehaus/mojo/my-project/1.0."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"descriptionoptional--1",children:[(0,s.jsx)(n.code,{children:"description"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"description",id:"projen.java.JavaProjectCommonOptions.property.description"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly description: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Description of a project is always good."}),"\n",(0,s.jsx)(n.p,{children:"Although this should not replace\nformal documentation, a quick comment to any readers of the POM is always\nhelpful."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagingoptional-",children:[(0,s.jsx)(n.code,{children:"packaging"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"packaging",id:"projen.java.JavaProjectCommonOptions.property.packaging"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly packaging: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "jar"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project packaging format."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"parentpomoptional-",children:[(0,s.jsx)(n.code,{children:"parentPom"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"parentPom",id:"projen.java.JavaProjectCommonOptions.property.parentPom"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly parentPom: ParentPom;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.ParentPom",children:"ParentPom"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"A Parent Pom can be used to have a child project inherit properties/plugins/ect in order to reduce duplication and keep standards across a large amount of repos."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"urloptional--1",children:[(0,s.jsx)(n.code,{children:"url"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"url",id:"projen.java.JavaProjectCommonOptions.property.url"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly url: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The URL, like the name, is not required."}),"\n",(0,s.jsx)(n.p,{children:"This is a nice gesture for\nprojects users, however, so that they know where the project lives."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"compileoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"compileOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"compileOptions",id:"projen.java.JavaProjectCommonOptions.property.compileOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly compileOptions: MavenCompileOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenCompileOptions",children:"MavenCompileOptions"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," defaults"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Compile options."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"depsoptional-",children:[(0,s.jsx)(n.code,{children:"deps"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"deps",id:"projen.java.JavaProjectCommonOptions.property.deps"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly deps: string[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string[]"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," []"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"List of runtime dependencies for this project."}),"\n",(0,s.jsxs)(n.p,{children:["Dependencies use the format: ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"})]}),"\n",(0,s.jsxs)(n.p,{children:["Additional dependencies can be added via ",(0,s.jsx)(n.code,{children:"project.addDependency()"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"distdiroptional-",children:[(0,s.jsx)(n.code,{children:"distdir"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"distdir",id:"projen.java.JavaProjectCommonOptions.property.distdir"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly distdir: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "dist/java"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Final artifact output directory."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"junitoptional--1",children:[(0,s.jsx)(n.code,{children:"junit"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"junit",id:"projen.java.JavaProjectCommonOptions.property.junit"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly junit: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Include junit tests."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"junitoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"junitOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"junitOptions",id:"projen.java.JavaProjectCommonOptions.property.junitOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly junitOptions: JunitOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions",children:"JunitOptions"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," defaults"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"junit options."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagingoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"packagingOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"packagingOptions",id:"projen.java.JavaProjectCommonOptions.property.packagingOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly packagingOptions: MavenPackagingOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions",children:"MavenPackagingOptions"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," defaults"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Packaging options."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcjavaoptional-",children:[(0,s.jsx)(n.code,{children:"projenrcJava"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrcJava",id:"projen.java.JavaProjectCommonOptions.property.projenrcJava"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrcJava: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Use projenrc in java."}),"\n",(0,s.jsxs)(n.p,{children:["This will install ",(0,s.jsx)(n.code,{children:"projen"})," as a java dependency and will add a ",(0,s.jsx)(n.code,{children:"synth"})," task which\nwill compile & execute ",(0,s.jsx)(n.code,{children:"main()"})," from ",(0,s.jsx)(n.code,{children:"src/main/java/projenrc.java"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcjavaoptionsoptional-",children:[(0,s.jsx)(n.code,{children:"projenrcJavaOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrcJavaOptions",id:"projen.java.JavaProjectCommonOptions.property.projenrcJavaOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrcJavaOptions: ProjenrcOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions",children:"ProjenrcOptions"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," default options"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Options related to projenrc in java."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"testdepsoptional-",children:[(0,s.jsx)(n.code,{children:"testDeps"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"testDeps",id:"projen.java.JavaProjectCommonOptions.property.testDeps"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly testDeps: string[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string[]"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," []"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"List of test dependencies for this project."}),"\n",(0,s.jsxs)(n.p,{children:["Dependencies use the format: ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"})]}),"\n",(0,s.jsxs)(n.p,{children:["Additional dependencies can be added via ",(0,s.jsx)(n.code,{children:"project.addTestDependency()"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"javaprojectoptions-",children:["JavaProjectOptions ",(0,s.jsx)(n.a,{name:"JavaProjectOptions",id:"projen.java.JavaProjectOptions"})]}),"\n",(0,s.jsxs)(n.p,{children:["Options for ",(0,s.jsx)(n.code,{children:"JavaProject"}),"."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--1",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.JavaProjectOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst javaProjectOptions: java.JavaProjectOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--8",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.name",children:"name"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"This is the name of your project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.commitGenerated",children:"commitGenerated"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Whether to commit the managed files by default."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.gitIgnoreOptions",children:"gitIgnoreOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.IgnoreFileOptions"})}),(0,s.jsx)(n.td,{children:"Configuration options for .gitignore file."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.gitOptions",children:"gitOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.GitOptions"})}),(0,s.jsx)(n.td,{children:"Configuration options for git."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.logging",children:"logging"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.LoggerOptions"})}),(0,s.jsx)(n.td,{children:"Configure logging options such as verbosity."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.outdir",children:"outdir"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The root directory of the project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.parent",children:"parent"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.Project"})}),(0,s.jsx)(n.td,{children:"The parent project, if this project is part of a bigger project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.projectTree",children:"projectTree"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsxs)(n.td,{children:["Generate a project tree file (",(0,s.jsx)(n.code,{children:".projen/tree.json"}),") that shows all components and their relationships. Useful for understanding your project structure and debugging."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.projenCommand",children:"projenCommand"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The shell command to use in order to run the projen CLI."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.projenrcJson",children:"projenrcJson"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsxs)(n.td,{children:["Generate (once) .projenrc.json (in
1 JSON). Set to ",(0,s.jsx)(n.code,{children:"false"})," in order to disable .projenrc.json generation."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.projenrcJsonOptions",children:"projenrcJsonOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.ProjenrcJsonOptions"})}),(0,s.jsx)(n.td,{children:"Options for .projenrc.json."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.renovatebot",children:"renovatebot"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Use renovatebot to handle dependency upgrades."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.renovatebotOptions",children:"renovatebotOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.RenovatebotOptions"})}),(0,s.jsx)(n.td,{children:"Options for renovatebot."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.autoApproveOptions",children:"autoApproveOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.AutoApproveOptions"})}),(0,s.jsx)(n.td,{children:"Enable and configure the 'auto approve' workflow."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.autoMerge",children:"autoMerge"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Enable automatic merging on GitHub."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.autoMergeOptions",children:"autoMergeOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.AutoMergeOptions"})}),(0,s.jsx)(n.td,{children:"Configure options for automatic merging on GitHub."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.clobber",children:"clobber"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsxs)(n.td,{children:["Add a ",(0,s.jsx)(n.code,{children:"clobber"})," task which resets the repo to origin."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.devContainer",children:"devContainer"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Add a VSCode development environment (used for GitHub Codespaces)."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.github",children:"github"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Enable GitHub integration."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.githubOptions",children:"githubOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.GitHubOptions"})}),(0,s.jsx)(n.td,{children:"Options for GitHub integration."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.gitpod",children:"gitpod"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Add a Gitpod development environment."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.projenCredentials",children:"projenCredentials"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.GithubCredentials"})}),(0,s.jsx)(n.td,{children:"Choose a method of providing GitHub API access for projen workflows."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.readme",children:"readme"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.SampleReadmeProps"})}),(0,s.jsx)(n.td,{children:"The README setup."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.stale",children:"stale"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Auto-close of stale issues and pull request."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.staleOptions",children:"staleOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"projen.github.StaleOptions"})}),(0,s.jsx)(n.td,{children:"Auto-close stale issues and pull requests."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.vscode",children:"vscode"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Enable VSCode integration."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.artifactId",children:"artifactId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The artifactId is generally the name that the project is known by."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.groupId",children:"groupId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"This is generally unique amongst an organization or a project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.version",children:"version"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"This is the last piece of the naming puzzle."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.description",children:"description"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Description of a project is always good."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.packaging",children:"packaging"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project packaging format."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.parentPom",children:"parentPom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ParentPom",children:"ParentPom"})})}),(0,s.jsx)(n.td,{children:"A Parent Pom can be used to have a child project inherit properties/plugins/ect in order to reduce duplication and keep standards across a large amount of repos."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.url",children:"url"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The URL, like the name, is not required."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.compileOptions",children:"compileOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompileOptions",children:"MavenCompileOptions"})})}),(0,s.jsx)(n.td,{children:"Compile options."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.deps",children:"deps"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string[]"})}),(0,s.jsx)(n.td,{children:"List of runtime dependencies for this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.distdir",children:"distdir"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Final artifact output directory."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.junit",children:"junit"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Include junit tests."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.junitOptions",children:"junitOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions",children:"JunitOptions"})})}),(0,s.jsx)(n.td,{children:"junit options."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.packagingOptions",children:"packagingOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions",children:"MavenPackagingOptions"})})}),(0,s.jsx)(n.td,{children:"Packaging options."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.projenrcJava",children:"projenrcJava"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Use projenrc in java."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.projenrcJavaOptions",children:"projenrcJavaOptions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions",children:"ProjenrcOptions"})})}),(0,s.jsx)(n.td,{children:"Options related to projenrc in java."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.testDeps",children:"testDeps"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string[]"})}),(0,s.jsx)(n.td,{children:"List of test dependencies for this project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.sample",children:"sample"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Include sample code and test if the relevant directories don't exist."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JavaProjectOptions.property.sampleJavaPackage",children:"sampleJavaPackage"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The java package to use for the code sample."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"namerequired--4",children:[(0,s.jsx)(n.code,{children:"name"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"name",id:"projen.java.JavaProjectOptions.property.name"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly name: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," $BASEDIR"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"This is the name of your project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"commitgeneratedoptional--1",children:[(0,s.jsx)(n.code,{children:"commitGenerated"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"commitGenerated",id:"projen.java.JavaProjectOptions.property.commitGenerated"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly commitGenerated: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Whether to commit the managed files by default."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitignoreoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"gitIgnoreOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"gitIgnoreOptions",id:"projen.java.JavaProjectOptions.property.gitIgnoreOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitIgnoreOptions: IgnoreFileOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.IgnoreFileOptions"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Configuration options for .gitignore file."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"gitOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"gitOptions",id:"projen.java.JavaProjectOptions.property.gitOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitOptions: GitOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.GitOptions"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Configuration options for git."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"loggingoptional--1",children:[(0,s.jsx)(n.code,{children:"logging"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"logging",id:"projen.java.JavaProjectOptions.property.logging"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly logging: LoggerOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.LoggerOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," {}"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Configure logging options such as verbosity."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"outdiroptional--1",children:[(0,s.jsx)(n.code,{children:"outdir"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"outdir",id:"projen.java.JavaProjectOptions.property.outdir"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly outdir: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "."']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The root directory of the project."}),"\n",(0,s.jsx)(n.p,{children:"Relative to this directory, all files are synthesized."}),"\n",(0,s.jsx)(n.p,{children:"If this project has a parent, this directory is relative to the parent\ndirectory and it cannot be the same as the parent or any of it's other\nsubprojects."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"parentoptional--2",children:[(0,s.jsx)(n.code,{children:"parent"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"parent",id:"projen.java.JavaProjectOptions.property.parent"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly parent: Project;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.Project"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The 
1parent project, if this project is part of a bigger project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projecttreeoptional--1",children:[(0,s.jsx)(n.code,{children:"projectTree"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projectTree",id:"projen.java.JavaProjectOptions.property.projectTree"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projectTree: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Generate a project tree file (",(0,s.jsx)(n.code,{children:".projen/tree.json"}),") that shows all components and their relationships. Useful for understanding your project structure and debugging."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projencommandoptional--1",children:[(0,s.jsx)(n.code,{children:"projenCommand"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenCommand",id:"projen.java.JavaProjectOptions.property.projenCommand"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenCommand: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "npx projen"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The shell command to use in order to run the projen CLI."}),"\n",(0,s.jsx)(n.p,{children:"Inserted verbatim into task steps, workflows and IDE configuration, and run\nby each of their shells - locally, in CI and in dev containers. Keep it a\nplain unquoted command, since shell syntax in it executes in all of them."}),"\n",(0,s.jsx)(n.p,{children:"Can be used to customize in special environments."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcjsonoptional--1",children:[(0,s.jsx)(n.code,{children:"projenrcJson"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrcJson",id:"projen.java.JavaProjectOptions.property.projenrcJson"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrcJson: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Generate (once) .projenrc.json (in JSON). Set to ",(0,s.jsx)(n.code,{children:"false"})," in order to disable .projenrc.json generation."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcjsonoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"projenrcJsonOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrcJsonOptions",id:"projen.java.JavaProjectOptions.property.projenrcJsonOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrcJsonOptions: ProjenrcJsonOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.ProjenrcJsonOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," default options"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Options for .projenrc.json."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"renovatebotoptional--1",children:[(0,s.jsx)(n.code,{children:"renovatebot"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"renovatebot",id:"projen.java.JavaProjectOptions.property.renovatebot"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly renovatebot: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Use renovatebot to handle dependency upgrades."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"renovatebotoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"renovatebotOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"renovatebotOptions",id:"projen.java.JavaProjectOptions.property.renovatebotOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly renovatebotOptions: RenovatebotOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.RenovatebotOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," default options"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Options for renovatebot."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"autoapproveoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"autoApproveOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"autoApproveOptions",id:"projen.java.JavaProjectOptions.property.autoApproveOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly autoApproveOptions: AutoApproveOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.AutoApproveOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," auto approve is disabled"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Enable and configure the 'auto approve' workflow."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"automergeoptional--1",children:[(0,s.jsx)(n.code,{children:"autoMerge"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"autoMerge",id:"projen.java.JavaProjectOptions.property.autoMerge"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly autoMerge: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Enable automatic merging on GitHub."}),"\n",(0,s.jsxs)(n.p,{children:["Has no effect if ",(0,s.jsx)(n.code,{children:"github.mergify"}),"\nis set to false."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"automergeoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"autoMergeOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"autoMergeOptions",id:"projen.java.JavaProjectOptions.property.autoMergeOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly autoMergeOptions: AutoMergeOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.AutoMergeOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," see defaults in ",(0,s.jsx)(n.code,{children:"AutoMergeOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Configure options for automatic merging on GitHub."}),"\n",(0,s.jsxs)(n.p,{children:["Has no effect if\n",(0,s.jsx)(n.code,{children:"github.mergify"})," or ",(0,s.jsx)(n.code,{children:"autoMerge"})," is set to false."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"clobberoptional--1",children:[(0,s.jsx)(n.code,{children:"clobber"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"clobber",id:"projen.java.JavaProjectOptions.property.clobber"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly clobber: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true, but false for subprojects"]}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["Add a ",(0,s.jsx)(n.code,{children:"clobber"})," task which resets the repo to origin."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"devcontaineroptional--2",children:[(0,s.jsx)(n.code,{children:"devContainer"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"devContainer",id:"projen.java.JavaProjectOptions.property.devContainer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly devContainer: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Add a VSCode development environment (used for GitHub Codespaces)."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"githuboptional--2",children:[(0,s.jsx)(n.code,{children:"github"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"github",id:"projen.java.JavaProjectOptions.property.github"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly github: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Enable GitHub integration."}),"\n",(0,s.jsx)(n.p,{children:"Enabled by default for root projects. Disabled for non-root projects."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"githuboptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"githubOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"githubOptions",id:"projen.java.JavaProjectOptions.property.githubOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly githubOptions: GitHubOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.GitHubOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," see GitHubOptions"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Options for GitHub integration."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"gitpodoptional--2",children:[(0,s.jsx)(n.code,{children:"gitpod"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"gitpod",id:"projen.java.JavaProjectOptions.property.gitpod"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly gitpod: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Add a Gitpod development environment."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projencredentialsoptional--1",children:[(0,s.jsx)(n.code,{children:"projenCredentials"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenCredentials",id:"projen.java.JavaProjectOptions.property.projenCredentials"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenCredentials: GithubCredentials;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.GithubCredentials"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," use a personal access token named PROJEN_GITHUB_TOKEN"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Choose a method of providing GitHub API access for projen workflows."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"readmeoptional--1",children:[(0,s.jsx)(n.code,{children:"readme"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"readme",id:"projen.java.JavaProjectOptions.property.readme"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly readme: SampleReadmeProps;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.SampleReadmeProps"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," { filename: 'README.md', contents: '# replace this' }"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The README setup."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.em,{children:"Example"})}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"\"{ filename: 'readme.md', contents: '# title' }\"\n"})}),"\n",(0,s.jsxs)(n.h5,{id:"staleoptional--1",children:[(0,s.jsx)(n.code,{children:"stale"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"stale",id:"projen.java.JavaProjectOptions.property.stale"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly stale: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," false"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Auto-close of stale issues and pull request."}),"\n",(0,s.jsxs)(n.p,{children:["See ",(0,s.jsx)(n.code,{children:"staleOptions"})," for options."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"staleoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"staleOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"staleOptions",id:"projen.java.JavaProjectOptions.property.staleOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly staleOptions: StaleOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," projen.github.StaleOptions"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," see defaults in ",(0,s.jsx)(n.code,{children:"StaleOptions"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Auto-close stale issues and pull requests."}),"\n",(0,s.jsxs)(n.p,{children:["To disable set ",(0,s.jsx)(n.code,{children:"stale"})," to ",(0,s.jsx)(n.code,{children:"false"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"vscodeoptional--2",children:[(0,s.jsx)(n.code,{children:"vscode"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"vscode",id:"projen.java.JavaProjectOptions.property.vscode"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly vscode: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Enable VSCode integration."}),"\n",(0,s.jsx)(n.p,{children:"Enabled by default for root projects. Disabled for non-root projects."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"artifactidrequired--2",children:[(0,s.jsx)(n.code,{children:"artifactId"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"artifactId",id:"projen.java.JavaProjectOptions.property.artifactId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly artifactId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "my-app"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The artifactId is generally the name that the project is known by."}),"\n",(0,s.jsx)(n.p,{children:"Although\nthe groupId is important, people within the group will rarely mention the\ngroupId in discussion (they are often all be the same ID, such as the\nMojoHaus project groupId: org.codehaus.mojo). It, along with the groupId,\ncreates a key that separates this project from every other project in the\nworld (at least, it should :) ). Along with the groupId, the artifactId\nfully defines the artifact's living quarters within the repository. In the\ncase of the above project, my-project lives in\n$M2_REPO/org
1/codehaus/mojo/my-project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"groupidrequired--2",children:[(0,s.jsx)(n.code,{children:"groupId"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"groupId",id:"projen.java.JavaProjectOptions.property.groupId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly groupId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "org.acme"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"This is generally unique amongst an organization or a project."}),"\n",(0,s.jsx)(n.p,{children:"For example,\nall core Maven artifacts do (well, should) live under the groupId\norg.apache.maven. Group ID's do not necessarily use the dot notation, for\nexample, the junit project. Note that the dot-notated groupId does not have\nto correspond to the package structure that the project contains. It is,\nhowever, a good practice to follow. When stored within a repository, the\ngroup acts much like the Java packaging structure does in an operating\nsystem. The dots are replaced by OS specific directory separators (such as\n'/' in Unix) which becomes a relative directory structure from the base\nrepository. In the example given, the org.codehaus.mojo group lives within\nthe directory $M2_REPO/org/codehaus/mojo."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"versionrequired--2",children:[(0,s.jsx)(n.code,{children:"version"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"version",id:"projen.java.JavaProjectOptions.property.version"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly version: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "0.1.0"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"This is the last piece of the naming puzzle."}),"\n",(0,s.jsx)(n.p,{children:"groupId:artifactId denotes a\nsingle project but they cannot delineate which incarnation of that project\nwe are talking about. Do we want the junit:junit of 2018 (version 4.12), or\nof 2007 (version 3.8.2)? In short: code changes, those changes should be\nversioned, and this element keeps those versions in line. It is also used\nwithin an artifact's repository to separate versions from each other.\nmy-project version 1.0 files live in the directory structure\n$M2_REPO/org/codehaus/mojo/my-project/1.0."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"descriptionoptional--2",children:[(0,s.jsx)(n.code,{children:"description"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"description",id:"projen.java.JavaProjectOptions.property.description"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly description: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Description of a project is always good."}),"\n",(0,s.jsx)(n.p,{children:"Although this should not replace\nformal documentation, a quick comment to any readers of the POM is always\nhelpful."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagingoptional--1",children:[(0,s.jsx)(n.code,{children:"packaging"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"packaging",id:"projen.java.JavaProjectOptions.property.packaging"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly packaging: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "jar"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project packaging format."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"parentpomoptional--1",children:[(0,s.jsx)(n.code,{children:"parentPom"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"parentPom",id:"projen.java.JavaProjectOptions.property.parentPom"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly parentPom: ParentPom;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.ParentPom",children:"ParentPom"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"A Parent Pom can be used to have a child project inherit properties/plugins/ect in order to reduce duplication and keep standards across a large amount of repos."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"urloptional--2",children:[(0,s.jsx)(n.code,{children:"url"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"url",id:"projen.java.JavaProjectOptions.property.url"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly url: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The URL, like the name, is not required."}),"\n",(0,s.jsx)(n.p,{children:"This is a nice gesture for\nprojects users, however, so that they know where the project lives."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"compileoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"compileOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"compileOptions",id:"projen.java.JavaProjectOptions.property.compileOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly compileOptions: MavenCompileOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenCompileOptions",children:"MavenCompileOptions"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," defaults"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Compile options."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"depsoptional--1",children:[(0,s.jsx)(n.code,{children:"deps"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"deps",id:"projen.java.JavaProjectOptions.property.deps"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly deps: string[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string[]"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," []"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"List of runtime dependencies for this project."}),"\n",(0,s.jsxs)(n.p,{children:["Dependencies use the format: ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"})]}),"\n",(0,s.jsxs)(n.p,{children:["Additional dependencies can be added via ",(0,s.jsx)(n.code,{children:"project.addDependency()"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"distdiroptional--1",children:[(0,s.jsx)(n.code,{children:"distdir"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"distdir",id:"projen.java.JavaProjectOptions.property.distdir"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly distdir: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "dist/java"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Final artifact output directory."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"junitoptional--2",children:[(0,s.jsx)(n.code,{children:"junit"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"junit",id:"projen.java.JavaProjectOptions.property.junit"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly junit: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Include junit tests."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"junitoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"junitOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"junitOptions",id:"projen.java.JavaProjectOptions.property.junitOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly junitOptions: JunitOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions",children:"JunitOptions"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," defaults"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"junit options."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagingoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"packagingOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"packagingOptions",id:"projen.java.JavaProjectOptions.property.packagingOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly packagingOptions: MavenPackagingOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions",children:"MavenPackagingOptions"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," defaults"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Packaging options."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcjavaoptional--1",children:[(0,s.jsx)(n.code,{children:"projenrcJava"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrcJava",id:"projen.java.JavaProjectOptions.property.projenrcJava"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrcJava: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Use projenrc in java."}),"\n",(0,s.jsxs)(n.p,{children:["This will install ",(0,s.jsx)(n.code,{children:"projen"})," as a java dependency and will add a ",(0,s.jsx)(n.code,{children:"synth"})," task which\nwill compile & execute ",(0,s.jsx)(n.code,{children:"main()"})," from ",(0,s.jsx)(n.code,{children:"src/main/java/projenrc.java"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenrcjavaoptionsoptional--1",children:[(0,s.jsx)(n.code,{children:"projenrcJavaOptions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"projenrcJavaOptions",id:"projen.java.JavaProjectOptions.property.projenrcJavaOptions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenrcJavaOptions: ProjenrcOptions;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions",children:"ProjenrcOptions"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," default options"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Options related to projenrc in java."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"testdepsoptional--1",children:[(0,s.jsx)(n.code,{children:"testDeps"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"testDeps",id:"projen.java.JavaProjectOptions.property.testDeps"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly testDeps: string[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string[]"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," []"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"List of test dependencies for this project."}),"\n",(0,s.jsxs)(n.p,{children:["Dependencies use the format: ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"})]}),"\n",(0,s.jsxs)(n.p,{children:["Additional dependencies can be added via ",(0,s.jsx)(n.code,{children:"project.addTestDependency()"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"sampleoptional-",children:[(0,s.jsx)(n.code,{children:"sample"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"sample",id:"projen.java.JavaProjectOptions.property.sample"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly sample: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Include sample code and test if the relevant directories don't exist."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"samplejavapackageoptional-",children:[(0,s.jsx)(n.code,{children:"sampleJavaPackage"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"sampleJavaPackage",id:"projen.java.JavaProjectOptions.property.sampleJavaPackage"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly sampleJavaPackage: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "org.acme"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The java package to use for the code sample."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"junitoptions-",children:["JunitOptions ",(0,s.jsx)(n.a,{name:"JunitOptions",id:"projen.java.JunitOptions"})]}),"\n",(0,s.jsxs)(n.p,{children:["Options for ",(0,s.jsx)(n.code,{children:"Junit"}),"."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--2",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.JunitOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst junitOptions: java.JunitOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--9",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions.property.pom",children:"pom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})})}),(0,s.jsx)(n.td,{children:"Java pom."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions.property.sampleJavaPackage",children:"sampleJavaPackage"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Java package for test sample."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.JunitOptions.property.version",children:"version"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Junit version."})]})]})]}),"\n",(0,s.
1jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"pomrequired--4",children:[(0,s.jsx)(n.code,{children:"pom"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"pom",id:"projen.java.JunitOptions.property.pom"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly pom: Pom;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.Pom",children:"Pom"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Java pom."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"samplejavapackageoptional--1",children:[(0,s.jsx)(n.code,{children:"sampleJavaPackage"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"sampleJavaPackage",id:"projen.java.JunitOptions.property.sampleJavaPackage"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly sampleJavaPackage: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "org.acme"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Java package for test sample."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"versionoptional-",children:[(0,s.jsx)(n.code,{children:"version"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"version",id:"projen.java.JunitOptions.property.version"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly version: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "5.7.0"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Junit version."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"mavencompileoptions-",children:["MavenCompileOptions ",(0,s.jsx)(n.a,{name:"MavenCompileOptions",id:"projen.java.MavenCompileOptions"})]}),"\n",(0,s.jsxs)(n.p,{children:["Options for ",(0,s.jsx)(n.code,{children:"MavenCompile"}),"."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--3",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.MavenCompileOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst mavenCompileOptions: java.MavenCompileOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--10",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompileOptions.property.source",children:"source"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Source language version."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenCompileOptions.property.target",children:"target"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Target JVM version."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"sourceoptional-",children:[(0,s.jsx)(n.code,{children:"source"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"source",id:"projen.java.MavenCompileOptions.property.source"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly source: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "1.8"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Source language version."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"targetoptional-",children:[(0,s.jsx)(n.code,{children:"target"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"target",id:"projen.java.MavenCompileOptions.property.target"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly target: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "1.8"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Target JVM version."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"mavenpackagingoptions-",children:["MavenPackagingOptions ",(0,s.jsx)(n.a,{name:"MavenPackagingOptions",id:"projen.java.MavenPackagingOptions"})]}),"\n",(0,s.jsxs)(n.p,{children:["Options for ",(0,s.jsx)(n.code,{children:"MavenPackage"}),"."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--4",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.MavenPackagingOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst mavenPackagingOptions: java.MavenPackagingOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--11",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions.property.distdir",children:"distdir"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Where to place the package output?"})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions.property.javadocs",children:"javadocs"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Include javadocs jar in package."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions.property.javadocsExclude",children:"javadocsExclude"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string[]"})}),(0,s.jsx)(n.td,{children:"Exclude source files from docs."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenPackagingOptions.property.sources",children:"sources"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Include sources jar in package."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"distdiroptional--2",children:[(0,s.jsx)(n.code,{children:"distdir"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"distdir",id:"projen.java.MavenPackagingOptions.property.distdir"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly distdir: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "dist/java"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Where to place the package output?"}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"javadocsoptional-",children:[(0,s.jsx)(n.code,{children:"javadocs"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"javadocs",id:"projen.java.MavenPackagingOptions.property.javadocs"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly javadocs: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Include javadocs jar in package."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"javadocsexcludeoptional-",children:[(0,s.jsx)(n.code,{children:"javadocsExclude"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"javadocsExclude",id:"projen.java.MavenPackagingOptions.property.javadocsExclude"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly javadocsExclude: string[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string[]"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," []"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Exclude source files from docs."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"sourcesoptional-",children:[(0,s.jsx)(n.code,{children:"sources"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"sources",id:"projen.java.MavenPackagingOptions.property.sources"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly sources: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Include sources jar in package."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"mavenrepository-",children:["MavenRepository ",(0,s.jsx)(n.a,{name:"MavenRepository",id:"projen.java.MavenRepository"})]}),"\n",(0,s.jsx)(n.p,{children:"Represents a Maven repository."}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://maven.apache.org/guides/introduction/introduction-to-repositories.html",children:"https://maven.apache.org/guides/introduction/introduction-to-repositories.html"})}),"\n"]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--5",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.MavenRepository.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst mavenRepository: java.MavenRepository = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--12",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepository.property.id",children:"id"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The identifier for the repository."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepository.property.url",children:"url"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The url of the repository."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepository.property.layout",children:"layout"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The layout of the repository."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepository.property.name",children:"name"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The name of the repository."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepository.property.releases",children:"releases"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepositoryPolicy",children:"MavenRepositoryPolicy"})})}),(0,s.jsx)(n.td,{children:"Repository Policy for Releases."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepository.property.snapshots",children:"snapshots"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepositoryPolicy",children:"MavenRepositoryPolicy"})})}),(0,s.jsx)(n.td,{children:"Repository Policy for Snapshots."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"idrequired-",children:[(0,s.jsx)(n.code,{children:"id"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"id",id:"projen.java.MavenRepository.property.id"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly id: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The identifier for the repository."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"urlrequired-",children:[(0,s.jsx)(n.code,{children:"url"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"url",id:"projen.java.MavenRepository.property.url"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly url: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The url of the repository."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"layoutoptional-",children:[(0,s.jsx)(n.code,{children:"layout"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"layout",id:"projen.java.MavenRepository.property.layout"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly layout: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The layout of the repository."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"nameoptional--1",children:[(0,s.jsx)(n.code,{children:"name"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"name",id:"projen.java.MavenRepository.property.name"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly name: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The name of the repository."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"releasesoptional-",children:[(0,s.jsx)(n.code,{children:"releases"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"releases",id:"projen.java.MavenRepository.property.releases"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly releases: MavenRepositoryPolicy;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenRepositoryPolicy",children:"MavenRepositoryPolicy"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Repository Policy for Releases."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"snapshotsoptional-",children:[(0,s.jsx)(n.code,{children:"snapshots"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"snapshots",id:"projen.java.MavenRepository.property.snapshots"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.
1code,{className:"language-typescript",children:"public readonly snapshots: MavenRepositoryPolicy;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.MavenRepositoryPolicy",children:"MavenRepositoryPolicy"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Repository Policy for Snapshots."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"mavenrepositorypolicy-",children:["MavenRepositoryPolicy ",(0,s.jsx)(n.a,{name:"MavenRepositoryPolicy",id:"projen.java.MavenRepositoryPolicy"})]}),"\n",(0,s.jsx)(n.p,{children:"Represents a Maven Repository Policy."}),"\n",(0,s.jsxs)(n.blockquote,{children:["\n",(0,s.jsx)(n.p,{children:(0,s.jsx)(n.a,{href:"https://maven.apache.org/settings.html#repositories",children:"https://maven.apache.org/settings.html#repositories"})}),"\n"]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--6",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.MavenRepositoryPolicy.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst mavenRepositoryPolicy: java.MavenRepositoryPolicy = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--13",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepositoryPolicy.property.checksumPolicy",children:"checksumPolicy"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ChecksumPolicy",children:"ChecksumPolicy"})})}),(0,s.jsx)(n.td,{children:"Checksum Policy When Maven deploys files to the repository, it also deploys corresponding checksum files."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepositoryPolicy.property.enabled",children:"enabled"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenRepositoryPolicy.property.updatePolicy",children:"updatePolicy"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.UpdatePolicy",children:"UpdatePolicy"})})}),(0,s.jsx)(n.td,{children:"Update Policy This element specifies how often updates should attempt to occur."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"checksumpolicyoptional-",children:[(0,s.jsx)(n.code,{children:"checksumPolicy"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"checksumPolicy",id:"projen.java.MavenRepositoryPolicy.property.checksumPolicy"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly checksumPolicy: ChecksumPolicy;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.ChecksumPolicy",children:"ChecksumPolicy"})]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Checksum Policy When Maven deploys files to the repository, it also deploys corresponding checksum files."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"enabledoptional-",children:[(0,s.jsx)(n.code,{children:"enabled"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"enabled",id:"projen.java.MavenRepositoryPolicy.property.enabled"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly enabled: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"updatepolicyoptional-",children:[(0,s.jsx)(n.code,{children:"updatePolicy"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"updatePolicy",id:"projen.java.MavenRepositoryPolicy.property.updatePolicy"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly updatePolicy: UpdatePolicy;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.UpdatePolicy",children:"UpdatePolicy"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," UpdatePolicy.DAILY"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Update Policy This element specifies how often updates should attempt to occur."}),"\n",(0,s.jsx)(n.p,{children:"Maven will compare the local POM's timestamp (stored 
1in a repository's maven-metadata file) to the remote."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"mavensampleoptions-",children:["MavenSampleOptions ",(0,s.jsx)(n.a,{name:"MavenSampleOptions",id:"projen.java.MavenSampleOptions"})]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--7",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.MavenSampleOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst mavenSampleOptions: java.MavenSampleOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--14",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.MavenSampleOptions.property.package",children:"package"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project root java package."})]})})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagerequired-",children:[(0,s.jsx)(n.code,{children:"package"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"package",id:"projen.java.MavenSampleOptions.property.package"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly package: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project root java package."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"parentpom-",children:["ParentPom ",(0,s.jsx)(n.a,{name:"ParentPom",id:"projen.java.ParentPom"})]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--8",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.ParentPom.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst parentPom: java.ParentPom = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--15",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ParentPom.property.artifactId",children:"artifactId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Parent Pom Artifact ID."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ParentPom.property.groupId",children:"groupId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Parent Pom Group ID."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ParentPom.property.relativePath",children:"relativePath"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Parent Pom Relative path from the current pom."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ParentPom.property.version",children:"version"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Parent Pom Version."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"artifactidoptional-",children:[(0,s.jsx)(n.code,{children:"artifactId"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"artifactId",id:"projen.java.ParentPom.property.artifactId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly artifactId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Parent Pom Artifact ID."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"groupidoptional-",children:[(0,s.jsx)(n.code,{children:"groupId"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"groupId",id:"projen.java.ParentPom.property.groupId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly groupId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Parent Pom Group ID."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"relativepathoptional-",children:[(0,s.jsx)(n.code,{children:"relativePath"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"relativePath",id:"projen.java.ParentPom.property.relativePath"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly relativePath: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Parent Pom Relative path from the current pom."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"versionoptional--1",children:[(0,s.jsx)(n.code,{children:"version"}),(0,s.jsx)(n.sup,{children:"Optional"}
1)," ",(0,s.jsx)(n.a,{name:"version",id:"projen.java.ParentPom.property.version"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly version: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Parent Pom Version."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"pluginexecution-",children:["PluginExecution ",(0,s.jsx)(n.a,{name:"PluginExecution",id:"projen.java.PluginExecution"})]}),"\n",(0,s.jsx)(n.p,{children:"Plugin execution definition."}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--9",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.PluginExecution.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst pluginExecution: java.PluginExecution = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--16",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PluginExecution.property.goals",children:"goals"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string[]"})}),(0,s.jsx)(n.td,{children:"Which Maven goals this plugin should be associated with."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PluginExecution.property.id",children:"id"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The ID."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PluginExecution.property.configuration",children:"configuration"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"{[ key: string ]: any}"})}),(0,s.jsx)(n.td,{children:"Execution key/value configuration."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PluginExecution.property.phase",children:"phase"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The phase in which the plugin should execute."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"goalsrequired-",children:[(0,s.jsx)(n.code,{children:"goals"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"goals",id:"projen.java.PluginExecution.property.goals"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly goals: string[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string[]"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Which Maven goals this plugin should be associated with."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"idrequired--1",children:[(0,s.jsx)(n.code,{children:"id"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"id",id:"projen.java.PluginExecution.property.id"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly id: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The ID."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"configurationoptional-",children:[(0,s.jsx)(n.code,{children:"configuration"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"configuration",id:"projen.java.PluginExecution.property.configuration"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly configuration: {[ key: string ]: any};\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," {[ key: string ]: any}"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," {}"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Execution key/value configuration."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"phaseoptional-",children:[(0,s.jsx)(n.code,{children:"phase"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"phase",id:"projen.java.PluginExecution.property.p
1hase"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly phase: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The phase in which the plugin should execute."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"pluginoptions-",children:["PluginOptions ",(0,s.jsx)(n.a,{name:"PluginOptions",id:"projen.java.PluginOptions"})]}),"\n",(0,s.jsx)(n.p,{children:"Options for Maven plugins."}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--10",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.PluginOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst pluginOptions: java.PluginOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--17",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PluginOptions.property.configuration",children:"configuration"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"{[ key: string ]: any}"})}),(0,s.jsx)(n.td,{children:"Plugin key/value configuration."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PluginOptions.property.dependencies",children:"dependencies"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string[]"})}),(0,s.jsx)(n.td,{children:"You could configure the dependencies for the plugin."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PluginOptions.property.executions",children:"executions"})})}),(0,s.jsx)(n.td,{children:(0,s.jsxs)(n.code,{children:[(0,s.jsx)(n.a,{href:"#projen.java.PluginExecution",children:"PluginExecution"}),"[]"]})}),(0,s.jsx)(n.td,{children:"Plugin executions."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"configurationoptional--1",children:[(0,s.jsx)(n.code,{children:"configuration"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"configuration",id:"projen.java.PluginOptions.property.configuration"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly configuration: {[ key: string ]: any};\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," {[ key: string ]: any}"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," {}"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Plugin key/value configuration."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"dependenciesoptional-",children:[(0,s.jsx)(n.code,{children:"dependencies"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"dependencies",id:"projen.java.PluginOptions.property.dependencies"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly depen
1dencies: string[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string[]"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," []"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"You could configure the dependencies for the plugin."}),"\n",(0,s.jsxs)(n.p,{children:["Dependencies are in ",(0,s.jsx)(n.code,{children:"<groupId>/<artifactId>@<semver>"})," format."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"executionsoptional-",children:[(0,s.jsx)(n.code,{children:"executions"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"executions",id:"projen.java.PluginOptions.property.executions"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly executions: PluginExecution[];\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.PluginExecution",children:"PluginExecution"}),"[]"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," []"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Plugin executions."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"pomoptions-",children:["PomOptions ",(0,s.jsx)(n.a,{name:"PomOptions",id:"projen.java.PomOptions"})]}),"\n",(0,s.jsxs)(n.p,{children:["Options for ",(0,s.jsx)(n.code,{children:"Pom"}),"."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--11",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.PomOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst pomOptions: java.PomOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--18",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PomOptions.property.artifactId",children:"artifactId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The artifactId is generally the name that the project is known by."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PomOptions.property.groupId",children:"groupId"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"This is generally unique amongst an organization or a project."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PomOptions.property.version",children:"version"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"This is the last piece of the naming puzzle."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PomOptions.property.description",children:"description"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Description of a project is always good."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PomOptions.property.packaging",children:"packaging"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"Project packaging format."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PomOptions.property.parentPom",children:"parentPom"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ParentPom",children:"ParentPom"})})}),(0,s.jsx)(n.td,{children:"A Parent Pom can be used to have a child project inherit properties/plugins/ect in order to reduce duplication and keep standards across a large amount of repos."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.PomOptions.property.url",children:"url"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The URL, like the name, is not required."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"artifactidrequired--3",children:[(0,s.jsx)(n.code,{children:"artifactId"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"artifactId",id:"projen.java.PomOptions.property.artifactId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly artifactId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "my-app"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The artifactId is generally the name that the project is known by."}),"\n",(0,s.jsx)(n.p,{children:"Although\nthe groupId is important, people within the group will rarely mention the\ngroupId in discussion (they are often all be the same ID, such as the\nMojoHaus project groupId: org.codehaus.mojo). It, along with the groupId,\ncreates a key that separates this project from every other project in the\nworld (at least, it should :) ). Along with the groupId, the artifactId\nfully defines the artifact's living quarters within the repository. In the\ncase of the above project, my-project lives in\n$M2_REPO/org/codehaus/mojo/my-project."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"groupidrequired--3",children:[(0,s.jsx)(n.code,{children:"groupId"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"groupId",id:"projen.java.PomOptions.property.groupId"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly groupId: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "org.acme"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"This is generally unique amongst an organization or a project."}),"\n",(0,s.jsx)(n.p,{children:"For example,\nall core Maven artifacts do (well, should) live under the groupId\norg.apache.maven. Group ID's do not necessarily use the dot notation, for\nexample, the junit project. Note that the dot-notated groupId does not have\nto correspond to the package structure that the project contains. It is,\nhowever, a good practice to follow. When stored within a repository, the\ngroup acts much like the Java packaging structure does in an operating\nsystem. The dots are replaced by OS specific directory separators (such as\n'/' in Unix) which becomes a relative directory structure from the base\nrepository. In the example given, the org.codehaus.mojo group lives within\nthe directory $M2_REPO/org/codehaus/mojo."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"versionrequired--3",children:[(0,s.jsx)(n.code,{children:"version"}),(0,s.jsx)(n.sup,{children:"Required"}
1)," ",(0,s.jsx)(n.a,{name:"version",id:"projen.java.PomOptions.property.version"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly version: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "0.1.0"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"This is the last piece of the naming puzzle."}),"\n",(0,s.jsx)(n.p,{children:"groupId:artifactId denotes a\nsingle project but they cannot delineate which incarnation of that project\nwe are talking about. Do we want the junit:junit of 2018 (version 4.12), or\nof 2007 (version 3.8.2)? In short: code changes, those changes should be\nversioned, and this element keeps those versions in line. It is also used\nwithin an artifact's repository to separate versions from each other.\nmy-project version 1.0 files live in the directory structure\n$M2_REPO/org/codehaus/mojo/my-project/1.0."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"descriptionoptional--3",children:[(0,s.jsx)(n.code,{children:"description"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"description",id:"projen.java.PomOptions.property.description"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly description: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Description of a project is always good."}),"\n",(0,s.jsx)(n.p,{children:"Although this should not replace\nformal documentation, a quick comment to any readers of the POM is always\nhelpful."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"packagingoptional--2",children:[(0,s.jsx)(n.code,{children:"packaging"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"packaging",id:"projen.java.PomOptions.property.packaging"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly packaging: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "jar"']}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Project packaging format."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"parentpomoptional--2",children:[(0,s.jsx)(n.code,{children:"parentPom"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"parentPom",id:"projen.java.PomOptions.property.parentPom"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly parentPom: ParentPom;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," ",(0,s.jsx)(n.a,{href:"#projen.java.ParentPom",children:"ParentPom"})]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"A Parent Pom can be used to have a child project inherit properties/plugins/ect in order to reduce duplication and keep standards across a large amount of repos."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"urloptional--3",children:[(0,s.jsx)(n.code,{children:"url"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"url",id:"projen.java.PomOptions.property.url"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly url: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," undefined"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The URL, like the name, is not required."}),"\n",(0,s.jsx)(n.p,{children:"This is a nice gesture for\nprojects users, however, so that they know where the project lives."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h3,{id:"projenrcoptions-",children:["ProjenrcOptions ",(0,s.jsx)(n.a,{name:"ProjenrcOptions",id:"projen.java.ProjenrcOptions"})]}),"\n",(0,s.jsxs)(n.p,{children:["Options for ",(0,s.jsx)(n.code,{children:"Projenrc"}),"."]}),"\n",(0,s.jsxs)(n.h4,{id:"initializer--12",children:["Initializer ",(0,s.jsx)(n.a,{name:"Initializer",id:"projen.java.ProjenrcOptions.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nconst projenrcOptions: java.ProjenrcOptions = { ... }\n"})}),"\n",(0,s.jsxs)(n.h4,{id:"properties--19",children:["Properties ",(0,s.jsx)(n.a,{name:"Properties",id:"Properties"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions.property.className",children:"className"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsxs)(n.td,{children:["The name of the Java class which contains the ",(0,s.jsx)(n.code,{children:"main()"})," method for projen."]})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions.property.projenVersion",children:"projenVersion"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:"The projen version to use."})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ProjenrcOptions.property.testScope",children:"testScope"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"boolean"})}),(0,s.jsx)(n.td,{children:"Defines projenrc under the test scope instead of the main scope, which is reserved to the app."})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"classnameoptional-",children:[(0,s.jsx)(n.code,{children:"className"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"className",id:"projen.java.ProjenrcOptions.property.className"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly className: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"}),' "projenrc"']}),"\n"]}),"\n",(0,s.jsxs)(n.p,{children:["The name of the Java class which contains the ",(0,s.jsx)(n.code,{children:"main()"})," method for projen."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"projenversionoptional-",children:[(0,s.jsx)(n.code,{children:"projenVersion"}),(0,s.jsx)(n.sup,{children:"Optional"}
1)," ",(0,s.jsx)(n.a,{name:"projenVersion",id:"projen.java.ProjenrcOptions.property.projenVersion"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly projenVersion: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," current version"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"The projen version to use."}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"testscopeoptional-",children:[(0,s.jsx)(n.code,{children:"testScope"}),(0,s.jsx)(n.sup,{children:"Optional"})," ",(0,s.jsx)(n.a,{name:"testScope",id:"projen.java.ProjenrcOptions.property.testScope"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly testScope: boolean;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," boolean"]}),"\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Default:"})," true"]}),"\n"]}),"\n",(0,s.jsx)(n.p,{children:"Defines projenrc under the test scope instead of the main scope, which is reserved to the app."}),"\n",(0,s.jsxs)(n.p,{children:["This means that projenrc will be under\n",(0,s.jsx)(n.code,{children:"src/test/java/projenrc.java"})," and projen will be defined as a test\ndependency. This enforces that application code does not take a dependency\non projen code."]}),"\n",(0,s.jsxs)(n.p,{children:["If this is disabled, projenrc should be under\n",(0,s.jsx)(n.code,{children:"src/main/java/projenrc.java"}),"."]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h2,{id:"classes-",children:["Classes ",(0,s.jsx)(n.a,{name:"Classes",id:"Classes"})]}),"\n",(0,s.jsxs)(n.h3,{id:"updatepolicy-",children:["UpdatePolicy ",(0,s.jsx)(n.a,{name:"UpdatePolicy",id:"projen.java.UpdatePolicy"})]}),"\n",(0,s.jsxs)(n.h4,{id:"initializers--7",children:["Initializers ",(0,s.jsx)(n.a,{name:"Initializers",id:"projen.java.UpdatePolicy.Initializer"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\nnew java.UpdatePolicy()\n"})}),"\n\n\n\n\n\n\n\n\n",(0,s.jsx)(n.table,{children:(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})})}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"static-functions--7",children:["Static Functions ",(0,s.jsx)(n.a,{name:"Static Functions",id:"Static Functions"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsx)(n.tbody,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.UpdatePolicy.interval",children:"interval"})})}),(0,s.jsx)(n.td,{children:"Updates at an interval of X minutes."})]})})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"interval-",children:[(0,s.jsx)(n.code,{children:"interval"})," ",(0,s.jsx)(n.a,{name:"interval",id:"projen.java.UpdatePolicy.interval"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"import { java } from 'projen'\n\njava.UpdatePolicy.interval(minutes: number)\n"})}),"\n",(0,s.jsx)(n.p,{children:"Updates at an interval of X minutes."}),"\n",(0,s.jsxs)(n.h6,{id:"minutesrequired-",children:[(0,s.jsx)(n.code,{children:"minutes"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"minutes",id:"projen.java.UpdatePolicy.interval.parameter.minutes"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," number"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h4,{id:"constants--1",children:["Constants ",(0,s.jsx)(n.a,{name:"Constants",id:"Constants"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Type"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.UpdatePolicy.property.ALWAYS",children:"ALWAYS"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.UpdatePolicy.property.DAILY",children:"DAILY"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.UpdatePolicy.property.NEVER",children:"NEVER"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:"string"})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}
1),"\n",(0,s.jsxs)(n.h5,{id:"alwaysrequired-",children:[(0,s.jsx)(n.code,{children:"ALWAYS"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"ALWAYS",id:"projen.java.UpdatePolicy.property.ALWAYS"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly ALWAYS: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"dailyrequired-",children:[(0,s.jsx)(n.code,{children:"DAILY"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"DAILY",id:"projen.java.UpdatePolicy.property.DAILY"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly DAILY: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"neverrequired-",children:[(0,s.jsx)(n.code,{children:"NEVER"}),(0,s.jsx)(n.sup,{children:"Required"})," ",(0,s.jsx)(n.a,{name:"NEVER",id:"projen.java.UpdatePolicy.property.NEVER"})]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-typescript",children:"public readonly NEVER: string;\n"})}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:[(0,s.jsx)(n.em,{children:"Type:"})," string"]}),"\n"]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h2,{id:"enums-",children:["Enums ",(0,s.jsx)(n.a,{name:"Enums",id:"Enums"})]}),"\n",(0,s.jsxs)(n.h3,{id:"checksumpolicy-",children:["ChecksumPolicy ",(0,s.jsx)(n.a,{name:"ChecksumPolicy",id:"projen.java.ChecksumPolicy"})]}),"\n",(0,s.jsxs)(n.h4,{id:"members-",children:["Members ",(0,s.jsx)(n.a,{name:"Members",id:"Members"})]}),"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Name"})}),(0,s.jsx)(n.th,{children:(0,s.jsx)(n.strong,{children:"Description"})})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ChecksumPolicy.IGNORE",children:"IGNORE"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ChecksumPolicy.FAIL",children:"FAIL"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:(0,s.jsx)(n.code,{children:(0,s.jsx)(n.a,{href:"#projen.java.ChecksumPolicy.WARN",children:"WARN"})})}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.em,{children:"No description."})})]})]})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"ignore-",children:[(0,s.jsx)(n.code,{children:"IGNORE"})," ",(0,s.jsx)(n.a,{name:"IGNORE",id:"projen.java.ChecksumPolicy.IGNORE"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"fail-",children:[(0,s.jsx)(n.code,{children:"FAIL"})," ",(0,s.jsx)(n.a,{name:"FAIL",id:"projen.java.ChecksumPolicy.FAIL"})]}),"\n",(0,s.jsx)(n.hr,{}),"\n",(0,s.jsxs)(n.h5,{id:"warn-",children:[(0,s.jsx)(n.code,{children:"WARN"})," ",(0,s.jsx)(n.a,{name:"WARN",id:"projen.java.ChecksumPolicy.WARN"})]}),"\n",(0,s.jsx)(n.hr,{})]})}function j(e={}){let{wrapper:n}={...(0,o.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453(e,n,r){r.d(n,{R:()=>a,x:()=>d});var i=r(6540);let s={},o=i.createContext(s);function a(e){let n=i.useContext(o);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),i.createElement(o.Provider,{value:n},e.children)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.