From dd625f9904bc047d6ff51a279b8209a5202620ce Mon Sep 17 00:00:00 2001 From: Michael Grosse Huelsewiesche Date: Thu, 7 May 2026 12:23:05 -0400 Subject: [PATCH] Add devbox development environment Adds devbox.json with JDK 11, Maven, and jq so contributors can get a working environment with a single `devbox shell`. Exposes build, test, check, and release as devbox run scripts mirroring the existing Makefile. Co-Authored-By: Claude Opus 4.6 --- devbox.json | 20 ++++++ devbox.lock | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 221 insertions(+) create mode 100644 devbox.json create mode 100644 devbox.lock diff --git a/devbox.json b/devbox.json new file mode 100644 index 00000000..a3610f6c --- /dev/null +++ b/devbox.json @@ -0,0 +1,20 @@ +{ + "$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.14.2/.schema/devbox.schema.json", + "packages": { + "jdk11": "latest", + "maven": "latest", + "jq": "latest" + }, + "shell": { + "init_hook": [ + "export PROJECT_ROOT=\"$(git rev-parse --show-toplevel 2>/dev/null || echo $DEVBOX_PROJECT_ROOT)\"" + ], + "scripts": { + "install": ["mvn install"], + "build": ["mvn package -B"], + "test": ["mvn test"], + "check": ["mvn spotless:check animal-sniffer:check test verify"], + "release": ["mvn deploy"] + } + } +} diff --git a/devbox.lock b/devbox.lock new file mode 100644 index 00000000..519edf53 --- /dev/null +++ b/devbox.lock @@ -0,0 +1,201 @@ +{ + "lockfile_version": "1", + "packages": { + "github:NixOS/nixpkgs/nixpkgs-unstable": { + "last_modified": "2026-05-06T02:58:03Z", + "resolved": "github:NixOS/nixpkgs/ed67bc86e84e51d4a88e73c7fd36006dc876476f?lastModified=1778036283&narHash=sha256-62EWg6lI0qyzm7oAx5cAnGkLutvJsRBe0KkEW2JDZCE%3D" + }, + "jdk11@latest": { + "last_modified": "2025-10-22T20:59:19Z", + "resolved": "github:NixOS/nixpkgs/01b6809f7f9d1183a2b3e081f0a1e6f8f415cb09#jdk11", + "source": "devbox-search", + "version": "11.0.24", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/37hfzzxsxbvkb35y1v9hfkw802l6j3xq-zulu-ca-jdk-11.0.24", + "default": true + } + ], + "store_path": "/nix/store/37hfzzxsxbvkb35y1v9hfkw802l6j3xq-zulu-ca-jdk-11.0.24" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/kl9yv2dppl8cbj2zy23lm7n8gppv4sp5-zulu-ca-jdk-11.0.24", + "default": true + } + ], + "store_path": "/nix/store/kl9yv2dppl8cbj2zy23lm7n8gppv4sp5-zulu-ca-jdk-11.0.24" + } + } + }, + "jq@latest": { + "last_modified": "2026-05-03T16:35:46Z", + "resolved": "github:NixOS/nixpkgs/73c703c22422b8951895a960959dbbaca7296492#jq", + "source": "devbox-search", + "version": "1.8.1", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "bin", + "path": "/nix/store/zpaiv3csv85i5qdhwlivlbg8a5clnqmh-jq-1.8.1-bin", + "default": true + }, + { + "name": "man", + "path": "/nix/store/vs9rx9xgqachcay4mn95m1gwifzxrhm4-jq-1.8.1-man", + "default": true + }, + { + "name": "out", + "path": "/nix/store/inmyqx7646xrcqrwxipacv5gkf3ca6m3-jq-1.8.1" + }, + { + "name": "dev", + "path": "/nix/store/h46rnp90pvk5ky12r9drbzhl1fqlmjnf-jq-1.8.1-dev" + }, + { + "name": "doc", + "path": "/nix/store/iksz05vk9j78ls9agfg9blhax9azgv69-jq-1.8.1-doc" + } + ], + "store_path": "/nix/store/zpaiv3csv85i5qdhwlivlbg8a5clnqmh-jq-1.8.1-bin" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "bin", + "path": "/nix/store/blgzs73jx017qji4n78v4wg1qxcg3cav-jq-1.8.1-bin", + "default": true + }, + { + "name": "man", + "path": "/nix/store/s8h2klkc7rw485yqj3s73ancc5915v2m-jq-1.8.1-man", + "default": true + }, + { + "name": "out", + "path": "/nix/store/2v9443fs97gdg5mz9lk3q603hryhqijm-jq-1.8.1" + }, + { + "name": "dev", + "path": "/nix/store/lx675fc624glij1dh9iw89pavkvfkv73-jq-1.8.1-dev" + }, + { + "name": "doc", + "path": "/nix/store/r992wf8cylhf9ayxwf64lawdfxcr4cl8-jq-1.8.1-doc" + } + ], + "store_path": "/nix/store/blgzs73jx017qji4n78v4wg1qxcg3cav-jq-1.8.1-bin" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "bin", + "path": "/nix/store/cpq0n6nrgs7jwyr121qshzk2fvjkmjbh-jq-1.8.1-bin", + "default": true + }, + { + "name": "man", + "path": "/nix/store/flsm1xvpbr9681y4y8101v5c5m3qmcim-jq-1.8.1-man", + "default": true + }, + { + "name": "doc", + "path": "/nix/store/h6wn2lzbxq1v2dypaj4kpv4nnkkm9yld-jq-1.8.1-doc" + }, + { + "name": "out", + "path": "/nix/store/spn7m9y4302yvw9zafpy1g2sz3z9xnx1-jq-1.8.1" + }, + { + "name": "dev", + "path": "/nix/store/0p7h41icsq99c08sym6iw4wzdsl35r13-jq-1.8.1-dev" + } + ], + "store_path": "/nix/store/cpq0n6nrgs7jwyr121qshzk2fvjkmjbh-jq-1.8.1-bin" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "bin", + "path": "/nix/store/v5c3inhfq6xshmwg1c254vfbcy4jp3k9-jq-1.8.1-bin", + "default": true + }, + { + "name": "man", + "path": "/nix/store/lsyqny7h1riwhzajwy2vjjdd63viiwvm-jq-1.8.1-man", + "default": true + }, + { + "name": "dev", + "path": "/nix/store/p8x5zv9s9qg3ld8b7jdm03hkpdqybjl9-jq-1.8.1-dev" + }, + { + "name": "doc", + "path": "/nix/store/g2wlgi44rn837jdirpwi3lk5f2iy13zg-jq-1.8.1-doc" + }, + { + "name": "out", + "path": "/nix/store/09bq2i0kb008ccg3qdbyxv81ggxxnn09-jq-1.8.1" + } + ], + "store_path": "/nix/store/v5c3inhfq6xshmwg1c254vfbcy4jp3k9-jq-1.8.1-bin" + } + } + }, + "maven@latest": { + "last_modified": "2026-04-23T13:07:47Z", + "resolved": "github:NixOS/nixpkgs/01fbdeef22b76df85ea168fbfe1bfd9e63681b30#maven", + "source": "devbox-search", + "version": "3.9.12", + "systems": { + "aarch64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/5snxk4sha9i36rcgx5bhn375xysymdw0-maven-3.9.12", + "default": true + } + ], + "store_path": "/nix/store/5snxk4sha9i36rcgx5bhn375xysymdw0-maven-3.9.12" + }, + "aarch64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/6bcr1jj81jx7mwsxbnz0m20bbjfzh2w2-maven-3.9.12", + "default": true + } + ], + "store_path": "/nix/store/6bcr1jj81jx7mwsxbnz0m20bbjfzh2w2-maven-3.9.12" + }, + "x86_64-darwin": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/hw5sswrm3c4gb7v6hhhni061b6zx22lf-maven-3.9.12", + "default": true + } + ], + "store_path": "/nix/store/hw5sswrm3c4gb7v6hhhni061b6zx22lf-maven-3.9.12" + }, + "x86_64-linux": { + "outputs": [ + { + "name": "out", + "path": "/nix/store/brc7wr2j0nix75r942sj4dp438isxz5g-maven-3.9.12", + "default": true + } + ], + "store_path": "/nix/store/brc7wr2j0nix75r942sj4dp438isxz5g-maven-3.9.12" + } + } + } + } +}