diff options
Diffstat (limited to 'pkgs/development/tools/scalafix/default.nix')
-rw-r--r-- | pkgs/development/tools/scalafix/default.nix | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/pkgs/development/tools/scalafix/default.nix b/pkgs/development/tools/scalafix/default.nix new file mode 100644 index 000000000000..bd8a013fe2d0 --- /dev/null +++ b/pkgs/development/tools/scalafix/default.nix @@ -0,0 +1,43 @@ +{ stdenv, jdk, jre, coursier, makeWrapper }: + +let + baseName = "scalafix"; + version = "0.9.0"; + deps = stdenv.mkDerivation { + name = "${baseName}-deps-${version}"; + buildCommand = '' + export COURSIER_CACHE=$(pwd) + ${coursier}/bin/coursier fetch ch.epfl.scala:scalafix-cli_2.12.7:${version} > deps + mkdir -p $out/share/java + cp $(< deps) $out/share/java/ + ''; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "19j260prx7k010nxyvc1m9jj1ncxr73m2cym7if39360v5dc05c0"; + }; +in +stdenv.mkDerivation rec { + name = "${baseName}-${version}"; + + buildInputs = [ jdk makeWrapper deps ]; + + doCheck = true; + + phases = [ "installPhase" "checkPhase" ]; + + installPhase = '' + makeWrapper ${jre}/bin/java $out/bin/${baseName} \ + --add-flags "-cp $CLASSPATH scalafix.cli.Cli" + ''; + + checkPhase = '' + $out/bin/${baseName} --version | grep -q "${version}" + ''; + + meta = with stdenv.lib; { + description = "Refactoring and linting tool for Scala"; + homepage = https://scalacenter.github.io/scalafix/; + license = licenses.bsd3; + maintainers = [ maintainers.tomahna ]; + }; +} |