diff options
Diffstat (limited to 'Chalice/make.py')
-rw-r--r-- | Chalice/make.py | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Chalice/make.py b/Chalice/make.py new file mode 100644 index 00000000..e3ba1ab9 --- /dev/null +++ b/Chalice/make.py @@ -0,0 +1,35 @@ +import os
+import glob
+import sys
+import datetime
+
+bindir = "bin"
+
+srcspecs = ["src\\*.scala"]
+srcfiles = [file for spec in srcspecs for file in glob.glob(spec)]
+
+buildstamp = "makestamp"
+
+lastbuild = None
+if os.path.exists(buildstamp):
+ lastbuild = os.path.getmtime(buildstamp)
+
+changedfiles = [file for file in srcfiles if not lastbuild or lastbuild <= os.path.getmtime(file)]
+
+if not changedfiles:
+ print "Build is up-to-date."
+ sys.exit(0)
+
+def printtime():
+ print datetime.datetime.now().strftime("%H:%M:%S")
+
+printtime()
+cmd = "scalac -d bin -unchecked -deprecation " + " ".join(changedfiles) + " & if errorlevel 1 exit 1"
+print cmd
+result = os.system(cmd)
+printtime()
+
+if result == 0:
+ open(buildstamp, "w").close()
+else:
+ print "Build failed."
|