Git Product home page Git Product logo

gradle-initializr's Introduction

Gradle Initializer Build Status

Gradle Initializer provides a web-based service for generating quickstart Gradle projects. The application provides two different interfaces: a web-based UI and an endpoint for generating projects via curl. Under the covers, Gradle Initializer uses the Tooling API to invoke the functionality of the Build Init plugin. A quickstart project is bundled and downloaded as ZIP or TAR file.

Using the web UI

The web user interface is available by opening the URL https://gradle-initializr.cleverapps.io/ in the browser of your choice. Simply select the options for your target project and press the "Generate" button to download the archive containing the project files.

Using curl

Gradle Initializer can generate and download projects from the terminal with the help of the curl command. By default, the generated type is a plain Gradle project using the latest, packaged version of the Gradle Wrapper.

$ curl https://gradle-initializr.cleverapps.io/starter.zip -o starter.zip
$ curl https://gradle-initializr.cleverapps.io/starter.tgz -o starter.tar.gz

Additionally, the following parameters can be specified.

Parameter Description

type

The type of project to generate

projectName

The name of the project to generate

packageName

The package of the project to generate (only applies to JVM projects)

dsl

The DSL to use for the generate project

gradleVersion

The Gradle version used for the Wrapper

testFramework

The test framework used for some of the project types

Specifying the project type

To generate a specific project type add the type parameter to the command. The following example generates a Java library project with the test framework TestNG:

$ curl https://gradle-initializr.cleverapps.io/starter.zip -d type=java-library -d testFramework=testng -o starter.zip

The table below presents the available project types by providing the parameter type. The parameter is mandatory.

Value Description

basic

The most-basic Gradle project

cpp-application

A C++ application project

cpp-library

A C++ library project

java-application

A Java application project

java-library

A Java library project

java-gradle-plugin

A Gradle plugin project in Java

groovy-application

A Groovy application project

groovy-library

A Groovy library project

groovy-gradle-plugin

A Gradle plugin project in Groovy

kotlin-application

A Kotlin application project

kotlin-library

A Kotlin library project

kotlin-gradle-plugin

A Gradle plugin project in Kotlin

scala-library

A Scala library project

Specifying the project DSL

The generated project can used two different DSLs starting with Gradle version 4.5. Use the parameter dsl to set the DSL.

Value Description

groovy

The project is generated with the Groovy DSL

kotlin

The project is generated with the Kotlin DSL

Specifying the Wrapper version

The generated project provides a Gradle Wrapper with a specific version. The version can be provided with the parameter gradleVersion. The minimum supported version of the Gradle Wrapper is 4.4.

Specifying the test framework

The following test frameworks can be selected for the project types java-application and java-library by providing the parameter testFramework. The parameter is optional. The test framework JUnit 4 is used if the parameter isn’t provided.

Value Description

junit-jupiter

JUnit Jupiter

testng

TestNG

spock

Spock framework

gradle-initializr's People

Contributors

bmuschko avatar sum1991 avatar

Stargazers

Franciettao Ingeneer Devops  avatar  avatar Olalekan Omotayo avatar Thais Rocha avatar  avatar varsha avatar  avatar  avatar

Watchers

 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.