Skip to content

Gradle plugin for bootstrapping Spring Boot projects using Spring Initializr. Production-ready with functional tests, build cache support, and idiomatic Gradle patterns.

License

Notifications You must be signed in to change notification settings

paweloczadly/gradle-springinitializr-plugin

Repository files navigation

gradle-springinitializr-plugin

Gradle Plugin Portal Latest Release

A production-grade Gradle plugin for bootstrapping Spring Boot projects locally using the Spring Initializr API, supporting project metadata, build cache, and CI-friendly workflows.

🚀 Features

  • projectType, language, bootVersion, groupId, artifactId, projectName, projectDescription, packageName, javaVersion, packaging, dependencies with validation.

  • interactive mode is supported, but experimental at this moment.

📦 Installation

Note: Versioning is managed automatically via Git tags and semantic-release, with build.gradle containing a placeholder version.

Add to your build.gradle.kts (Kotlin DSL):

plugins {
    id("io.oczadly.springinitializr") version "1.0.0"
}

Or to your build.gradle (Groovy DSL):

plugins {
    id 'io.oczadly.springinitializr' version '1.0.0'
}

⚡ Usage

Inspired by the interactive UX of gradle init, this task walks you through Spring Initializr options — directly in your terminal.

Demo of gradle-springinitializr-plugin

See FAQ.md for more information.

⚙️ Advanced usage with project metadata

You can customize project metadata with the following parameters:

  • groupId
  • artifactId
  • projectName
  • projectDescription
  • packageName
  • packaging
  • javaVersion
  • dependencies

Example:

$ gradle initSpringBootProject \
  -PprojectType=gradle-project-kotlin \
  -Planguage=kotlin \
  -PbootVersion=4.0.0-SNAPSHOT \
  -PoutputDir=my-spring-app \
  -PgroupId=com.mycompany \
  -PartifactId=my-spring-app \
  -PprojectName="My Spring App" \
  -PprojectDescription="My Spring Boot application generated via gradle-springinitializr-plugin" \
  -PpackageName=com.mycompany.myspringapp \
  -Ppackaging="war" \
  -PjavaVersion="21"

📈 Build Scan

Run with:

$ gradle initSpringBootProject --scan

to get a detailed build scan of your environment.

🤝 Contributing

Contributions are welcome! See CONTRIBUTING.md for guidelines.

⚠️ Please note that this plugin is developed and maintained in focused time blocks to ensure quality. Contributions and issues will be addressed on a best-effort basis, depending on ongoing priorities.

📄 License

MIT License – see LICENSE for details.

🙋 FAQ

See FAQ.md for answers to common questions.

About

Gradle plugin for bootstrapping Spring Boot projects using Spring Initializr. Production-ready with functional tests, build cache support, and idiomatic Gradle patterns.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages