dev to basic spring #9
13
flake.lock
13
flake.lock
|
@ -2,18 +2,17 @@
|
|||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1716293225,
|
||||
"narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=",
|
||||
"owner": "nixos",
|
||||
"lastModified": 1716509168,
|
||||
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916",
|
||||
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"id": "nixpkgs",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
|
|
94
flake.nix
94
flake.nix
|
@ -1,61 +1,73 @@
|
|||
{
|
||||
description = "Learning Pulse";
|
||||
|
||||
description = "CI, devshell and package definition for learningpulse";
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
|
||||
nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
};
|
||||
|
||||
outputs =
|
||||
{ self
|
||||
, nixpkgs
|
||||
, maven
|
||||
, makeWrapper
|
||||
, stdenv
|
||||
, ...
|
||||
}:
|
||||
outputs = { self, nixpkgs, ... }:
|
||||
let
|
||||
overlays = [
|
||||
(final: prev: rec {
|
||||
jdk = prev."jdk22";
|
||||
maven = prev.maven.override { inherit jdk; };
|
||||
})
|
||||
|
||||
# TODO add more systems
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs { inherit system; };
|
||||
|
||||
buildPackages = with pkgs; [
|
||||
jdk22
|
||||
makeWrapper
|
||||
];
|
||||
|
||||
supportedSystems = [
|
||||
"x86_64-linux"
|
||||
"aarch64-linux"
|
||||
];
|
||||
|
||||
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
|
||||
pkgs = import nixpkgs { inherit overlays system; };
|
||||
});
|
||||
|
||||
in
|
||||
rec {
|
||||
packages.${system} =
|
||||
{
|
||||
packages = {
|
||||
learningpulse-discovery = stdenv.mkDerivation rec {
|
||||
learningpulse-gateway = pkgs.maven.buildMavenPackage rec {
|
||||
pname = "gateway";
|
||||
version = "1.0";
|
||||
version = "0.0.1";
|
||||
|
||||
src = ./.;
|
||||
buildInputs = [ maven ];
|
||||
# todo get automatically
|
||||
mvnHash = "sha256-YCK1Qujgx73cZdEx2mRip+y+66px5TxL247fBIMyoy4=";
|
||||
|
||||
buildPhase = ''
|
||||
mvn --offline -Dmaven.repo.local=gateway package;
|
||||
'';
|
||||
nativeBuildInputs = buildPackages;
|
||||
|
||||
installPhase = ''
|
||||
install -Dm644 target/${pname}-${version}.jar $out/share/java
|
||||
mkdir -p $out/bin $out/share/${pname}
|
||||
install -Dm644 ${pname}/target/${pname}-${version}.jar $out/share/${pname}-${version}
|
||||
|
||||
makeWrapper ${pkgs.jre8}/bin/java $out/bin/${pname}- \
|
||||
--add-flags "-jar $out/share/${pname}/${pname}-${version}.jar"
|
||||
'';
|
||||
};
|
||||
devShells = forEachSupportedSystem ({ pkgs }: {
|
||||
default = pkgs.mkShell {
|
||||
packages = with pkgs; [
|
||||
jdk
|
||||
learningpulse-eureka = pkgs.maven.buildMavenPackage rec {
|
||||
pname = "eureka";
|
||||
version = "0.0.1";
|
||||
|
||||
src = ./.;
|
||||
# todo get automatically
|
||||
mvnHash = "sha256-YCK1Qujgx73cZdEx2mRip+y+66px5TxL247fBIMyoy4=";
|
||||
|
||||
nativeBuildInputs = buildPackages;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/share/${pname}
|
||||
install -Dm644 ${pname}/target/${pname}-${version}.jar $out/share/${pname}-${version}
|
||||
|
||||
makeWrapper ${pkgs.jre8}/bin/java $out/bin/${pname}- \
|
||||
--add-flags "-jar $out/share/${pname}/${pname}-${version}.jar"
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
hydraJobs = {
|
||||
inherit (self)
|
||||
packages;
|
||||
};
|
||||
|
||||
devShells."${system}".default = pkgs.mkShell {
|
||||
buildInputs = with pkgs; [
|
||||
maven
|
||||
jdk22
|
||||
jre8
|
||||
];
|
||||
};
|
||||
});
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<groupId>com.learningpulse</groupId>
|
||||
<artifactId>server</artifactId>
|
||||
<version>0.0.1</version>
|
||||
<relativePath/> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<artifactId>gateway</artifactId>
|
||||
<version>0.0.1</version>
|
||||
|
|
Reference in a new issue