Moves logic that was in the deploy script into the build script.
authordsc <david.schoonover@gmail.com>
Sun, 9 Jan 2011 05:22:02 +0000 (21:22 -0800)
committerdsc <david.schoonover@gmail.com>
Sun, 9 Jan 2011 05:22:02 +0000 (21:22 -0800)
.gitignore
bin/deploy.sh
pavement.py
www/build.html [new file with mode: 0644]
www/deps.html [deleted file]
www/scripts.html
www/scripts.php

index 0afc988..dd91076 100644 (file)
@@ -2,6 +2,9 @@ tmp/
 build/
 .commonjs
 *.md.html
-*.pyc
-www/versioned-deps.html
+*.py[co]
 google74dcf785afbc60e0.html
+deps.html
+versioned-deps.html
+versioned-build.html
+
index 11fd870..9ea6ba2 100755 (executable)
@@ -29,7 +29,6 @@ Options:
     -v              Verbose
     -n              Dry-run
     -C              Clean before rebuilding
-    -G              Only emit the deploy version (Git commit abbreviation: $GIT_VERSION)
 HALP
 }
 
@@ -47,17 +46,11 @@ while getopts ":vnCG" opt; do
         v ) VERBOSE="-v";        incshift ;;
         n ) DRY_RUN="--dry-run"; incshift ;;
         C ) CLEAN="--clean";     incshift ;;
-        G ) GIT_VERSION_ONLY=1;  incshift ;;
         * ) fail "Unknown option: $OPTARG" ;;
     esac
 done
 shift $SHIFT
 
-if test "$GIT_VERSION_ONLY"; then
-    echo "$GIT_VERSION"
-    exit
-fi
-
 cat <<-SWEET_ART
  .__                                                __, 
 ,/__\=:   The Littlest Deployer of Battletanks   :=/__\.
@@ -81,8 +74,6 @@ fi
 
 printf "Building and generating dep-graph...\t"
 paver -q build || fail "Error building modules!"
-echo "<script>BUILD='$GIT_VERSION';</script>" > www/versioned-deps.html
-sed -E 's|src="build/([^"]+)"|src="build/'$GIT_VERSION'/\1"|' www/deps.html >> www/versioned-deps.html
 echo "hokay"
 
 printf "Uploading files...\t\t\t"
index c8acb1a..f9866ca 100755 (executable)
@@ -5,6 +5,8 @@ import yaml, json, os, sys
 BUILD_DIR = path('build')
 SRC_DIRS = [ path('src')/d for d in ('Y', 'ezl', 'tanks') ]
 DATA_DIR = path('data')
+TAGS = None
+GIT_VERSION = sh("git show --oneline . | head -n1 | cut -d ' ' -f 1", capture=True).strip()
 
 
 def commonjs(*args, **kw):
@@ -19,10 +21,18 @@ def commonjs(*args, **kw):
         if v is not True: kwargs.append(str(v))
     return sh('commonjs %s' % ' '.join( SRC_DIRS + kwargs + list(args)), capture=capture)
 
+def sourceTags(tags=None):
+    global TAGS
+    if tags is not None:
+        TAGS = tags
+    elif TAGS is None:
+        with path('build/deps.html').open('rU') as f:
+            TAGS = f.read()
+    return TAGS
 
 @task
 def build_data():
-    "Convert all yaml files to json"
+    "Converts all data files and core injects config."
     info('Building data files...')
     for dirpath, dirs, files in os.walk(DATA_DIR):
         indir  = path(dirpath)
@@ -47,25 +57,41 @@ def build_data():
 
 @task
 def build_scripts():
-    "Builds js modules"
+    "Builds js modules."
     info('Building scripts...')
     sh('rm build/tanks/config.js')
-    tags = commonjs(script_tags=True, capture=True)
-    with path('www/deps.html').open('w') as f:
+    tags = sourceTags( commonjs(script_tags=True, capture=True) )
+    with path('build/deps.html').open('w') as f:
         f.write(tags)
 
 @task
