@@ -9,7 +9,7 @@ import Bootstrap.Data.PreCommitHook
99 )
1010import Bootstrap.Data.ProjectType
1111 ( HasProjectSuperType (projectSuperType ),
12- ProjectSuperType (PSTRust ),
12+ ProjectSuperType (PSTJava , PSTRust ),
1313 )
1414import Bootstrap.Nix.Expr
1515 ( Binding ,
@@ -38,11 +38,14 @@ mkShell buildInputSpec@BuildInputSpec {bisPreCommitHooksConfig, bisProjectType}
3838
3939data ShellHook
4040 = ShellHookFromPreCommit
41+ | ShellHookJava
4142 | ShellHookRust
4243 | ShellHookCombined (NonEmpty ShellHook )
4344
4445shellHookFor :: HasProjectSuperType t => PreCommitHooksConfig -> t -> Maybe ShellHook
4546shellHookFor pchc pt = case (pchc, projectSuperType pt) of
47+ (PreCommitHooksConfig True , PSTJava ) -> Just $ ShellHookCombined (ShellHookJava :| [ShellHookFromPreCommit ])
48+ (PreCommitHooksConfig False , PSTJava ) -> Just ShellHookJava
4649 (PreCommitHooksConfig True , PSTRust ) -> Just $ ShellHookCombined (ShellHookRust :| [ShellHookFromPreCommit ])
4750 (PreCommitHooksConfig False , PSTRust ) -> Just ShellHookRust
4851 (PreCommitHooksConfig True , _) -> Just ShellHookFromPreCommit
@@ -61,5 +64,6 @@ shellHookBinding = \case
6164 shellHookComponentBinding :: ShellHook -> [Text ]
6265 shellHookComponentBinding = \ case
6366 ShellHookFromPreCommit -> [" ${preCommitHooks.allHooks.shellHook}" ]
67+ ShellHookJava -> [" export JAVA_HOME=\" ${nixpkgs.jdk}\" " ]
6468 ShellHookRust -> [" export RUST_SRC_PATH=${nixpkgs.rustPlatform.rustLibSrc}" ]
6569 ShellHookCombined xs -> sconcat $ shellHookComponentBinding <$> xs
0 commit comments