An open API service indexing awesome lists of open source software.

https://github.com/telegraphic-dev/jbx-utils

Sidecar Java utilities for jbx tool
https://github.com/telegraphic-dev/jbx-utils

Last synced: about 1 month ago
JSON representation

Sidecar Java utilities for jbx tool

Awesome Lists containing this project

README

          

# jbx-utils

Sidecar Java utilities used by `jbx` commands. Each helper is a separate Maven artifact so consumers only download the dependencies they actually need.

## Artifacts

```text
dev.telegraphic.jbx:jbx-check:
dev.telegraphic.jbx:jbx-graph:
dev.telegraphic.jbx:jbx-rewrite:
```

- `jbx-check` contains `dev.telegraphic.jbx.check.JbxCheckCompiler`, a dependency-free Compiler API wrapper used by `jbx check`.
- `jbx-graph` contains `dev.telegraphic.jbx.graph.JbxGraph`, a JavaParser native JSON dump/import helper used by `jbx graph`.
- `jbx-rewrite` contains `dev.telegraphic.jbx.rewrite.JbxRewrite`, an OpenRewrite runner and recipe-discovery helper used by `jbx rewrite`.

## Local verification

```bash
scripts/smoke-check.sh
scripts/verify-publish-bundle.sh
```

`verify-publish-bundle.sh` uses `jbx publish --dry-run --skip-signing` for both projects, checks the Maven Central bundle layout, and verifies each jar contains only its own helper class.

## Publishing

Publishing is handled by `.github/workflows/publish.yml` on a GitHub release or manual workflow dispatch. The workflow imports the signing key, builds and publishes both artifacts with `jbx publish --publish`, uploads them to Maven Central, and waits for publication.

Required GitHub secrets:

- `CENTRAL_TOKEN_USERNAME`
- `CENTRAL_TOKEN_PASSWORD`
- `GPG_PRIVATE_KEY`
- `GPG_PASSPHRASE`