nemesis-titan 2013.6.22 → 2013.7.13
raw patch · 2 files changed
+36/−4 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ System.Nemesis.Titan: default_mac_app_config :: Config
+ System.Nemesis.Titan: titan_mac_app :: String -> FilePath -> String -> String -> Unit
Files
- nemesis-titan.cabal +1/−1
- src/System/Nemesis/Titan.hs +35/−3
nemesis-titan.cabal view
@@ -1,5 +1,5 @@ Name: nemesis-titan-Version: 2013.6.22+Version: 2013.7.13 Build-type: Simple Synopsis: A collection of Nemesis tasks to bootstrap a Haskell project with a focus on continuous integration Description:
src/System/Nemesis/Titan.hs view
@@ -252,6 +252,13 @@ (config.guard_arg_string) guard_path + + -- shortcut+ let shortcut_task_name = printf "t:%s/titan" (config.label)+ shortcut_description = printf "Short task name for %s/titan" (config.label)+ + desc shortcut_description+ task shortcut_task_name - return () titan :: String -> Unit@@ -259,9 +266,34 @@ let _label = _file_name.takeBaseName titan_with_config defaultConfig {file_name = _file_name, label = _label} ---+default_mac_app_config :: Config+default_mac_app_config = + let + mac_ghc_arg_string = + [+ "-lobjc"+ , "-frameworkCocoa"+ ].join " "+ in+ defaultConfig {ghc_arg_string = mac_ghc_arg_string}+ +titan_mac_app :: String -> FilePath -> String -> String -> Unit+titan_mac_app _label derivied_data scheme_name target_name = do+ titan_with_config default_mac_app_config {file_name = _label, label = _label}+ + task (_label / "clean") - do+ sh - printf "rm -rf %s" derivied_data+ sh - printf "mkdir %s" derivied_data+ + task (_label / "xcode-build") - do+ sh - printf "cd .. && xcodebuild -scheme %s > /dev/null" scheme_name+ + task (_label / "kill") - do+ sh - printf "killall -SIGTERM %s" target_name+ + task (_label / "run" + ":" + _label / "xcode-build") - do+ sh - printf "cd %s; find . -name '%s' -exec '{}' \\;" derivied_data target_name+ -- Helpers safe_spec :: IO () -> IO ExitCode safe_spec spec = E.handle (\e -> return (e :: ExitCode)) - do