From 7447d4f9b2734dfb85c9e3da86723e94981a634f Mon Sep 17 00:00:00 2001 From: Miguel Date: Thu, 19 Jul 2018 21:08:16 +0200 Subject: basic stack-haskell mini setup --- build.gradle.kts | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) (limited to 'build.gradle.kts') 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("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("stack-version") { +val taskStackVersion = tasks.create("stack-version") { - description = "show stack version" - group = "Haskell" + dependsOn(taskStackInstall) - setCommandLine("stack --version") + description = "show haskell-stack version" + group = "Haskell" + + setCommandLine(stackBinary,"--version") } -- cgit v1.2.3