Giter Club home page Giter Club logo

bonita-rest-api-extension-archetype's Introduction

Actions Status GitHub release Maven Central License: GPL v2

bonita-rest-api-extension-archetype

Disclaimer

  • Use a JRE/JDK 1.8 or Java 11 for Bonita 7.13+, Java 17 for Bonita 10.0+
  • Compatible with Bonita 7.12+

How to build the archetype

git clone https://github.com/bonitasoft/bonita-rest-api-extension-archetype.git
cd bonita-rest-api-extension-archetype
./mvnw clean install

How to use the archetype

mvn archetype:generate \
    -DarchetypeGroupId=org.bonitasoft.archetypes \
    -DarchetypeArtifactId=bonita-rest-api-extension-archetype \
    -DgroupId=org.company.api \
    -DartifactId=my-rest-api \
    -Dversion=0.0.1-SNAPSHOT \
    -Dlanguage=java \
    -DbonitaVersion=7.12.1 \
    -DapiName=myRestApi \
    -DpathTemplate=my-rest-api \
    -DapiDisplayName="My REST API" \
    -DurlParameters=p,c \
    -DhttpVerb=GET

Optionnal archetype parameters

Parameter Required Default value Description
-DbonitaVersion true You can choose the version of the dependent bonita artifacts. Minimum version is 7.12.1.
-Dsp false false If set to true, project will use Bonita subscription dependencies. This implies you have made bonita subscription artifacts available for maven (in your local repository or enterprise repository)
-Dlanguage true You can choose between groovy, java or kotlin.
-Dwrapper false true If set to true, project will setup a maven wrapper
-DapiName true Set the name of your api extension. You must enter an url friendly name without blanks.
-DapiDisplayName true A display name for your api extension (displayed in the portal for the administrator)
-DapiDesc false My Rest API extension description A short description of the purpose of your api extension (displayed in the portal for the administrator)
-DhttpVerb true The http verb of your api extension
-DpathTemplate true URL path template. Resulting url: ../API/extension/myRestExtApi
-DpermissionNames false myRestAPIPermission Define permission list (comma separated value), specify permissions a user need to have in order access this REST API extension
-DurlParameters false ! Define a list (comma separated value) of url parameters.

Release this project

A github action is used to perform release :

release build

  • This action is triggered when a push is performed on a branch 'release-xxx'
  • It generates the changelog since the last release, creates the github tag and release with the changelog as description, and push the release on our nexus repository.

So, to release a new version of the project, you have to:

  • Create a branch release-[version] on your local git repository
  • Update the version in the pom.xml (remove the -SNAPSHOT)
  • Push the branch

โš ๏ธ Make sure that the release branch is final before to push it. If you have to update something on the release branch after the push, then you must first:

  • Delete the tag and the release on github
  • Remove the artifact from our nexus repository

bonita-rest-api-extension-archetype's People

Contributors

akantcheff avatar apupier avatar baptistemesta avatar bonita-ci avatar cmckinty avatar danila-m avatar educhastenier avatar julienmege avatar rbioteau avatar tbouffard avatar uguy avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.