You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
2.3 KiB

(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})))