From e3405fee488f55c9080c820c0ebc01a1ffc38217 Mon Sep 17 00:00:00 2001 From: Gregor Lohaus Date: Thu, 28 May 2026 21:42:26 +0200 Subject: [PATCH] deps.json for gradle from nix --- deps.json | 1 + flake.nix | 39 +++++++++++++++++++++++++++------------ 2 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 deps.json diff --git a/deps.json b/deps.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/deps.json @@ -0,0 +1 @@ +{} diff --git a/flake.nix b/flake.nix index f8fdf88..c0fbe9f 100644 --- a/flake.nix +++ b/flake.nix @@ -88,8 +88,7 @@ pkgs.zlib pkgs.zlib.dev ]; - in { - default = pkgs.stdenv.mkDerivation { + jprototerm = pkgs.stdenv.mkDerivation (finalAttrs: { pname = "jprototerm"; version = "0.1.0"; src = ./.; @@ -103,19 +102,32 @@ buildInputs = runtimeLibs; - buildPhase = '' - runHook preBuild + mitmCache = pkgs.gradle_9.fetchDeps { + pkg = finalAttrs.finalPackage; + data = ./deps.json; + silent = false; + useBwrap = false; + }; + gradleBuildTask = "nativeExecutable"; + gradleUpdateTask = "nixDownloadDeps"; + gradleFlags = [ + "--no-build-cache" + "-Dorg.gradle.java.home=${gluonGraalvm}" + ]; + + GRAALVM_HOME = "${gluonGraalvm}"; + JAVA_HOME = "${gluonGraalvm}"; + JLIBGHOSTTY_MAVEN_REPO = "${jlib}/maven"; + + preBuild = '' export HOME="$TMPDIR/home" - export GRADLE_USER_HOME="$TMPDIR/gradle" - export GRAALVM_HOME="${gluonGraalvm}" - export JAVA_HOME="${gluonGraalvm}" - export JLIBGHOSTTY_MAVEN_REPO="${jlib}/maven" export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath runtimeLibs}:$LD_LIBRARY_PATH" + ''; - gradle --no-daemon --no-build-cache nativeExecutable - - runHook postBuild + preGradleUpdate = '' + export HOME="$TMPDIR/home" + export LD_LIBRARY_PATH="${pkgs.lib.makeLibraryPath runtimeLibs}:$LD_LIBRARY_PATH" ''; installPhase = '' @@ -136,7 +148,10 @@ runHook postInstall ''; - }; + }); + in { + default = jprototerm; + gradleDepsUpdateScript = jprototerm.mitmCache.updateScript; }); devShells = forAllSystems (system: