If you are interested in contributing to the development of Drtti, you can should first make sure to set up the repository for building Drtti. To do this, create a local.properties file in the root directory of the repository. In it, add the following lines:
ghidra.install.dir=/path/to/ghidra
ghidra.config.dir=/path/to/ghidra_config
These values should point to the installation and config directories of the Ghidra tool. The first one is required to be able to build Drtti, the second one is optional but allows you to use gradle installExtension to install the plugin into the Ghidra installation.
To create a new Drtti release. Make sure you have committed your changes and then create a new tag, incrementing the version number according to semantic versioning (MAJOR.MINOR.PATCH). TLDR is to follow the principle:
- MAJOR version when you make incompatible API changes.
- MINOR version when you add functionality in a backward compatible manner.
- PATCH version when you make backward compatible bug fixes.
In this case, Drtti doesn't currently export a large surface area (API) so major versioning is not required.
Once you have created the tag, run the following command:
./gradlew createRelease
This will create a new release zip file under the dist/releases directory. If you are using gitlab, the easiest way to create a release and attach the file is to use the glab CLI tool.
glab release create 1.0.0
And then to upload the release zip file:
glab release upload 1.0.0 dist/releases/drtti-1.0.0.zip
To run unit tests, run the following command:
./gradlew test