Class JavaProjectOptions.Jsii$Proxy

    • Constructor Detail

      • Jsii$Proxy

        protected Jsii$Proxy​(software.amazon.jsii.JsiiObjectRef objRef)
        Constructor that initializes the object based on values retrieved from the JsiiObject.
        Parameters:
        objRef - Reference to the JSII managed object.
    • Method Detail

      • getDeps

        public final List<String> getDeps()
        Description copied from interface: JavaProjectCommonOptions
        (experimental) List of runtime dependencies for this project.

        Dependencies use the format: <groupId>/<artifactId>@<semver>

        Additional dependencies can be added via project.addDependency().

        Default: []

        Specified by:
        getDeps in interface JavaProjectCommonOptions
      • getProjenrcJava

        public final Boolean getProjenrcJava()
        Description copied from interface: JavaProjectCommonOptions
        (experimental) Use projenrc in java.

        This will install projen as a java dependency and will add a synth task which will compile & execute main() from src/main/java/projenrc.java.

        Default: true

        Specified by:
        getProjenrcJava in interface JavaProjectCommonOptions
      • getTestDeps

        public final List<String> getTestDeps()
        Description copied from interface: JavaProjectCommonOptions
        (experimental) List of test dependencies for this project.

        Dependencies use the format: <groupId>/<artifactId>@<semver>

        Additional dependencies can be added via project.addTestDependency().

        Default: []

        Specified by:
        getTestDeps in interface JavaProjectCommonOptions
      • getAutoMergeOptions

        public final AutoMergeOptions getAutoMergeOptions()
        Description copied from interface: GitHubProjectOptions
        (experimental) Configure options for automatic merging on GitHub.

        Has no effect if github.mergify or autoMerge is set to false.

        Default: - see defaults in `AutoMergeOptions`

        Specified by:
        getAutoMergeOptions in interface GitHubProjectOptions
      • getGithub

        public final Boolean getGithub()
        Description copied from interface: GitHubProjectOptions
        (experimental) Enable GitHub integration.

        Enabled by default for root projects. Disabled for non-root projects.

        Default: true

        Specified by:
        getGithub in interface GitHubProjectOptions
      • getProjenTokenSecret

        public final String getProjenTokenSecret()
        Description copied from interface: GitHubProjectOptions
        (deprecated) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.

        This token needs to have the repo, workflows and packages scope.

        Default: "PROJEN_GITHUB_TOKEN"

        Specified by:
        getProjenTokenSecret in interface GitHubProjectOptions
      • getVscode

        public final Boolean getVscode()
        Description copied from interface: GitHubProjectOptions
        (experimental) Enable VSCode integration.

        Enabled by default for root projects. Disabled for non-root projects.

        Default: true

        Specified by:
        getVscode in interface GitHubProjectOptions
      • getName

        public final String getName()
        Description copied from interface: ProjectOptions
        (experimental) This is the name of your project.

        Default: $BASEDIR

        Specified by:
        getName in interface ProjectOptions
      • getOutdir

        public final String getOutdir()
        Description copied from interface: ProjectOptions
        (experimental) The root directory of the project.

        Relative to this directory, all files are synthesized.

        If this project has a parent, this directory is relative to the parent directory and it cannot be the same as the parent or any of it's other subprojects.

        Default: "."

        Specified by:
        getOutdir in interface ProjectOptions
      • getParent

        public final Project getParent()
        Description copied from interface: ProjectOptions
        (experimental) The parent project, if this project is part of a bigger project.
        Specified by:
        getParent in interface ProjectOptions
      • getProjenCommand

        public final String getProjenCommand()
        Description copied from interface: ProjectOptions
        (experimental) The shell command to use in order to run the projen CLI.

        Can be used to customize in special environments.

        Default: "npx projen"

        Specified by:
        getProjenCommand in interface ProjectOptions
      • getProjenrcJson

        public final Boolean getProjenrcJson()
        Description copied from interface: ProjectOptions
        (experimental) Generate (once) .projenrc.json (in JSON). Set to false in order to disable .projenrc.json generation.

        Default: false

        Specified by:
        getProjenrcJson in interface ProjectOptions
      • getArtifactId

        public final String getArtifactId()
        Description copied from interface: PomOptions
        (experimental) The artifactId is generally the name that the project is known by.

        Although the groupId is important, people within the group will rarely mention the groupId in discussion (they are often all be the same ID, such as the MojoHaus project groupId: org.codehaus.mojo). It, along with the groupId, creates a key that separates this project from every other project in the world (at least, it should :) ). Along with the groupId, the artifactId fully defines the artifact's living quarters within the repository. In the case of the above project, my-project lives in $M2_REPO/org/codehaus/mojo/my-project.

        Default: "my-app"

        Specified by:
        getArtifactId in interface PomOptions
      • getGroupId

        public final String getGroupId()
        Description copied from interface: PomOptions
        (experimental) This is generally unique amongst an organization or a project.

        For example, all core Maven artifacts do (well, should) live under the groupId org.apache.maven. Group ID's do not necessarily use the dot notation, for example, the junit project. Note that the dot-notated groupId does not have to correspond to the package structure that the project contains. It is, however, a good practice to follow. When stored within a repository, the group acts much like the Java packaging structure does in an operating system. The dots are replaced by OS specific directory separators (such as '/' in Unix) which becomes a relative directory structure from the base repository. In the example given, the org.codehaus.mojo group lives within the directory $M2_REPO/org/codehaus/mojo.

        Default: "org.acme"

        Specified by:
        getGroupId in interface PomOptions
      • getVersion

        public final String getVersion()
        Description copied from interface: PomOptions
        (experimental) This is the last piece of the naming puzzle.

        groupId:artifactId denotes a single project but they cannot delineate which incarnation of that project we are talking about. Do we want the junit:junit of 2018 (version 4.12), or of 2007 (version 3.8.2)? In short: code changes, those changes should be versioned, and this element keeps those versions in line. It is also used within an artifact's repository to separate versions from each other. my-project version 1.0 files live in the directory structure $M2_REPO/org/codehaus/mojo/my-project/1.0.

        Default: "0.1.0"

        Specified by:
        getVersion in interface PomOptions
      • getDescription

        public final String getDescription()
        Description copied from interface: PomOptions
        (experimental) Description of a project is always good.

        Although this should not replace formal documentation, a quick comment to any readers of the POM is always helpful.

        Default: undefined

        Specified by:
        getDescription in interface PomOptions
      • getPackaging

        public final String getPackaging()
        Description copied from interface: PomOptions
        (experimental) Project packaging format.

        Default: "jar"

        Specified by:
        getPackaging in interface PomOptions
      • getParentPom

        public final ParentPom getParentPom()
        Description copied from interface: PomOptions
        (experimental) 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.

        Default: undefined

        Specified by:
        getParentPom in interface PomOptions
      • getUrl

        public final String getUrl()
        Description copied from interface: PomOptions
        (experimental) The URL, like the name, is not required.

        This is a nice gesture for projects users, however, so that they know where the project lives.

        Default: undefined

        Specified by:
        getUrl in interface PomOptions
      • $jsii$toJson

        @Internal
        public com.fasterxml.jackson.databind.JsonNode $jsii$toJson()
        Specified by:
        $jsii$toJson in interface software.amazon.jsii.JsiiSerializable
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object