Merge pull request #330634 from r-ryantm/auto-update/circumflex
[NixPkgs.git] / pkgs / test / dotnet / project-references / default.nix
blob762686a7d01ff6684d9a76604b8a45cd8e36a551
1 # Tests the `projectReferences = [ ... ];` feature of buildDotnetModule.
2 # The `library` derivation exposes a .nupkg, which is then consumed by the `application` derivation.
3 # https://nixos.org/manual/nixpkgs/unstable/index.html#packaging-a-dotnet-application
5 { lib
6 , dotnet-sdk
7 , buildPackages # buildDotnetModule
8 , runCommand
9 }:
11 let
12   inherit (buildPackages) buildDotnetModule;
14   nugetDeps = ./nuget-deps.nix;
16   # Specify the TargetFramework via an environment variable so that we don't
17   # have to update the .csproj files when updating dotnet-sdk
18   TargetFramework = "net${lib.versions.majorMinor (lib.getVersion dotnet-sdk)}";
20   library = buildDotnetModule {
21     name = "project-references-test-library";
22     src = ./library;
23     inherit nugetDeps;
24     env.TargetFramework = TargetFramework;
26     packNupkg = true;
27   };
29   application = buildDotnetModule {
30     name = "project-references-test-application";
31     src = ./application;
32     inherit nugetDeps;
33     env.TargetFramework = TargetFramework;
35     projectReferences = [ library ];
36   };
39 runCommand "project-references-test" { } ''
40   ${application}/bin/Application
41   mkdir $out