(ns wanijo-pipeline.core (:require [wanijo-pipeline [wanijo-pipeline :as wp] [formulare-pipeline :as fp] [wedder-pipeline :as wdp] [joshavgde-pipeline :as jvgde]] [wanijo-pipeline.ui-selection :as ui-selection] [org.httpkit.server :as http-kit] [lambdacd.runners :as runners] [lambdacd.core :as lambdacd] [clojure.tools.logging :as log]) (:import (java.nio.file.attribute FileAttribute) (java.nio.file Files LinkOption)) (:gen-class)) (defn- home-dir [pipeline-name] (let [dir (str (System/getProperty "user.home") "/wanijo-pipeline/" pipeline-name)] (log/info (str "Home dir is " dir)) dir)) (defn wanijo-pipeline [] (lambdacd/assemble-pipeline wp/pipeline-def {:home-dir (home-dir "wanijo") :name "wanijo pipeline"})) (defn formulare-pipeline [] (lambdacd/assemble-pipeline fp/pipeline-def {:home-dir (home-dir "formulare") :name "formulare pipeline"})) (defn wedder-pipeline [] (lambdacd/assemble-pipeline wdp/pipeline-def {:home-dir (home-dir "wedder") :name "wedder pipeline"})) (defn joshavgde-pipeline [] (lambdacd/assemble-pipeline jvgde/pipeline-def {:home-dir (home-dir "joshavgde") :name "joshavgde pipeline"})) (defn -main [& args] (let [wanijo-pipeline (wanijo-pipeline) formulare-pipeline (formulare-pipeline) wedder-pipeline (wedder-pipeline) joshavgde-pipeline (joshavgde-pipeline) app (ui-selection/ui-routes wanijo-pipeline formulare-pipeline wedder-pipeline joshavgde-pipeline)] ;; this starts the pipeline and runs one build after the other. ;; there are other runners and you can define your own as well. (runners/start-one-run-after-another wanijo-pipeline) (runners/start-one-run-after-another formulare-pipeline) (runners/start-one-run-after-another wedder-pipeline) (runners/start-one-run-after-another joshavgde-pipeline) ;; start the webserver to serve the UI (http-kit/run-server app {:port 30500})))