Giter VIP home page Giter VIP logo

initializr-plusplus's Introduction

Contributors Forks Stargazers Issues License

tagged-linux tagged-windows tagged-macos

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 jgitver-maven-plugin and os-maven-plugin as Maven Extensions
    • 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/initializr-plusplus/releases/download/v#.#.#/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 extensions
./initializr-plusplus extensions
# Interactive mode
./initializr-plusplus

Usage

AVAILABLE COMMANDS

Application Config Commands
       expose-mgmt: expose all management endpoints via web

Built-In Commands
       help: Display help about available commands
       history: Display or save the history of previously run commands
       version: Show version info
       script: Read and execute commands from a file.

Cloud Function Example
       hello-world-function-bean: Update DemoApplication with 'Hello World' @Bean Function

Maven Extension Commands
       extensions: add mvn extensions and config

Pom File Commands
       native-maven-plugin: Support for GraalVM native-image compiler.
       multi-arch-builder: Add multi-architecture builder support.
       project-name: Update the project name
       tiny-buildpack-profile: Create Native OCI Images with paketobuildpacks/builder:tiny
       project-version: Update the project version
       lambda-profile: Add AWS Lambda profile for Spring Cloud Functions
       webflux-profile: Add a 'webflux' profile for Spring Cloud Functions
       project-description: Update the project description

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

Roadmap

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

Notes

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.

initializr-plusplus's People

Contributors

dashaun avatar migagi avatar tedyoung avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.