Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/actions/setup-tests/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,14 @@ runs:
git config --global user.name "GitHub Actions Bot"
git config --global user.email "<>"
- name: Install Nix
uses: DeterminateSystems/nix-installer-action@07b8bcba1b22d847db7ee507180c33e115499665 # v8
- uses: DeterminateSystems/magic-nix-cache-action@8a218f9e264e9c3803c9a1ee1c30d8e4ab55be63 # v2
uses: DeterminateSystems/nix-installer-action@90bb610b90bf290cad97484ba341453bd1cbefea # v19
- uses: DeterminateSystems/magic-nix-cache-action@565684385bcd71bad329742eefe8d12f2e765b39 # v13
- name: Check Nixpkgs inputs
uses: DeterminateSystems/flake-checker-action@4b90f9fc724969ff153fe1803460917c84fe00a3 # v5
uses: DeterminateSystems/flake-checker-action@3164002371bc90729c68af0e24d5aacf20d7c9f6 # v12
with:
fail-mode: true
- name: Use Maven dependency cache
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4
with:
path: ~/.m2/repository
# We use a unique key and restore from the base one, to ensure that
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
name: Tests with Java ${{ matrix.java }} on ${{ matrix.os }}
strategy:
matrix:
java: [11, 17, 20, 21-ea]
java: [11, 17, 21, 24]
os: [ubuntu-latest]
steps:
- name: Checkout
Expand Down
6 changes: 3 additions & 3 deletions flake.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

70 changes: 16 additions & 54 deletions flake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -18,58 +18,26 @@
(final: prev:
let
base = rec {
jdk = if javaVersion < 21 then prev."jdk${toString javaVersion}" else jdk21-ea;
maven = prev.maven.override { inherit jdk; };
jdk = prev."jdk${toString javaVersion}";
maven = prev.maven.override { jdk_headless = jdk; };
};
in
base)
];
};
jdk21-ea = pkgs.stdenv.mkDerivation rec {
name = "jdk21-oracle";
version = "21+35";
src = builtins.fetchTarball {
url = "https://download.java.net/java/GA/jdk21/fd2272bbf8e04c3dbaee13770090416c/35/GPL/openjdk-21_linux-x64_bin.tar.gz";
sha256 = "sha256:0g3vf0kcpciixfv1kvgbk685h6cfn1s0cx2di4rhl3r7xlal217w";
};
installPhase = ''
cd ..
mv $sourceRoot $out
'';
};
semver = pkgs.buildGoModule rec {
name = "semver";
version = "2.1.0";
version = "2.11.0";

vendorHash = "sha256-HKqZbgP7vqDJMaHUbSqfSOnBYwzOtIr9o2v/T9S+uNg=";
vendorHash = "sha256-7xs+6gqy4WeP1L2VthZJ3IOYRKMWbpKdAQn6lu4Z5g0=";
subPackages = [ "cmd/semver" ];

src = pkgs.fetchFromGitHub {
owner = "ffurrer2";
repo = "semver";
rev = "v${version}";
sha256 = "sha256-i/XPA2Hr2puJFKupIeBUE/yFPJxSeVsDWcz1OepxIcU=";
};
};
jreleaser = pkgs.stdenv.mkDerivation rec {
pname = "jreleaser-cli";
version = "1.7.0";

src = pkgs.fetchurl {
url = "https://github.com/jreleaser/jreleaser/releases/download/v${version}/jreleaser-tool-provider-${version}.jar";
sha256 = "sha256-gr1IWisuep00xyoZWKXtHymWkQjbDhlk6+UC16bKXu0=";
sha256 = "sha256-BAONscuPUqfzEwDuyIqZroArEMnE6HmCfT9NTZ1LuXo=";
};

nativeBuildInputs = with pkgs; [ makeWrapper ];

dontUnpack = true;

installPhase = ''
mkdir -p $out/share/java/ $out/bin/
cp $src $out/share/java/${pname}.jar
makeWrapper ${pkgs.jdk}/bin/java $out/bin/${pname} \
--add-flags "-jar $out/share/java/${pname}.jar"
'';
};
in
pkgs.mkShell rec {
Expand All @@ -82,25 +50,19 @@
'';
packages = with pkgs;
[ jdk maven test ]
++ (if release then [ semver jreleaser ] else [ ]);
++ (if release then [ semver pkgs.jreleaser-cli ] else [ ]);
};
in
{
devShells =
let
# We have additional options (currently EA jdks) on 64 bit linux systems
blessedSystem = "x86_64-linux";
blessed = { jdk21-ea = mkShell blessedSystem { javaVersion = 21; }; };
common = forAllSystems
(system:
rec {
default = jdk20;
jdk20 = mkShell system { javaVersion = 20; };
jdk17 = mkShell system { javaVersion = 17; };
jdk11 = mkShell system { javaVersion = 11; };
jReleaser = mkShell system { release = true; javaVersion = 11; };
});
in
common // { "${blessedSystem}" = common."${blessedSystem}" // blessed; };
devShells = forAllSystems (system:
rec {
default = jdk21;
jdk24 = mkShell system { javaVersion = 24; };
jdk21 = mkShell system { javaVersion = 21; };
jdk17 = mkShell system { javaVersion = 17; };
jdk11 = mkShell system { javaVersion = 11; };
jReleaser = mkShell system { release = true; javaVersion = 21; };
}
);
};
}