summaryrefslogtreecommitdiff
path: root/build.gradle.kts
diff options
context:
space:
mode:
authorMiguel <m.i@gmx.at>2018-07-19 21:08:16 +0200
committerMiguel <m.i@gmx.at>2018-07-19 21:08:16 +0200
commit7447d4f9b2734dfb85c9e3da86723e94981a634f (patch)
tree4c6fa487017a581b609f5fe2e2427506c7b76a33 /build.gradle.kts
parent7c3669cd255e61c2f39307a6ed21b6195b1325c9 (diff)
basic stack-haskell mini setup
Diffstat (limited to 'build.gradle.kts')
-rw-r--r--build.gradle.kts45
1 files changed, 28 insertions, 17 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 8b97109..52f4f25 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,28 +1,39 @@
-/*
- * This file was generated by the Gradle 'init' task.
- *
- * This is a general purpose Gradle build.
- * Learn how to create Gradle builds at https://guides.gradle.org/creating-new-gradle-builds/
- */
+ // Learn how to create Gradle builds at https://guides.gradle.org/creating-new-gradle-builds/
-tasks.create<Exec>("hello") {
+val stackBinary="./stack-1.7.1-linux-x86_64/stack"
- description = "Say hello"
- group = "Custom"
+val taskStackInstall = tasks.create("stack-install") {
- setCommandLine("wget -qO- https://get.haskellstack.org/ | sh")
+ description = "download and un-tar haskell-stack"
+ group= "Haskell"
- doLast{
- System.out.println("hello sucker")
- }
+ doLast{
+
+ if( !File("linux-x86_64.tar.gz").exists() ) {
+
+ exec{
+ setCommandLine("ls","-l")
+ }
+ exec{
+ setCommandLine("wget","https://get.haskellstack.org/stable/linux-x86_64.tar.gz")
+ }
+ exec{
+ setCommandLine("tar","-xvf","linux-x86_64.tar.gz")
+ }
+
+ }
+ else println("This taks seems up to date")
+ }
}
-tasks.create<Exec>("stack-version") {
+val taskStackVersion = tasks.create<Exec>("stack-version") {
- description = "show stack version"
- group = "Haskell"
+ dependsOn(taskStackInstall)
- setCommandLine("stack --version")
+ description = "show haskell-stack version"
+ group = "Haskell"
+
+ setCommandLine(stackBinary,"--version")
}