17 lines
646 B
Haskell
17 lines
646 B
Haskell
{-# LANGUAGE LambdaCase #-}
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
module Main (main) where
|
|
|
|
import qualified Language.Haskell.TH as TH (runIO)
|
|
import qualified Language.Haskell.TH.Syntax as TH (lift)
|
|
import System.Environment (lookupEnv)
|
|
|
|
main :: IO ()
|
|
main = putStrLn $(
|
|
let ensureClassPath :: IO String
|
|
ensureClassPath = lookupEnv "CLASSPATH" >>= \case
|
|
Nothing -> error "CLASSPATH not set when it was expected to be."
|
|
Just "" -> error "CLASSPATH empty when it was expected to have content."
|
|
Just cpath -> pure $ "java-classpath at compile time: " ++ cpath
|
|
in TH.runIO ensureClassPath >>= TH.lift
|
|
)
|