Skip to content

CLI used to consistently modify applications generated by Spring Initializr

License

Notifications You must be signed in to change notification settings

dashaun/initializr-plusplus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues License

mvn test

initializr-plusplus

CLI for making changes to Spring Initializr projects.

  • Use Spring Initializr it is awesome, I highly recommend it.
  • Then get your project to production.
  • This tool decreases the amount of time between T-Initialize and T-Production
    • This improves the Fifth Metric Mean Time To Dopamine (MTTD)
  • This tool provides commands via CLI and interactive shell
    • Add the jtigver Maven Extension
    • Update the project-description
    • Update the project-name
    • Update the project-version
    • Enable all actuator management endpoints
    • Update spring-cloud-function-context to a specific starter

Quick Start

Download the latest release and put it on your path.

# Download 
curl -L https://github.com/dashaun/spring-initializer-next-step/releases/download/v0.0.1/initializr-plusplus-linux-amd64 --output initializr-plusplus
# Download and extract an example project from start.sprint.io
curl https://start.spring.io/starter.tgz -d dependencies=web,data-jpa -d type=maven-project -d baseDir=./ | tar -xzvf -
# Use help command
./initializr-plusplus help
# Add jgitver extension
./initializr-plusplus jgitver
# Interactive mode
./initializr-plusplus

Usage

AVAILABLE COMMANDS

./.mvn/
        jgitver: add jgitver extension and config

./pom.xml
        project-description: Update the project description
        project-name: Update the project name
        project-version: Update the project version

Built-In Commands
        clear: Clear the shell screen.
        exit, quit: Exit the shell.
        help: Display help about available commands.
        history: Display or save the history of previously run commands
        script: Read and execute commands from a file.
        stacktrace: Display the full stacktrace of the last error.
        version: Show version info
        

Built with:

Develop

Normal build

  • ./mvnw clean package
  • java -jar target/plusplus-0.0.2.jar or
  • ./mvnw spring-boot:run

Native build

  • ./mvnw -Pnative clean native:compile -DskipTests

Release

  • git tag v#.#.#
  • git push origin v#.#.#

gh release upload v#.#.# target/initializr-plusplus-$OS-$ARCH

Maintaining up-to-date dependencies

Execute following command to find new dependencies

  • ./mvnw versions:display-dependency-updates

Roadmap

  • jgitver extension
  • jgitver config
  • update the artifact version in pom.xml
  • rename Application
  • Add github actions
  • add nativeMavenPlugin
  • Update project name
  • Update project description
  • Update the prompt
  • gitcommit id plugin
  • registry placeholders in

See the open issues for a list of proposed features (and known issues).

Notes

I want to connect different released packages back into the repository. Right now I am using the gh cli to do this manually. Issue #9 is to automate this process, for Windows, Linux+ARM64, Darwin+ARM64 and Darwin+AMD64.

Before running native:compile on Windows

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvars64.bat

Contributing

Pull-requests are welcomed!

License

Distributed under the Apache-2.0 License. See LICENSE for more information.