diff --git a/inline-java.cabal b/inline-java.cabal
--- a/inline-java.cabal
+++ b/inline-java.cabal
@@ -1,5 +1,5 @@
 name:                inline-java
-version:             0.6.2
+version:             0.6.3
 synopsis:            Java interop via inline Java code in Haskell modules.
 description:         Please see README.md.
 homepage:            http://github.com/tweag/inline-java#readme
diff --git a/src/Language/Java/Inline/Cabal.hs b/src/Language/Java/Inline/Cabal.hs
--- a/src/Language/Java/Inline/Cabal.hs
+++ b/src/Language/Java/Inline/Cabal.hs
@@ -14,6 +14,7 @@
   , gradleBuild
   ) where
 
+import Data.Monoid
 import Distribution.Simple
 import Distribution.Simple.Setup (BuildFlags)
 import Distribution.Simple.LocalBuildInfo (LocalBuildInfo)
@@ -28,8 +29,8 @@
 -- | Adds the 'setGradleClasspath' and 'gradleBuild' hooks.
 gradleHooks :: UserHooks -> UserHooks
 gradleHooks hooks = hooks
-    { preBuild = setGradleClasspath
-    , buildHook = buildHook hooks >> gradleBuild
+    { preBuild = setGradleClasspath <> preBuild hooks
+    , buildHook = gradleBuild <> buildHook hooks
     }
 
 gradleBuildFile :: FilePath
@@ -53,6 +54,8 @@
           , "task classpath { doLast { println sourceSets.main.compileClasspath.getAsPath() } }"
           ]
       readProcess "gradle" ["-q", "-b", buildfile, "classpath"] ""
+        -- trim trailing newlines
+        >>= return . concat . lines
 
 -- | Set the @CLASSPATH@ from a Gradle build configuration. Does not override
 -- the @CLASSPATH@ if one exists.
