about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/tools/analysis/jdepend/default.nix
blob: 455ff7722fa97265db4464c7fb6ae1a5d5801b9a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{ stdenv, fetchFromGitHub, ant, jdk, runtimeShell }:

stdenv.mkDerivation rec {
  pname = "jdepend";
  version = "2.9.1";

  src = fetchFromGitHub {
    owner = "clarkware";
    repo = "jdepend";
    rev = version;
    sha256 = "1sxkgj4k4dhg8vb772pvisyzb8x0gwvlfqqir30ma4zvz3rfz60p";
  };

  nativeBuildInputs = [ ant jdk ];
  buildPhase = "ant jar";

  installPhase = ''
    mkdir -p $out/bin $out/share
    install dist/${pname}-${version}.jar $out/share

    cat > "$out/bin/jdepend" <<EOF
    #!${runtimeShell}
    exec ${jdk.jre}/bin/java -classpath "$out/share/*" "\$@"
    EOF
    chmod a+x $out/bin/jdepend
  '';

  meta = with stdenv.lib; {
    description = "Traverses Java class file directories and generates design quality metrics for each Java package";
    homepage = http://www.clarkware.com/software/JDepend.html;
    license = licenses.bsd3;
    platforms = platforms.linux;
    maintainers = with maintainers; [ pSub ];
  };
}