Skip to content

Latest commit

 

History

History
45 lines (33 loc) · 2.31 KB

File metadata and controls

45 lines (33 loc) · 2.31 KB

Contributing

When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.

Please note we have a code of conduct, please follow it in all your interactions with the project.

Pull Request Process

  1. Ensure any installation or build dependencies are removed before the end of the layer when doing a build.
  2. Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
  3. Increase the version numbers in any example files and the README.md to the new version that this Pull Request would represent. The versioning scheme we use is SemVer.
  4. You may merge the Pull Request in once you have the sign-off of at least one other developer.

Reference Documentation

For further reference, please consider the following sections:

Extending the plugin by adding your database

  1. You will need to add a Testcontainers-based implementation of your database container:
    • Your class needs to be in io.github.suppierk.codegen.docker package.
    • Your class has to implement io.github.suppierk.codegen.docker.AbstractDatabaseContainer interface.
    • RECOMMENDED: take a look at io.github.suppierk.codegen.docker.PostgreSQL implementation.
  2. Wire the new driver inside io.github.suppierk.codegen.extensions.GeneratorExtension.DatabaseExtension:
    • Provide a sensible default Testcontainers image for the driver.
    • Extend createDatabaseContainer / supportsDriverClassName handling to return your container implementation.
  3. Update the artifact version ONLY in plugin/build.gradle.
  4. Update README.md configuration section to reference how to override the container image for your database.

Build tools

The command typically used to build the project is:

./gradlew clean :plugin:clean
./gradlew spotlessApply :plugin:build build