Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Gradle builds #25

Closed
gclaussn opened this issue Jul 29, 2021 · 5 comments · Fixed by #100
Closed

Support Gradle builds #25

gclaussn opened this issue Jul 29, 2021 · 5 comments · Fixed by #100
Labels
enhancement New feature or request

Comments

@gclaussn
Copy link
Collaborator

For projects that are built using Gradle, a plugin should be implemented.

The Gradle plugin must:

  • Provide the same configuration options as the Maven plugin does
  • Generate the same test code as the Maven plugin does
  • Be implemented in Java

Information:
https://www.baeldung.com/gradle-create-plugin

@tpeetz
Copy link

tpeetz commented Sep 15, 2022

I would like to help on implementing a Gradle plugin

@gclaussn
Copy link
Collaborator Author

gclaussn commented Sep 15, 2022

@tpeetz sounds good.

To implemented the Gradle plugin, the current maven-plugin project needs to be converted into a Maven multi module project:

  • bpmn-driven-testing-root: Root POM
  • bpmn-driven-testing-generator: Module with the generator code, so the it can be reused by both plugins
  • bpmn-driven-testing-maven-plugin: Maven plugin, using the generator module
  • bpmn-driven-testing-gradle-plugin: Gradle plugin, using the generator module; should be implemented as a standalone Gradle plugin (like described here: https://www.baeldung.com/gradle-create-plugin#standalone-plugin-project)

If you want I can prepare the Maven multi module project on a branch.

Or you just start the Gradle plugin implementation by adding the necessary dependencies to bpmn-driven-testing-maven-plugin, writing the plugin code and the related unit tests. Then I would integrate it later on.

@tpeetz
Copy link

tpeetz commented Sep 16, 2022

I would prefer a Gradle multi-module build and use a Gradle plugin to build the Maven plugin.

@gclaussn
Copy link
Collaborator Author

I'm not sure if we should or can do that, since the current release build is based on a parent POM provided by Camunda (community-hub-release-parent) and on a special Maven based Github action (see deploy.yml).

Since we just build a simple JAR, which uses gradle-core and gradle-tooling-api as dependencies, a Maven build should be fine. It would be the minimum possible change - without reworking the release build.

@gclaussn
Copy link
Collaborator Author

Gradle plugin has been released and published:
https://search.maven.org/artifact/org.camunda.community/bpmn-driven-testing-gradle-plugin

A usage description can be found here:
https://github.com/camunda-community-hub/bpmn-driven-testing/tree/master/gradle-plugin

I tested it successfully against the existing integration tests using a Gradle 7.5.1 installation. Moreover I tested it with an older version of Eclipse and the current Intellij IDEA community edition.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants