diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000000000000000000000000000000000000..aa1996fe06b038479909d5a5088c6b7401dd930f --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,68 @@ +Development And Contributing Instructions +========================================= + +Creating a Python package +------------------------- + +:memo: TODO: add instructions for packaging for plain Python! + +Making a new release via Maven +------------------------------ + +To create a new release, clone the [scijava-scripts][gh_scijava-scripts] repo +(e.g. in `/opt/imagej/`) and run the `release-version.sh` helper: + +```bash +BASE_DIR=/opt/imagej +mkdir -pv "$BASE_DIR" +cd "$BASE_DIR" +git clone https://github.com/scijava/scijava-scripts +cd - + +RELEASE_SCRIPT="$BASE_DIR/scijava-scripts/release-version.sh" + +$RELEASE_SCRIPT --skip-push --skip-gpg --skip-license-update +``` + +Build & Deploy with Maven using Visual Studio Code +-------------------------------------------------- + +Building and deploying the package can be greatly simplified using "tasks" in +[Visual Studio Code][www_vscode]. By adding the following settings to the +`.vscode/tasks.json` file, you can simply press `Ctrl+Shift+B` in VS Code and +select the *deploy* task for running Maven and have the resulting JAR file being +placed in `/opt/fiji-packaging/Fiji.app/jars/` (adjust to your path as +necessary): + +```json +{ + "version": "2.0.0", + "tasks": [ + { + "label": "verify", + "type": "shell", + "command": "mvn -B verify", + "group": "build" + }, + { + "label": "test", + "type": "shell", + "command": "mvn -B test", + "group": "test" + }, + { + "label": "deploy", + "type": "shell", + "command": "mvn -Dimagej.app.directory=/opt/fiji-packaging/Fiji.app", + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": [] + } + ] +} +``` + +[gh_scijava-scripts]: https://github.com/scijava/scijava-scripts +[www_vscode]: https://code.visualstudio.com/