Code Monkey home page Code Monkey logo

bonita-connector-archetype's Introduction

Actions Status GitHub release Maven Central License: GPL v2

Bonita Connector Archetype

This project contains a maven archetype, which allow to easily setup a Bonita connector project.
You can find the complete documentation of this archetype with a detailed example on our documentation website

Setup a connector project using the archetype

⚠️ Java 11 is required for Bonita 7.13+

You can setup a Bonita connector project using the following command, from a terminal:

Make sure that you do not launch the command from an existing maven project.

mvn archetype:generate -DarchetypeGroupId=org.bonitasoft.archetypes -DarchetypeArtifactId=bonita-connector-archetype
  • archetypeGroupId: the group id of the connector archetype.
  • archetypeArtifactId: the artifact id of the connector archetype.
  • archetypeVersion: the version of the connector archetype.

You'll then have to specify interactively the properties of your project:

  • groupId: the group id of your connector.
  • artifactId: the artifact id of your connector
    • Must match the following regex: ^[a-zA-Z0-9\-]+$
  • version: the version of your connector (default value: 1.0-SNAPSHOT)
  • package the package in which the connector source files will be created (default value: the group id of the connector)
  • bonitaVersion: the targeted Bonita version
  • className: the class name of your connector
    • Must match the following regex: ^[a-zA-Z_$][a-zA-Z\d_$]+$ (A Java classname valid identifier)
    • Example: MyConnector1
  • language: the language used in the connector project. Available values:
    • java
    • groovy
    • kotlin
  • wrapper (optional): install a maven wrapper. Available values:
    • true (default)
    • false

A folder named [your artifact id] is created, with your Bonita connector project, ready to use.

⚠️ You can avoid the interactive mode by specifying all properties of your project directly in the command line, but by doing that you'll bypass the validation performed on the properties content.

Building the archetype

The archetype can be installed in your local maven repository.

  1. Clone this project
  2. From a terminal, enter the following command at the root of the cloned project:
./mvnw clean install

The archetype is now installed on your local maven repository, and is ready to be used.

Contributing

Please sign the contributor license agreement and read our contribution guidelines before to open a pull request.

CLA assistant

Release this project

A github action is used to perform release :

Actions Status

  • 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-connector-archetype's People

Contributors

akantcheff avatar benjaminparisel avatar laurentleseigneur avatar rbioteau avatar uguy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bonita-connector-archetype's Issues

wrong generated pon plugin descriptor section

Describe the bug
generated pom.xmlcontains an error in assembly description

the configuration section is missing descriptors tag around the descriptor tag

      <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                               <descriptor>${basedir}/assembly.xml</descriptor>
                                <appendAssemblyId>false</appendAssemblyId>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

To Reproduce
Steps to reproduce the behavior:
generate a connector and look at the pom

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: macos
  • Version latest

Additional context
Add any other context about the problem here.

Generated definition and implementation resources files are unclear

Is your feature request related to a problem? Please describe.
when using this archetype, generated files don't follow same pattern as in studio

Describe the solution you'd like
since those two files are .xml files, i'd like to just have definition.xml and implementation.xmlresoursource file, so i can benefit from xml IDE completion feature based on provided XSD
then build step should apply replacements and rename as expected in studio aka <definitionId>-<definitionVersion>.def and <implementationId>-<implementationVersion>.impl. definition Id and implementation Id may be just the archetype id (in the maven way

Describe alternatives you've considered
i did a manual update of generated files in order to make the connector work as expected in the studio (7.10.1 EE version)

Additional context
seem BCD can't deploy and enable process as expected (in same version)

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.