aboutsummaryrefslogtreecommitdiff
path: root/lux-lein/src/leiningen/luxc/compiler.clj
diff options
context:
space:
mode:
Diffstat (limited to 'lux-lein/src/leiningen/luxc/compiler.clj')
-rw-r--r--lux-lein/src/leiningen/luxc/compiler.clj19
1 files changed, 19 insertions, 0 deletions
diff --git a/lux-lein/src/leiningen/luxc/compiler.clj b/lux-lein/src/leiningen/luxc/compiler.clj
new file mode 100644
index 000000000..18eef63a0
--- /dev/null
+++ b/lux-lein/src/leiningen/luxc/compiler.clj
@@ -0,0 +1,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]")))