From e759f620f21787b44acedcf1ef84ed7477328fd9 Mon Sep 17 00:00:00 2001
From: Cam Saul <cammsaul@gmail.com>
Date: Mon, 19 Nov 2018 16:51:18 -0800
Subject: [PATCH] Revert tree-shaking

---
 project.clj           | 16 +---------------
 src/metabase/util.clj |  8 ++++++++
 2 files changed, 9 insertions(+), 15 deletions(-)

diff --git a/project.clj b/project.clj
index 1ad6c048fb4..2024140e5c8 100644
--- a/project.clj
+++ b/project.clj
@@ -121,17 +121,6 @@
              "-Djava.awt.headless=true"]                              ; prevent Java icon from randomly popping up in dock when running `lein ring server`
   :javac-options ["-target" "1.8", "-source" "1.8"]
   :uberjar-name "metabase.jar"
-  :uberjar-exclusions [
-                       #_#"\.clj(c)?$"
-                       #"project\.clj$"
-                       #"\.java$"
-                       #"\.md$"
-                       #"README\.\w{2,3}$"
-                       #"\.js\.map$"
-                       #"\.css\.map$"
-                       #"pom\.xml$"
-                       #"pom\.properties$"
-                       #"package\.html$"]
   :ring {:handler metabase.core/app
          :init metabase.core/init!
          :destroy metabase.core/destroy
@@ -184,10 +173,7 @@
                                        "-Dmb.api.key=test-api-key"
                                        "-Duser.language=en"]}
              ;; build the uberjar with `lein uberjar`
-             :uberjar {:aot :all
-                       :jvm-opts ["-Dclojure.compiler.elide-meta=[:doc :added :file :line]"]
-                       ;; it seems like this only works for Metabase and not for dependencies
-                       :omit-source true}
+             :uberjar {:aot :all}
              ;; generate sample dataset with `lein generate-sample-dataset`
              :generate-sample-dataset {:dependencies [[faker "0.2.2"]]                   ; Fake data generator -- port of Perl/Ruby library
                                        :source-paths ["sample_dataset"]
diff --git a/src/metabase/util.clj b/src/metabase/util.clj
index db174794048..7ca85145bbf 100644
--- a/src/metabase/util.clj
+++ b/src/metabase/util.clj
@@ -23,6 +23,14 @@
 ;; It shows up a solid 10-15 seconds before the "Starting Metabase in STANDALONE mode" message because so many other namespaces need to get loaded
 (log/info (trs "Loading Metabase..."))
 
+;; Log the maximum memory available to the JVM at launch time as well since it is very handy for debugging things
+(log/info (trs "Maximum memory available to JVM: {0}"
+               (loop [mem (.maxMemory (Runtime/getRuntime)), [suffix & more] ["B" "KB" "MB" "GB"]]
+                 (if (and (seq more)
+                          (>= mem 1024))
+                   (recur (/ mem 1024.0) more)
+                   (format "%.1f %s" mem suffix)))))
+
 ;; Set the default width for pprinting to 200 instead of 72. The default width is too narrow and wastes a lot of space
 ;; for pprinting huge things like expanded queries
 (intern 'clojure.pprint '*print-right-margin* 200)
-- 
GitLab