aboutsummaryrefslogtreecommitdiff
path: root/lux-lein/src/leiningen/luxc/compiler.clj
diff options
context:
space:
mode:
authorEduardo Julian2016-12-01 11:00:44 -0400
committerEduardo Julian2016-12-01 11:00:44 -0400
commit7f66c54f4c9753b94dbf46ec50b8b16549daf324 (patch)
tree1b5b896cfba870a66a99a03315b09df842eb5737 /lux-lein/src/leiningen/luxc/compiler.clj
parent9c30546af022f8fe36b73e7e93414257ff28ee75 (diff)
- Collected the Lux compiler's repo, the Standard Library's, the Leiningen plugin's and the Emacs mode's into a big monorepo, to keep development unified.
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]")))