diff --git a/.gitignore b/.gitignore
index a50c246a..448482cc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,5 @@
.DS_Store
AIRAliases.js
AIRIntrospector.js
+/lib/
+.c9settings.xml
\ No newline at end of file
diff --git a/README.md b/README.md
index d6df31d0..b7ac8bc0 100644
--- a/README.md
+++ b/README.md
@@ -13,14 +13,16 @@ A very light clientside JSON document store.
adaptor ......... device browsers supported ............ desktop browsers supported ....
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
webkitsqlite .... iPhone OS, Android 2.0, Palm webOS ... Safari, Chrome ................
- gearssqlite ..... Android 1.5, 1.7 ..................... Whenever gears is present .....
+ gearssqlite ..... Android 1.5, 1.6, BlackBerry 5.0+..... Whenever gears is present .....
domStorage ...... iPhone OS, Android 2.0, Palm webOS ... IE, Firefox, Safari, Chrome ...
cookie .......... Presumably all of em ................. Presumably all of em ..........
userdata ........ IE ................................... IE ............................
air-async ....... Adobe Air ............................ Adobe Air .....................
air ............. Adobe Air ............................ Adobe Air .....................
- blackberry ...... BlackBerry 4.7 and higher ............ N/A ...........................
+ blackberry ...... BlackBerry 4.7 and higher w/ PhoneGap. N/A ...........................
couchdb ......... All .................................. All ...........................
+ server .......... All .................................. All ...........................
+ auto ............ All .................................. All ...........................
INSTALL
===
@@ -35,11 +37,25 @@ Lawnchair does not assume how you want to use it. At a minimum will be required
- One of the adaptor js files can found in `./src/adaptors`.
- Adobe AIR adaptor example xml config files can be found in `./util`.
- CouchDB adaptor requires the http://localhost:5984/_utils/script/couch.js lib.
+- Server adaptor requires a server-side API; see top of ServerAdaptor.js for more details.
+- Auto adaptor (actual filename is BeachfrontAdaptor) tries to detect and load other adaptor.
-Its probably a good idea to concat/minify the js you require. Its a common request to
+Its probably a good idea to concat/minify the js you require (see below). Its a common request to
provide a single file that does some sort of feature detection which, in theory, is nice
but in practice its far more efficient to only load what you need (especially on mobile).
+BUILDING
+===
+Run ./build from your terminal and provide the list of adapters you want to include in your final
+Lawnchair build. Does a bit of fuzzy (suffix) matching for you. Examples:
+
+ ./build air blackberry
+ ./build webkit dom
+
+The first will build a Lawnchair with both AIR adapters plus the BlackBerry one. The second will
+build a Lawnchair with WebKitSQLite support as well as DOMStorage support.
+
+
TESTING
===
diff --git a/build b/build
new file mode 100755
index 00000000..bdc32960
--- /dev/null
+++ b/build
@@ -0,0 +1,41 @@
+#!/bin/bash
+# Help
+
+help() {
+ echo "------ usage --------------------------------------------------";
+ echo "| build [adapter1 [adapter 2 [...]]] |";
+ echo "------ description --------------------------------------------";
+ echo "| Builds lawnchair with the specified adapters. Does a |";
+ echo "| wildcard suffix search based on the adapter arguments you |";
+ echo "| provide. Builds to lc-prod.js in current directory. |";
+ echo "|----- list of adapters --------------------------------------|";
+ echo "| AIRSqlite |";
+ echo "| AIRSqliteAsync |";
+ echo "| BlackBerry |";
+ echo "| Cookie |";
+ echo "| Couch |";
+ echo "| DOMStorage |";
+ echo "| GearsSQLite |";
+ echo "| Server |";
+ echo "| UserData |";
+ echo "| WebKitSqlite |";
+ echo "---------------------------------------------------------------";
+}
+if [ $# -lt 1 ]
+then
+ help;
+ echo "ERROR: You need to provide at least one adapter as argument.";
+else
+ echo "Including base Lawnchair JS...";
+ adapterSrc="src/Lawnchair.js src/adaptors/LawnchairAdaptorHelpers.js";
+ for arg in "$@"
+ do
+ for file in $(find src/adaptors -type f -iname $arg*)
+ do
+ echo "Adding adapter '$file' to lc_prod.js...";
+ adapterSrc="$adapterSrc $file";
+ done
+ done
+ cat $adapterSrc > lc_prod.js;
+ echo "... done.";
+fi
diff --git a/spec/public/adaptors/air-async.html b/spec/public/adaptors/air-async.html
index c33e002e..3cf32d3b 100644
--- a/spec/public/adaptors/air-async.html
+++ b/spec/public/adaptors/air-async.html
@@ -12,7 +12,8 @@