aboutsummaryrefslogtreecommitdiff
path: root/lux-lein/src/leiningen/luxc/compiler.clj
blob: 18eef63a03b74bf92a5e77c453344ddf24a8835e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;;  Copyright (c) Eduardo Julian. All rights reserved.
;;  This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
;;  If a copy of the MPL was not distributed with this file,
;;  You can obtain one at http://mozilla.org/MPL/2.0/.

(ns leiningen.luxc.compiler
  (:refer-clojure :exclude [compile])
  (:require [leiningen.core.classpath :as classpath]
            (leiningen.luxc [utils :as &utils]
                            [packager :as &packager])))

(defn compile [project]
  (if-let [program-module (get-in project [:lux :program])]
    (do (&utils/run-process (&utils/compile-path project program-module (get project :source-paths (list)))
                            nil
                            "[COMPILATION BEGIN]"
                            "[COMPILATION END]")
      (&packager/package project program-module (get project :resource-paths (list))))
    (println "Please provide a program main module in [:lux :program]")))