about summary refs log tree commit diff
path: root/pkgs/top-level
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-01-06 13:42:37 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-01-06 14:36:14 +0100
commit5d6259a9739d03f6ae2751b342689c877e7209df (patch)
tree9f051e9ee23a6de43a137799c5ebdd49081219ed /pkgs/top-level
parente36427fd4e7f33360bbbcd85d8cf276664c277b1 (diff)
downloadnixlib-5d6259a9739d03f6ae2751b342689c877e7209df.tar
nixlib-5d6259a9739d03f6ae2751b342689c877e7209df.tar.gz
nixlib-5d6259a9739d03f6ae2751b342689c877e7209df.tar.bz2
nixlib-5d6259a9739d03f6ae2751b342689c877e7209df.tar.lz
nixlib-5d6259a9739d03f6ae2751b342689c877e7209df.tar.xz
nixlib-5d6259a9739d03f6ae2751b342689c877e7209df.tar.zst
nixlib-5d6259a9739d03f6ae2751b342689c877e7209df.zip
Add a setup hook that automatically sets up $CLASSPATH
All JARs in $pkg/share/java (for each $pkg in the build inputs) are
added to $CLASSPATH.  Thus, you can say

  buildInputs = [ setJavaClassPath someJavaDependency ];

and the JARs in someJavaDependency will be found automatically by
tools like javac or ant.

Note that the manual used to say that JARs should be installed in
lib/java; this is now share/java, following the Debian policy:

  http://www.debian.org/doc/packaging-manuals/java-policy/x110.html

The directory share/java makes more sense because JARs are
architecture-independent.  (Also, a quick grep shows that we were not
exactly consistent about this in Nixpkgs.)
Diffstat (limited to 'pkgs/top-level')
-rw-r--r--pkgs/top-level/all-packages.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7d3eb8c2e5d6..c038b38acf7a 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -385,6 +385,8 @@ let
 
   platforms = import ./platforms.nix;
 
+  setJavaClassPath = makeSetupHook { } ../build-support/setup-hooks/set-java-classpath.sh;
+
 
   ### TOOLS