biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / development / tools / analysis / jdepend / default.nix
blob1f2e9605b117e26c9b1841c9483b9010e1b55ea9
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , ant
5 , jdk
6 , makeWrapper
7 , stripJavaArchivesHook
8 }:
10 stdenv.mkDerivation (finalAttrs: {
11   pname = "jdepend";
12   version = "2.10";
14   src = fetchFromGitHub {
15     owner = "clarkware";
16     repo = "jdepend";
17     rev = finalAttrs.version;
18     hash = "sha256-0/xGgAaJ7TTUHxShJbbcPzTODk4lDn+FOn5St5McrtM=";
19   };
21   nativeBuildInputs = [
22     ant
23     jdk
24     makeWrapper
25     stripJavaArchivesHook
26   ];
28   buildPhase = ''
29     runHook preBuild
30     ant jar
31     runHook postBuild
32   '';
34   installPhase = ''
35     runHook preInstall
37     install -Dm644 dist/jdepend-*.jar -t $out/share/jdepend
39     makeWrapper ${jdk.jre}/bin/java $out/bin/jdepend \
40         --add-flags "-classpath $out/share/jdepend/jdepend-*.jar"
42     for type in "swingui" "textui" "xmlui"; do
43       makeWrapper $out/bin/jdepend $out/bin/jdepend-$type \
44           --add-flags "jdepend.$type.JDepend"
45     done
47     runHook postInstall
48   '';
50   meta = with lib; {
51     changelog = "https://github.com/clarkware/jdepend/blob/${finalAttrs.src.rev}/CHANGELOG.md";
52     description = "Traverses Java class file directories and generates design quality metrics for each Java package";
53     homepage = "http://www.clarkware.com/software/JDepend.html";
54     license = licenses.bsd3;
55     maintainers = with maintainers; [ pSub ];
56     platforms = platforms.linux;
57   };