@nxrocks/nx-spring-boot
Version:
Nx Plugin to generate, run, package, build (and more) Spring Boot projects inside your Nx workspace
254 lines (253 loc) • 7.37 kB
JSON
{
"$schema": "http://json-schema.org/schema",
"$id": "@nxrocks/nx-spring-boot:preset",
"title": "Creates Spring Boot project in a new workspace",
"description": "Initializes a workspace with an nx-spring-boot inside of it. Use as: `create-nx-spring-boot` or `create-nx-workspace --preset @nxrocks/nx-spring-boot`.",
"examples": [
{
"command": "npx create-nx-spring-boot",
"description": "Creates a new Nx workspace with built-in support for Spring boot."
},
{
"command": "npx create-nx-workspace --preset @nxrocks/nx-spring-boot",
"description": "Creates a new Nx workspace with built-in support for Spring boot."
}
],
"type": "object",
"properties": {
"prjName": {
"type": "string",
"description": "The location of the new project.",
"alias": "projectLocation"
},
"directory": {
"type": "string",
"description": "The directory of the new project.",
"alias": "dir",
"$default": {
"$source": "argv",
"index": 0
},
"x-prompt": "Which directory do you want to create the project in?"
},
"projectType": {
"description": "Type of project.",
"default": "application",
"type": "string",
"enum": ["application", "library"],
"x-prompt": {
"message": "What kind of project are you generating?",
"type": "list",
"items": [
{
"value": "application",
"label": "Application"
},
{
"value": "library",
"label": "Library"
}
]
},
"x-priority": "important"
},
"buildSystem": {
"description": "Build system to use.",
"alias": "type",
"default": "maven-project",
"type": "string",
"enum": ["maven-project", "gradle-project", "gradle-project-kotlin"],
"x-prompt": {
"message": "Which build system would you like to use?",
"type": "list",
"items": [
{
"value": "maven-project",
"label": "Maven"
},
{
"value": "gradle-project",
"label": "Gradle"
},
{
"value": "gradle-project-kotlin",
"label": "Gradle - Kotlin"
}
]
},
"x-priority": "important"
},
"packaging": {
"description": "Packaging of the project.",
"type": "string",
"default": "jar",
"enum": ["jar", "war"],
"x-prompt": {
"message": "Which packaging would you like to use?",
"type": "list",
"items": [
{
"value": "jar",
"label": "Jar"
},
{
"value": "war",
"label": "War"
}
]
},
"x-priority": "important"
},
"javaVersion": {
"description": "Java version.",
"oneOf": [
{
"type": "string"
},
{
"type": "number"
}
],
"default": "17",
"enum": ["1.8", "11", "17", "19", "21", "22"],
"x-prompt": {
"message": "Which version of Java would you like to use?",
"type": "list",
"items": [
{
"value": "22",
"label": "22"
},
{
"value": "21",
"label": "21"
},
{
"value": "17",
"label": "17"
}
]
},
"x-priority": "important"
},
"language": {
"description": "Language of the project.",
"type": "string",
"default": "java",
"enum": ["java", "kotlin", "groovy"],
"x-prompt": {
"message": "Which language would you like to use?",
"type": "list",
"items": [
{
"value": "java",
"label": "Java"
},
{
"value": "kotlin",
"label": "Kotlin"
},
{
"value": "groovy",
"label": "Groovy"
}
]
},
"x-priority": "important"
},
"groupId": {
"description": "Group Id of the project.",
"type": "string",
"default": "com.example",
"x-prompt": "What groupId would you like to use?",
"x-priority": "important"
},
"artifactId": {
"description": "Artifact Id of the project.",
"type": "string",
"default": "demo",
"x-prompt": "What artifactId would you like to use?",
"x-priority": "important"
},
"name": {
"description": "Name of the project.",
"type": "string",
"default": "demo",
"alias": "projectName",
"x-priority": "important"
},
"packageName": {
"description": "Name of the main package of the project.",
"type": "string",
"default": "com.example.demo",
"x-prompt": "What package name would you like to use?",
"x-priority": "important"
},
"description": {
"description": "Description of the project.",
"type": "string",
"default": "Demo project for Spring Boot",
"x-priority": "internal"
},
"skipFormat": {
"description": "Skip formatting files (using Spotless plugin).",
"type": "boolean",
"default": true,
"x-priority": "internal"
},
"dependencies": {
"description": "Dependencies to use in the project (comma-separated). Follow this guide https://t.ly/Xyao for more instructions on how to proceed.",
"type": "string",
"x-priority": "important"
},
"transformIntoMultiModule": {
"description": "Transform the project into a multi-module project. Follow this guide https://t.ly/yvsp1 for more information.",
"type": "boolean"
},
"addToExistingParentModule": {
"description": "Add the project into an existing parent module project. Follow this guide https://t.ly/yvsp1 for more information.",
"type": "boolean"
},
"parentModuleName": {
"description": "Name of the parent module to create or to add child project into.",
"type": "string"
},
"keepProjectLevelWrapper": {
"description": "Keep the `Maven` or `Gradle` wrapper files from child project (when generating a multi-module project). Follow this guide https://t.ly/yvsp1 for more information.",
"type": "boolean",
"default": true
},
"springInitializerUrl": {
"type": "string",
"default": "https://start.spring.io",
"description": "The URL to the Spring Initializer instance to use to generate the project.",
"x-priority": "internal"
},
"proxyUrl": {
"type": "string",
"description": "The URL of the (corporate) proxy server to use to access Spring Initializr.",
"x-priority": "internal"
},
"bootVersion": {
"type": "string",
"description": "Spring Boot version",
"x-priority": "internal",
"visible": false
},
"version": {
"type": "string",
"description": "Version of the project to generate.",
"alias": "v",
"x-priority": "internal",
"visible": false
},
"tags": {
"type": "string",
"description": "Add tags to the project (used for linting).",
"alias": "t",
"x-priority": "internal"
}
},
"additionalProperties": true,
"required": []
}