+def update_version():
+    "Updates dependency file and build version file."
+    tags = sourceTags()
+    info('Build Version: {}'.format(GIT_VERSION))
+    with path('build/versioned-deps.html').open('w') as f:
+        f.write(tags.replace('src="build/', 'src="build/{}/'.format(GIT_VERSION)))
+    with path('build/versioned-build.html').open('w') as f:
+        f.write('<script>BUILD="build/{}";</script>\n'.format(GIT_VERSION))
+
+@task
+def build_version():
+    "Displays build version only (use -q to suppress paver garbage)."
+    print GIT_VERSION
+
+@task
+@needs('update_version')
 @needs('build_data')
 @needs('build_scripts')
 def build():
     "Builds the Tanks project"
     pass
 
-
 @task
 def clean():
     "Cleans dep cache and build files"
     commonjs(clean=True)
     build()
 
+
 default = build
diff --git a/www/build.html b/www/build.html
new file mode 100644 (file)
index 0000000..ddd91cf
--- /dev/null
@@ -0,0 +1 @@
+<script>BUILD="build";</script>
diff --git a/www/deps.html b/www/deps.html
deleted file mode 100644 (file)
index 817a88d..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-<script src="build/require.js" type="text/javascript"></script>
-<script src="build/future.js" type="text/javascript"></script>
-<script src="build/functional/to-function.js" type="text/javascript"></script>
-<script src="build/Y/type.js" type="text/javascript"></script>
-<script src="build/Y/internal.js" type="text/javascript"></script>
-<script src="build/Y/core.js" type="text/javascript"></script>
-<script src="build/Y/delegate.js" type="text/javascript"></script>
-<script src="build/Y/types/function.js" type="text/javascript"></script>
-<script src="build/Y/op.js" type="text/javascript"></script>
-<script src="build/Y/utils.js" type="text/javascript"></script>
-<script src="build/Y/class.js" type="text/javascript"></script>
-<script src="build/Y/y.js" type="text/javascript"></script>
-<script src="build/Y/types/collection.js" type="text/javascript"></script>
-<script src="build/Y/types/array.js" type="text/javascript"></script>
-<script src="build/Y/types/object.js" type="text/javascript"></script>
-<script src="build/Y/types/string.js" type="text/javascript"></script>
-<script src="build/Y/types/number.js" type="text/javascript"></script>
-<script src="build/Y.js" type="text/javascript"></script>
-<script src="build/jquery.js" type="text/javascript"></script>
-<script src="build/jquery.sparkline.js" type="text/javascript"></script>
-<script src="build/Y/modules/y.event.js" type="text/javascript"></script>
-<script src="build/ezl/util.js" type="text/javascript"></script>
-<script src="build/ezl/layer.js" type="text/javascript"></script>
-<script src="build/ezl/loop/fps.js" type="text/javascript"></script>
-<script src="build/ezl/math/vec.js" type="text/javascript"></script>
-<script src="build/ezl/loop/cooldown.js" type="text/javascript"></script>
-<script src="build/ezl/loop/eventloop.js" type="text/javascript"></script>
-<script src="build/evt.js" type="text/javascript"></script>
-<script src="build/ezl/loc/loc.js" type="text/javascript"></script>
-<script src="build/ezl/math/line.js" type="text/javascript"></script>
-<script src="build/ezl/math/rect.js" type="text/javascript"></script>
-<script src="build/ezl/math.js" type="text/javascript"></script>
-<script src="build/ezl/loc/boundingbox.js" type="text/javascript"></script>
-<script src="build/ezl/loop/fx.js" type="text/javascript"></script>
-<script src="build/ezl/layer/layer.js" type="text/javascript"></script>
-<script src="build/ezl/loop.js" type="text/javascript"></script>
-<script src="build/ezl/loc/square.js" type="text/javascript"></script>
-<script src="build/ezl/loc.js" type="text/javascript"></script>
-<script src="build/ezl/widget/cooldown.js" type="text/javascript"></script>
-<script src="build/ezl/shape/shape.js" type="text/javascript"></script>
-<script src="build/ezl/shape/line.js" type="text/javascript"></script>
-<script src="build/ezl/shape/polygon.js" type="text/javascript"></script>
-<script src="build/ezl/widget.js" type="text/javascript"></script>
-<script src="build/ezl/shape/rect.js" type="text/javascript"></script>
-<script src="build/ezl/shape/circle.js" type="text/javascript"></script>
-<script src="build/ezl/shape.js" type="text/javascript"></script>
-<script src="build/ezl.js" type="text/javascript"></script>
-<script src="build/tanks/globals.js" type="text/javascript"></script>
-<script src="build/jquery.hotkeys.js" type="text/javascript"></script>
-<script src="build/jquery.masonry.js" type="text/javascript"></script>
-<script src="build/Y/modules/y.kv.js" type="text/javascript"></script>
-<script src="build/ezl/util/tree/binaryheap.js" type="text/javascript"></script>
-<script src="build/tanks/constants.js" type="text/javascript"></script>
-<script src="build/ezl/util/tree/quadtree.js" type="text/javascript"></script>
-<script src="build/Y/modules/y.scaffold.js" type="text/javascript"></script>
-<script src="build/Y/modules/y.config.js" type="text/javascript"></script>
-<script src="build/tanks/effects/stat.js" type="text/javascript"></script>
-<script src="build/tanks/map/map.js" type="text/javascript"></script>
-<script src="build/tanks/map/traversal.js" type="text/javascript"></script>
-<script src="build/Y/modules/y.cookies.js" type="text/javascript"></script>
-<script src="build/ezl/util/data/datafile.js" type="text/javascript"></script>
-<script src="build/ezl/util/data/loader.js" type="text/javascript"></script>
-<script src="build/tanks/mixins/speciated.js" type="text/javascript"></script>
-<script src="build/tanks/mixins/meronomic.js" type="text/javascript"></script>
-<script src="build/tanks/config.js" type="text/javascript"></script>
-<script src="build/tanks/ui/configui.js" type="text/javascript"></script>
-<script src="build/tanks/mixins/quantified.js" type="text/javascript"></script>
-<script src="build/tanks/thing/thing.js" type="text/javascript"></script>
-<script src="build/tanks/effects/buff.js" type="text/javascript"></script>
-<script src="build/tanks/map/trajectory.js" type="text/javascript"></script>
-<script src="build/tanks/effects.js" type="text/javascript"></script>
-<script src="build/tanks/thing/item.js" type="text/javascript"></script>
-<script src="build/tanks/thing/wall.js" type="text/javascript"></script>
-<script src="build/tanks/ui/grid.js" type="text/javascript"></script>
-<script src="build/tanks/fx/explosion.js" type="text/javascript"></script>
-<script src="build/tanks/thing/bullet.js" type="text/javascript"></script>
-<script src="build/tanks/map/pathmap.js" type="text/javascript"></script>
-<script src="build/tanks/mixins/inventoried.js" type="text/javascript"></script>
-<script src="build/tanks/fx.js" type="text/javascript"></script>
-<script src="build/tanks/thing/tank.js" type="text/javascript"></script>
-<script src="build/tanks/ui/pathmapui.js" type="text/javascript"></script>
-<script src="build/tanks/mixins.js" type="text/javascript"></script>
-<script src="build/tanks/thing/player.js" type="text/javascript"></script>
-<script src="build/tanks/map/level.js" type="text/javascript"></script>
-<script src="build/tanks/thing.js" type="text/javascript"></script>
-<script src="build/tanks/map.js" type="text/javascript"></script>
-<script src="build/tanks/game.js" type="text/javascript"></script>
-<script src="build/tanks/ui/main.js" type="text/javascript"></script>
-<script src="build/tanks/ui.js" type="text/javascript"></script>
-<script src="build/tanks.js" type="text/javascript"></script>
index a09ca20..d71deaf 100644 (file)
@@ -1,4 +1,5 @@
 <div id="scripts">
-<!--# include file="versioned-deps.html" -->
+<!--# include file="build/versioned-build.html" -->
+<!--# include file="build/versioned-deps.html" -->
 <!--# include file="ga.html" -->
 </div>
index a7e0016..4355a6f 100644 (file)
@@ -5,8 +5,9 @@ require "commonjs.php";
 $errors = commonjs('src/{Y,ezl,tanks}');
 if ($errors) echo "<pre>$errors</pre>";
 
-// Precompiled dependency list
-require "deps.html";
+// Compiled dependency list
+require "build.html";
+require "build/deps.html";
 
 ?>
 </div>
\ No newline at end of file