tuscany-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jsdelf...@apache.org
Subject svn commit: r1189069 - in /tuscany/sca-cpp/trunk: ./ macos/ modules/edit/ modules/edit/htdocs/ modules/edit/htdocs/app/ modules/edit/htdocs/graph/ modules/edit/htdocs/notauth/ modules/edit/htdocs/notfound/ modules/edit/htdocs/notyet/ modules/edit/htdoc...
Date Wed, 26 Oct 2011 08:11:37 GMT
Author: jsdelfino
Date: Wed Oct 26 08:11:35 2011
New Revision: 1189069

URL: http://svn.apache.org/viewvc?rev=1189069&view=rev
Log:
Use Page Speed to minify Web resources at build time, and a few more improvements to the offline support.

Added:
    tuscany/sca-cpp/trunk/modules/http/minify-css   (contents, props changed)
      - copied, changed from r1188045, tuscany/sca-cpp/trunk/modules/js/Makefile.am
    tuscany/sca-cpp/trunk/modules/http/minify-html   (contents, props changed)
      - copied, changed from r1188045, tuscany/sca-cpp/trunk/modules/js/Makefile.am
    tuscany/sca-cpp/trunk/modules/http/minify-js   (contents, props changed)
      - copied, changed from r1188045, tuscany/sca-cpp/trunk/modules/js/Makefile.am
Removed:
    tuscany/sca-cpp/trunk/modules/js/htdocs/all-min.js
    tuscany/sca-cpp/trunk/modules/js/htdocs/ui-min.css
Modified:
    tuscany/sca-cpp/trunk/.gitignore
    tuscany/sca-cpp/trunk/configure.ac
    tuscany/sca-cpp/trunk/macos/macos-install
    tuscany/sca-cpp/trunk/modules/edit/Makefile.am
    tuscany/sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf
    tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html
    tuscany/sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf
    tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html
    tuscany/sca-cpp/trunk/modules/edit/htdocs/index.html
    tuscany/sca-cpp/trunk/modules/edit/htdocs/notauth/index.html
    tuscany/sca-cpp/trunk/modules/edit/htdocs/notfound/index.html
    tuscany/sca-cpp/trunk/modules/edit/htdocs/notyet/index.html
    tuscany/sca-cpp/trunk/modules/edit/htdocs/oops/index.html
    tuscany/sca-cpp/trunk/modules/edit/htdocs/page/index.html
    tuscany/sca-cpp/trunk/modules/http/Makefile.am
    tuscany/sca-cpp/trunk/modules/http/httpd-conf
    tuscany/sca-cpp/trunk/modules/js/Makefile.am
    tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
    tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all

Modified: tuscany/sca-cpp/trunk/.gitignore
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/.gitignore?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/.gitignore (original)
+++ tuscany/sca-cpp/trunk/.gitignore Wed Oct 26 08:11:35 2011
@@ -58,6 +58,9 @@ config.sub
 config.status
 *config.js
 all.js
+*-min.html
+*-min.js
+*-min.css
 intro*.png
 intro*.b64
 depcomp

Modified: tuscany/sca-cpp/trunk/configure.ac
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/configure.ac?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/configure.ac (original)
+++ tuscany/sca-cpp/trunk/configure.ac Wed Oct 26 08:11:35 2011
@@ -405,6 +405,45 @@ else
   AM_CONDITIONAL([WANT_PYTHON], false)
 fi
 
+# Configure path to Page Speed.
+AC_MSG_CHECKING([for pagespeed])
+AC_ARG_WITH([pagespeed], [AC_HELP_STRING([--with-pagespeed=PATH], [path to installed Page Speed [default=/usr/bin]])], [
+  PAGESPEED_PREFIX="${withval}"
+  AC_MSG_RESULT("${withval}")
+], [
+  PAGESPEED_PREFIX="/usr/bin"
+  AC_MSG_RESULT(/usr/bin)
+])
+AC_SUBST(PAGESPEED_PREFIX)
+
+# Enable Page Speed optimizations.
+AC_MSG_CHECKING([whether to run Page Speed optimizations])
+AC_ARG_ENABLE(pagespeed, [AS_HELP_STRING([--enable-pagespeed], [run Page Speed optimizations [default=no]])],
+[ case "${enableval}" in
+  no)
+    AC_MSG_RESULT(no)
+    ;;
+  *)
+    AC_MSG_RESULT(yes)
+    want_pagespeed=true
+    ;;
+  esac ],
+[ AC_MSG_RESULT(no)])
+if test "${want_pagespeed}" = "true"; then
+    AC_PATH_PROG(MINIFY_HTML, minify_html_bin, , ${PAGESPEED_PREFIX})
+    if test "${MINIFY_HTML}" = ""; then
+      AC_MSG_ERROR([could not find Page Speed minify_html_bin])
+    fi
+    AC_PATH_PROG(MINIFY_JS, jsmin_bin, , ${PAGESPEED_PREFIX})
+    if test "${MINIFY_JS}" = ""; then
+      AC_MSG_ERROR([could not find Page Speed jsmin_bin])
+    fi
+  AM_CONDITIONAL([WANT_PAGESPEED], true)
+  AC_DEFINE([WANT_PAGESPEED], 1, [run Page Speed optimizations])
+else
+  AM_CONDITIONAL([WANT_PAGESPEED], false)
+fi
+
 # Enable OpenCL support.
 AC_MSG_CHECKING([whether to enable OpenCL support])
 AC_ARG_ENABLE(opencl, [AS_HELP_STRING([--enable-opencl], [enable OpenCL support [default=no]])],

Modified: tuscany/sca-cpp/trunk/macos/macos-install
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/macos/macos-install?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/macos/macos-install (original)
+++ tuscany/sca-cpp/trunk/macos/macos-install Wed Oct 26 08:11:35 2011
@@ -285,6 +285,16 @@ if [ "$?" != "0" ]; then
 fi
 cd $build
 
+# Build Google Page Speed
+curl -OL https://dl-ssl.google.com/page-speed/sdk/current/page-speed-sdk.zip
+unzip page-speed-sdk.zip
+cd page-speed-1.9
+make builddir=$build/page-speed-1.9-bin
+if [ "$?" != "0" ]; then
+    exit $?
+fi
+cd $build
+
 # Build Apache Nuvem
 git clone git://git.apache.org/nuvem.git
 if [ "$?" != "0" ]; then
@@ -296,7 +306,7 @@ cd $build
 git clone git://git.apache.org/tuscany-sca-cpp.git
 cd tuscany-sca-cpp
 ./bootstrap
-./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.7-bin --with-tinycdb=$build/tinycdb-bin --with-leveldb=$build/leveldb --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --enable-opencl --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.1-bin
+./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.7-bin --with-tinycdb=$build/tinycdb-bin --with-leveldb=$build/leveldb --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --enable-pagespeed --with-pagespeed=$build/page-speed-1.9-bin --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --enable-opencl --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.1-bin
 make
 make install
 if [ "$?" != "0" ]; then
@@ -305,8 +315,8 @@ fi
 cd $build
 
 # Create src archive
-tar czf tuscany-sca-cpp-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin autoconf-2.13 autoconf-2.13-bin autoconf-2.13.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz libcloud-0.4.2-bin libevent-2.0.13-stable libevent-2.0.13-stable-bin libevent-2.0.13-stable.tar.gz liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.7 memcached-1.4.7-bin memcached-1.4.7.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.1 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.1 modsecurity-crs_2.2.1.tar.gz nspr-4.8.8-bin nspr-4.8.8 nspr-4.8.8.tar.gz nuvem pcre-8.12 pcre-8.12-bin pcre-8.12.zip pkg-confi
 g-0.25 pkg-config-0.25-bin pkg-config-0.25.tar.gz tidy tinycdb tinycdb-bin leveldb tuscany-sca-cpp tuscany-sca-cpp-bin
+tar czf tuscany-sca-cpp-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin autoconf-2.13 autoconf-2.13-bin autoconf-2.13.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz libcloud-0.4.2-bin libevent-2.0.13-stable libevent-2.0.13-stable-bin libevent-2.0.13-stable.tar.gz liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.7 memcached-1.4.7-bin memcached-1.4.7.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.1 modsecurity-apache-2.6.0-bin modsecurity-apache_2.6.0.tar.gz modsecurity-crs_2.2.1 modsecurity-crs_2.2.1.tar.gz nspr-4.8.8-bin nspr-4.8.8 nspr-4.8.8.tar.gz nuvem page-speed-1.9 page-speed-1.9-bin page-speed-sd
 k.zip pcre-8.12 pcre-8.12-bin pcre-8.12.zip pkg-config-0.25 pkg-config-0.25-bin pkg-config-0.25.tar.gz tidy tinycdb tinycdb-bin leveldb tuscany-sca-cpp tuscany-sca-cpp-bin
 
 # Create bin archive
-tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.x-bin curl-7.19.5-bin expat-2.0.1-bin htmltidy-bin httpd-2.3.10-bin js-1.8.5-bin libcloud-0.4.2-bin libevent-2.0.13-stable-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.7-bin mod-auth-openid-bin modsecurity-apache-2.6.1-bin nspr-4.8.8-bin nuvem/nuvem-parallel pcre-8.12-bin tinycdb-bin leveldb tuscany-sca-cpp tuscany-sca-cpp-bin
+tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.x-bin curl-7.19.5-bin expat-2.0.1-bin htmltidy-bin httpd-2.3.10-bin js-1.8.5-bin libcloud-0.4.2-bin libevent-2.0.13-stable-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.7-bin mod-auth-openid-bin modsecurity-apache-2.6.1-bin nspr-4.8.8-bin nuvem/nuvem-parallel page-speed-1.9-bin pcre-8.12-bin tinycdb-bin leveldb tuscany-sca-cpp tuscany-sca-cpp-bin
 

Modified: tuscany/sca-cpp/trunk/modules/edit/Makefile.am
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/Makefile.am?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/Makefile.am (original)
+++ tuscany/sca-cpp/trunk/modules/edit/Makefile.am Wed Oct 26 08:11:35 2011
@@ -21,6 +21,20 @@ moddir = $(prefix)/modules/edit
 dist_mod_SCRIPTS = start stop ssl-start mkapplinks
 
 nobase_dist_mod_DATA = edit.composite *.py htdocs/*.html htdocs/*.js htdocs/*.cmf htdocs/*.ico htdocs/home/*.png htdocs/home/*.b64 htdocs/*.txt htdocs/account/*.html htdocs/create/*.html htdocs/clone/*.html htdocs/app/*.html htdocs/store/*.html htdocs/stats/*.html htdocs/graph/*.html htdocs/home/*.html htdocs/page/*.html htdocs/login/*.html htdocs/logout/*.html htdocs/notauth/*.html htdocs/notfound/*.html htdocs/oops/*.html htdocs/public/*.html htdocs/public/*.png htdocs/public/*.b64 palettes/*/palette.composite apps/*/app.composite apps/*/app.stats apps/*/htdocs/app.html dashboards/*/user.apps store/*/store.apps
+
 EXTRA_DIST = edit.composite *.py htdocs/*.html htdocs/*.js htdocs/*.cmf htdocs/*.ico htdocs/home/*.png htdocs/home/*.b64 htdocs/*.txt htdocs/account/*.html htdocs/create/*.html htdocs/clone/*.html htdocs/app/*.html htdocs/store/*.html htdocs/stats/*.html htdocs/graph/*.html htdocs/home/*.html htdocs/page/*.html htdocs/login/*.html htdocs/logout/*.html htdocs/notauth/*.html htdocs/notfound/*.html htdocs/oops/*.html htdocs/public/*.html htdocs/public/*.png htdocs/public/*.b64 palettes/*/palette.composite apps/*/app.composite apps/*/app.stats apps/*/htdocs/app.html dashboards/*/user.apps store/*/store.apps
 
+BUILT_SOURCES = minify_html.stamp minify_js.stamp
+minify_html.stamp: htdocs/*.html htdocs/*/*.html
+	find htdocs -name "*-min.html" -exec rm {} \;
+	find htdocs -name "*.html" -exec ../http/minify-html {} \;
+	touch minify_html.stamp
+
+minify_js.stamp: htdocs/*.js
+	find htdocs -name "*-min.js" -exec rm {} \;
+	find htdocs -name "*.js" -exec ../http/minify-js {} \;
+	touch minify_js.stamp
+
+CLEANFILES = *.stamp
+
 endif

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/app/cache-manifest.cmf Wed Oct 26 08:11:35 2011
@@ -9,7 +9,7 @@ CACHE MANIFEST
 /notfound/
 /notyet/
 /oops/
-/public/iframe.html
+/public/iframe-min.html
 /public/img.png
 /public/touchicon.png
 

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/app/index.html Wed Oct 26 08:11:35 2011
@@ -77,7 +77,7 @@ appcache.get = function(uri) {
 <div id="headdiv" class="hsection">
 <script type="text/javascript">
 (function() {
-$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig.js')));
+$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig-min.js')));
 })();
 </script>
 </div>
@@ -96,8 +96,9 @@ document.title = location.hostname.split
 var contentdiv = $('content');
 
 /**
- * Start, stop, timer, animation and location components.
+ * Initialize the app HTTP clients.
  */
+var pagecomp = sca.httpclient('page', '');
 var startcomp = sca.httpclient('start', '/start');
 var stopcomp = sca.httpclient('stop', '/stop');
 var timercomp = sca.httpclient('timer', '/timer');
@@ -109,10 +110,9 @@ var locationcomp = sca.httpclient('locat
  */
 var appresources = [
     ['/all-min.js'],
-    ['/app.html'],
     ['/ui-min.css'],
-    ['/footconfig.js'],
-    ['/headconfig.js'],
+    ['/footconfig-min.js'],
+    ['/headconfig-min.js'],
 ];
 
 /**
@@ -266,12 +266,12 @@ function setwidgetvalue(e, dv) {
 
                 // Define the stylesheet
                 if (s != '') {
-                    var esheet = contentdiv.getElementById('style_' + e.id);
+                    var esheet = ui.elementByID(contentdiv, 'style_' + e.id);
                     if (isNil(esheet)) {
                         var nesheet = document.createElement('style');
                         nesheet.id = 'style_' + e.id;
                         nesheet.type = 'text/css';
-                        contentdiv.getElementsByTagName('head')[0].appendChild(nesheet);
+                        document.head.appendChild(nesheet);
                         nesheet.innerHTML = s;
                     } else {
                         esheet.innerHTML = s;
@@ -526,18 +526,6 @@ function initwidget(e) {
 }
 
 /**
- * Get document from a component.
- */
-function getdoc(comp, name, uri) {
-    try {
-        return comp.getnocache(uri);
-    } catch(e) {
-        log('exception on get(' + name + ', ' + uri + ')', e);
-        return null;
-    }
-}
-
-/**
  * Get app data from the main app page component.
  */
 function getpagedata() {
@@ -567,19 +555,48 @@ function getpagedata() {
             bindwidgethandler(e);
         }
 
-        // Get the component app data
-        var doc = getdoc(startcomp, 'start', location.search);
-
         // Setup the widgets
         map(setupwidget, filter(function(e) { return !isNil(e.id); }, nodeList(ui.elementByID(contentdiv, 'page').childNodes)));
 
-        // Display data on the page
-        displaypage(doc);
+        // Get the component app data
+        startcomp.get(location.search, function(doc, e) {
+            if (isNil(doc)) {
+                log('exception on get(start, ' + location.search + ')', e);
+                return false;
+            }
+
+            // Display data on the page
+            displaypage(doc);
+        });
 
         // Get and eval the optional timer, animation and location watch setup scripts
-        evalcompinit(getdoc(timercomp, 'timer', 'setup'));
-        evalcompinit(getdoc(animationcomp, 'animation', 'setup'));
-        evalcompinit(getdoc(locationcomp, 'location', 'setup'));
+        timercomp.get('setup', function(doc, e) {
+            if (isNil(doc)) {
+                log('exception on get(timer, setup)', e);
+                return false;
+            }
+
+            // Evaluate the component init expression
+            return evalcompinit(doc);
+        });
+        animationcomp.get('setup', function(doc, e) {
+            if (isNil(doc)) {
+                log('exception on get(animation, setup)', e);
+                return false;
+            }
+
+            // Evaluate the component init expression
+            return evalcompinit(doc);
+        });
+        locationcomp.get('setup', function(doc, e) {
+            if (isNil(doc)) {
+                log('exception on get(location, setup)', e);
+                return false;
+            }
+
+            // Evaluate the component init expression
+            return evalcompinit(doc);
+        });
 
         return true;
 
@@ -619,7 +636,16 @@ function compquery() {
  */
 function buttonClickHandler(id) {
     try {
-        return updatepage(docdata(getdoc(sca.component(id), 'button', compquery())));
+        var uri = compquery();
+        return sca.component(id).get(uri, function(doc, e) {
+            if (isNil(doc)) {
+                log('exception on get(button, ' + uri + ')', e);
+                return false;
+            }
+
+            // Inject data into the page
+            updatepage(docdata(doc));
+        });
     } catch(e) {
         log('exception in buttonClickHandler()', e);
         return true;
@@ -631,7 +657,16 @@ function buttonClickHandler(id) {
  */
 function intervalHandler() {
     try {
-        return updatepage(docdata(getdoc(timercomp, 'timer', compquery())));
+        var uri = compquery();
+        return timercomp.get(uri, function(doc, e) {
+            if (isNil(doc)) {
+                log('exception on get(timer, ' + uri + ')', e);
+                return false;
+            }
+
+            // Inject data into the page
+            updatepage(docdata(doc));
+        });
     } catch(e) {
         log('exception in intervalHandler()', e);
         return true;
@@ -655,50 +690,64 @@ function setupIntervalHandler(msec) {
  * Handle an animation event.
  */
 var animationData = null;
+var gettingAnimationData = false;
 var currentAnimationData = null;
 var animationLoop = 0;
 var currentAnimationLoop = 0;
 
 function animationHandler() {
     try {
-        // Get animation data if necessary
-        if (isNil(animationData)) {
-            animationData = docdata(getdoc(animationcomp, 'animation', compquery()));
-            if (isNil(animationData)) {
-                // Retry later
-                return true;
-            }
-            currentAnimationData = animationData;
-            currentAnimationLoop = animationLoop;
-        }
+        function applyAnimation() {
+            // Update page with current animation data
+            updatepage(car(currentAnimationData));
+
+            // End of animation?
+            if (isNil(cdr(currentAnimationData))) {
+                if (currentAnimationLoop == -1) {
+                    // Repeat current animation forever
+                    currentAnimationData = animationData;
+                    return true;
+                }
 
-        // Update page with animation data
-        updatepage(car(currentAnimationData));
+                currentAnimationLoop = currentAnimationLoop - 1;
+                if (currentAnimationLoop <= 0) {
+                    // Get next animation data
+                    currentAnimationData = null;
+                    animationData = null;
+                    return true;
+                }
 
-        // End of animation?
-        if (isNil(cdr(currentAnimationData))) {
-            if (currentAnimationLoop == -1) {
-                // Repeat current animation forever
+                // Repeat animation
                 currentAnimationData = animationData;
                 return true;
             }
 
-            currentAnimationLoop = currentAnimationLoop - 1;
-            if (currentAnimationLoop <= 0) {
-                // Get next animation data
-                currentAnimationData = null;
-                animationData = null;
+            // Move to the next animation frame
+            currentAnimationData = cdr(currentAnimationData);
+            return true;
+        }
+
+        // Get new animation data if necessary
+        if (isNil(animationData)) {
+            if (gettingAnimationData)
                 return true;
-            }
+            var uri = compquery();
+            return animationcomp.get(uri, function(doc, e) {
+                if (isNil(doc)) {
+                    log('exception on get(animation, ' + uri + ')', e);
+                    return false;
+                }
 
-            // Repeat animation
-            currentAnimationData = animationData;
-            return true;
+                // Apply the new animation
+                currentAnimationData = docdata(doc);
+                currentAnimationLoop = animationLoop;
+                gettingAnimationData = false;
+                applyAnimation();
+            });
         }
 
-        // Move to the next animation frame
-        currentAnimationData = cdr(currentAnimationData);
-        return true;
+        // Apply the current animation
+        return applyAnimation();
 
     } catch(e) {
         log('exception in animationHandler()', e);
@@ -729,9 +778,18 @@ var geoposition = null;
 function locationHandler(pos) {
     try {
         geoposition = pos;
-        return updatepage(docdata(getdoc(locationcomp, 'location', compquery())));
+        var uri = compquery();
+        return locationcomp.get(uri, function(doc, e) {
+            if (isNil(doc)) {
+                log('exception on get(location, ' + uri + ')', e);
+                return false;
+            }
+
+            // Inject data into the page
+            updatepage(docdata(doc));
+        });
     } catch(e) {
-        locationErrorHandler(e);
+        return locationErrorHandler(e);
     }
 }
 
@@ -758,6 +816,7 @@ function setupLocationHandler() {
         } catch(e) {
             log('exception in installLocationHandler()', e);
         }
+        return true;
     }
 
     installLocationHandler();
@@ -766,11 +825,19 @@ function setupLocationHandler() {
 }
 
 // Load the app page
-var appcontent = appcache.get('/app.html');
-contentdiv.innerHTML = appcontent;
+pagecomp.get('app.html', function(doc, e) {
+    log('page get');
+    if (isNil(doc)) {
+        log('exception getting app page', e);
+        return false;
+    }
 
-// Merge in the app data
-getpagedata();
+    // Set the app HTML page into the content div
+    contentdiv.innerHTML = doc;
+
+    // Merge in the app data
+    getpagedata();
+});
 
 /**
  * Document load post processing.
@@ -791,7 +858,7 @@ function onload() {
 <div id="footdiv" class="fsection">
 <script type="text/javascript">
 (function() {
-$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig.js')));
+$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig-min.js')));
 })();
 </script>
 </div>

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/cache-manifest.cmf Wed Oct 26 08:11:35 2011
@@ -9,7 +9,7 @@ CACHE MANIFEST
 /notfound/
 /notyet/
 /oops/
-/public/iframe.html
+/public/iframe-min.html
 /public/img.png
 /public/touchicon.png
 

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/graph/index.html Wed Oct 26 08:11:35 2011
@@ -2092,7 +2092,7 @@ function showdata(gcomp) {
 
     // Get the component result data
     var comp = sca.component(gcomp.id, appname);
-    comp.getnocache('', function(doc) {
+    comp.get('', function(doc) {
         function displaydata(t, w) {
             pdiv.style.width = w;
             pdiv.innerHTML = t;

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/index.html?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/index.html Wed Oct 26 08:11:35 2011
@@ -77,7 +77,7 @@ appcache.get = function(uri) {
 <div id="headdiv" class="hsection">
 <script type="text/javascript">
 (function() {
-$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig.js')));
+$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig-min.js')));
 })();
 </script>
 </div>
@@ -117,15 +117,15 @@ var appresources = [
     ['/account/', 'flip'],
     ['/clone/', 'flip'],
     ['/create/', 'flip'],
-    ['/footconfig.js'],
+    ['/footconfig-min.js'],
     ['/graph/', 'flip'],
-    ['/headconfig.js'],
+    ['/headconfig-min.js'],
     ['/home/', 'right'],
     ['/home/home.b64'],
     ['/page/', 'flip'],
     ['/public/app.b64'],
     ['/public/grid72.b64'],
-    ['/public/iframe.html'],
+    ['/public/iframe-min.html'],
     ['/public/img.b64'],
     ['/public/user.b64'],
     ['/stats/', 'flip'],
@@ -427,7 +427,7 @@ function onload() {
 <div id="footdiv" class="fsection">
 <script type="text/javascript">
 (function() {
-$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig.js')));
+$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig-min.js')));
 })();
 </script>
 </div>

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/notauth/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/notauth/index.html?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/notauth/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/notauth/index.html Wed Oct 26 08:11:35 2011
@@ -76,7 +76,7 @@ appcache.get = function(uri) {
 <div id="headdiv" class="hsection">
 <script type="text/javascript">
 (function() {
-$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig.js')));
+$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig-min.js')));
 })();
 </script>
 </div>
@@ -133,7 +133,7 @@ function onload() {
 <div id="footdiv" class="fsection">
 <script type="text/javascript">
 (function() {
-$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig.js')));
+$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig-min.js')));
 })();
 </script>
 </div>

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/notfound/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/notfound/index.html?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/notfound/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/notfound/index.html Wed Oct 26 08:11:35 2011
@@ -76,7 +76,7 @@ appcache.get = function(uri) {
 <div id="headdiv" class="hsection">
 <script type="text/javascript">
 (function() {
-$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig.js')));
+$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig-min.js')));
 })();
 </script>
 </div>
@@ -134,7 +134,7 @@ function onload() {
 <div id="footdiv" class="fsection">
 <script type="text/javascript">
 (function() {
-$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig.js')));
+$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig-min.js')));
 })();
 </script>
 </div>

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/notyet/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/notyet/index.html?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/notyet/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/notyet/index.html Wed Oct 26 08:11:35 2011
@@ -76,7 +76,7 @@ appcache.get = function(uri) {
 <div id="headdiv" class="hsection">
 <script type="text/javascript">
 (function() {
-$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig.js')));
+$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig-min.js')));
 })();
 </script>
 </div>
@@ -134,7 +134,7 @@ function onload() {
 <div id="footdiv" class="fsection">
 <script type="text/javascript">
 (function() {
-$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig.js')));
+$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig-min.js')));
 })();
 </script>
 </div>

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/oops/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/oops/index.html?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/oops/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/oops/index.html Wed Oct 26 08:11:35 2011
@@ -76,7 +76,7 @@ appcache.get = function(uri) {
 <div id="headdiv" class="hsection">
 <script type="text/javascript">
 (function() {
-$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig.js')));
+$('headdiv').appendChild(ui.declareScript(appcache.get('/headconfig-min.js')));
 })();
 </script>
 </div>
@@ -133,7 +133,7 @@ function onload() {
 <div id="footdiv" class="fsection">
 <script type="text/javascript">
 (function() {
-$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig.js')));
+$('footdiv').appendChild(ui.declareScript(appcache.get('/footconfig-min.js')));
 })();
 </script>
 </div>

Modified: tuscany/sca-cpp/trunk/modules/edit/htdocs/page/index.html
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/edit/htdocs/page/index.html?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/edit/htdocs/page/index.html (original)
+++ tuscany/sca-cpp/trunk/modules/edit/htdocs/page/index.html Wed Oct 26 08:11:35 2011
@@ -75,7 +75,7 @@
 </span>
 <span class="link" id="palette:link" style="position: absolute; left: 0px; top: 340px;"><a href="/"><span>link</span></a></span>
 <span class="text" id="palette:text" style="position: absolute; left: 0px; top: 370px;"><span>text</span></span>
-<span class="iframe fakeframe" id="palette:iframe" style="position: absolute; left: 0px; top: 400px; width: 200px;"><a href="/public/iframe.html"><span class="fakeframe"><span>frame ...</span></span></a></span>
+<span class="iframe fakeframe" id="palette:iframe" style="position: absolute; left: 0px; top: 400px; width: 200px;"><a href="/public/iframe-min.html"><span class="fakeframe"><span>frame ...</span></span></a></span>
 <span class="img" id="palette:img" style="position: absolute; left: 0px; top: 430px;"><img id="imgimg"/></span>
 </div>
 
@@ -555,7 +555,7 @@ page.settext = function(e, t) {
         return t;
     }
     if (e.className == 'iframe') {
-        car(childElements(e)).href = isNil(c)? '/public/iframe.html' : car(c);
+        car(childElements(e)).href = isNil(c)? '/public/iframe-min.html' : car(c);
         return t;
     }
     return '';

Modified: tuscany/sca-cpp/trunk/modules/http/Makefile.am
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/http/Makefile.am?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/http/Makefile.am (original)
+++ tuscany/sca-cpp/trunk/modules/http/Makefile.am Wed Oct 26 08:11:35 2011
@@ -20,7 +20,7 @@ INCLUDES = -I${HTTPD_INCLUDE}
 incl_HEADERS = *.hpp
 incldir = $(prefix)/include/modules/http
 
-dist_mod_SCRIPTS = httpd-conf httpd-addr httpd-start httpd-stop httpd-restart ssl-ca-conf ssl-cert-conf ssl-cert-find httpd-ssl-conf basic-auth-conf cert-auth-conf form-auth-conf open-auth-conf passwd-auth-conf group-auth-conf proxy-conf proxy-ssl-conf proxy-member-conf proxy-ssl-member-conf vhost-conf vhost-ssl-conf tunnel-ssl-conf httpd-worker-conf httpd-event-conf
+dist_mod_SCRIPTS = httpd-conf httpd-addr httpd-start httpd-stop httpd-restart ssl-ca-conf ssl-cert-conf ssl-cert-find httpd-ssl-conf basic-auth-conf cert-auth-conf form-auth-conf open-auth-conf passwd-auth-conf group-auth-conf proxy-conf proxy-ssl-conf proxy-member-conf proxy-ssl-member-conf vhost-conf vhost-ssl-conf tunnel-ssl-conf httpd-worker-conf httpd-event-conf minify-html minify-js minify-css
 moddir = $(prefix)/modules/http
 
 curl_test_SOURCES = curl-test.cpp
@@ -45,7 +45,7 @@ libmod_tuscany_openauth_la_LDFLAGS = -lx
 libmod_tuscany_openauth${libsuffix}:
 	ln -s .libs/libmod_tuscany_openauth${libsuffix}
 
-mod_DATA = httpd.prefix httpd-apachectl.prefix httpd-modules.prefix curl.prefix
+mod_DATA = httpd.prefix httpd-apachectl.prefix httpd-modules.prefix curl.prefix pagespeed.prefix
 nobase_dist_mod_DATA = conf/*
 
 EXTRA_DIST = htdocs/index.html htdocs/login/index.html htdocs/logout/index.html
@@ -59,6 +59,18 @@ httpd-modules.prefix: $(top_builddir)/co
 curl.prefix: $(top_builddir)/config.status
 	echo ${CURL_PREFIX} >curl.prefix
 
+if WANT_PAGESPEED
+
+pagespeed.prefix: $(top_builddir)/config.status
+	echo ${PAGESPEED_PREFIX} >pagespeed.prefix
+
+else
+
+pagespeed.prefix: $(top_builddir)/config.status
+	echo "" >pagespeed.prefix
+
+endif
+
 if WANT_MODSECURITY
 
 modsecurity.prefix: $(top_builddir)/config.status

Modified: tuscany/sca-cpp/trunk/modules/http/httpd-conf
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/http/httpd-conf?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/http/httpd-conf (original)
+++ tuscany/sca-cpp/trunk/modules/http/httpd-conf Wed Oct 26 08:11:35 2011
@@ -98,7 +98,7 @@ Header set Expires "Tue, 01 Jan 1980 00:
 
 # Set default document root
 DocumentRoot $htdocs
-DirectoryIndex index.html
+DirectoryIndex index-min.html index.html
 
 # Protect server files
 <Directory />

Copied: tuscany/sca-cpp/trunk/modules/http/minify-css (from r1188045, tuscany/sca-cpp/trunk/modules/js/Makefile.am)
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/http/minify-css?p2=tuscany/sca-cpp/trunk/modules/http/minify-css&p1=tuscany/sca-cpp/trunk/modules/js/Makefile.am&r1=1188045&r2=1189069&rev=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/js/Makefile.am (original)
+++ tuscany/sca-cpp/trunk/modules/http/minify-css Wed Oct 26 08:11:35 2011
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 #  Licensed to the Apache Software Foundation (ASF) under one
 #  or more contributor license agreements.  See the NOTICE file
 #  distributed with this work for additional information
@@ -15,25 +17,18 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-incl_HEADERS = *.hpp
-incldir = $(prefix)/include/modules/js
-
-BUILT_SOURCES = htdocs/all.js
-htdocs/all.js: htdocs/util.js htdocs/elemutil.js htdocs/xmlutil.js htdocs/atomutil.js htdocs/jsonutil.js htdocs/scdl.js htdocs/ui.js htdocs/component.js
-	cat htdocs/util.js htdocs/elemutil.js htdocs/xmlutil.js htdocs/atomutil.js htdocs/jsonutil.js htdocs/scdl.js htdocs/ui.js htdocs/component.js >htdocs/all.js
-
-CLEANFILES = htdocs/all.js
-
-moddir = $(prefix)/modules/js
-nobase_dist_mod_DATA = htdocs/*.js htdocs/*.css
-EXTRA_DIST = htdocs/*.js htdocs/*.css htdocs/all.js
+# Minify a CSS file
+here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here`
+pagespeed_prefix=`cat $here/pagespeed.prefix`
+
+if [ "${pagespeed_prefix}" = "" ]; then
+    minify_css="cat"
+else
+    minify_css="${pagespeed_prefix}/jsmin_bin"
+fi
 
-js_test_SOURCES = js-test.cpp
-js_test_LDFLAGS = -lmozjs 
+css="$1"
+mincss="${css%.*}-min.css"
 
-js_eval_SOURCES = js-eval.cpp
-js_eval_LDFLAGS = -lmozjs 
+${minify_css} <${css} >${mincss}
 
-noinst_PROGRAMS = js-test js-eval
-dist_noinst_SCRIPTS = util-test
-TESTS = js-test util-test

Propchange: tuscany/sca-cpp/trunk/modules/http/minify-css
------------------------------------------------------------------------------
    svn:executable = *

Copied: tuscany/sca-cpp/trunk/modules/http/minify-html (from r1188045, tuscany/sca-cpp/trunk/modules/js/Makefile.am)
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/http/minify-html?p2=tuscany/sca-cpp/trunk/modules/http/minify-html&p1=tuscany/sca-cpp/trunk/modules/js/Makefile.am&r1=1188045&r2=1189069&rev=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/js/Makefile.am (original)
+++ tuscany/sca-cpp/trunk/modules/http/minify-html Wed Oct 26 08:11:35 2011
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 #  Licensed to the Apache Software Foundation (ASF) under one
 #  or more contributor license agreements.  See the NOTICE file
 #  distributed with this work for additional information
@@ -15,25 +17,18 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-incl_HEADERS = *.hpp
-incldir = $(prefix)/include/modules/js
-
-BUILT_SOURCES = htdocs/all.js
-htdocs/all.js: htdocs/util.js htdocs/elemutil.js htdocs/xmlutil.js htdocs/atomutil.js htdocs/jsonutil.js htdocs/scdl.js htdocs/ui.js htdocs/component.js
-	cat htdocs/util.js htdocs/elemutil.js htdocs/xmlutil.js htdocs/atomutil.js htdocs/jsonutil.js htdocs/scdl.js htdocs/ui.js htdocs/component.js >htdocs/all.js
-
-CLEANFILES = htdocs/all.js
-
-moddir = $(prefix)/modules/js
-nobase_dist_mod_DATA = htdocs/*.js htdocs/*.css
-EXTRA_DIST = htdocs/*.js htdocs/*.css htdocs/all.js
+# Minify an HTML file
+here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here`
+pagespeed_prefix=`cat $here/pagespeed.prefix`
+
+if [ "${pagespeed_prefix}" = "" ]; then
+    minify_html="cp"
+else
+    minify_html="${pagespeed_prefix}/minify_html_bin"
+fi
 
-js_test_SOURCES = js-test.cpp
-js_test_LDFLAGS = -lmozjs 
+html="$1"
+minhtml="${html%.*}-min.html"
 
-js_eval_SOURCES = js-eval.cpp
-js_eval_LDFLAGS = -lmozjs 
+${minify_html} ${html} ${minhtml}
 
-noinst_PROGRAMS = js-test js-eval
-dist_noinst_SCRIPTS = util-test
-TESTS = js-test util-test

Propchange: tuscany/sca-cpp/trunk/modules/http/minify-html
------------------------------------------------------------------------------
    svn:executable = *

Copied: tuscany/sca-cpp/trunk/modules/http/minify-js (from r1188045, tuscany/sca-cpp/trunk/modules/js/Makefile.am)
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/http/minify-js?p2=tuscany/sca-cpp/trunk/modules/http/minify-js&p1=tuscany/sca-cpp/trunk/modules/js/Makefile.am&r1=1188045&r2=1189069&rev=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/js/Makefile.am (original)
+++ tuscany/sca-cpp/trunk/modules/http/minify-js Wed Oct 26 08:11:35 2011
@@ -1,3 +1,5 @@
+#!/bin/sh
+
 #  Licensed to the Apache Software Foundation (ASF) under one
 #  or more contributor license agreements.  See the NOTICE file
 #  distributed with this work for additional information
@@ -15,25 +17,18 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-incl_HEADERS = *.hpp
-incldir = $(prefix)/include/modules/js
-
-BUILT_SOURCES = htdocs/all.js
-htdocs/all.js: htdocs/util.js htdocs/elemutil.js htdocs/xmlutil.js htdocs/atomutil.js htdocs/jsonutil.js htdocs/scdl.js htdocs/ui.js htdocs/component.js
-	cat htdocs/util.js htdocs/elemutil.js htdocs/xmlutil.js htdocs/atomutil.js htdocs/jsonutil.js htdocs/scdl.js htdocs/ui.js htdocs/component.js >htdocs/all.js
-
-CLEANFILES = htdocs/all.js
-
-moddir = $(prefix)/modules/js
-nobase_dist_mod_DATA = htdocs/*.js htdocs/*.css
-EXTRA_DIST = htdocs/*.js htdocs/*.css htdocs/all.js
+# Minify a JS file
+here=`echo "import os; print os.path.realpath('$0')" | python`; here=`dirname $here`
+pagespeed_prefix=`cat $here/pagespeed.prefix`
+
+if [ "${pagespeed_prefix}" = "" ]; then
+    minify_js="cat"
+else
+    minify_js="${pagespeed_prefix}/jsmin_bin"
+fi
 
-js_test_SOURCES = js-test.cpp
-js_test_LDFLAGS = -lmozjs 
+js="$1"
+minjs="${js%.*}-min.js"
 
-js_eval_SOURCES = js-eval.cpp
-js_eval_LDFLAGS = -lmozjs 
+${minify_js} <${js} >${minjs}
 
-noinst_PROGRAMS = js-test js-eval
-dist_noinst_SCRIPTS = util-test
-TESTS = js-test util-test

Propchange: tuscany/sca-cpp/trunk/modules/http/minify-js
------------------------------------------------------------------------------
    svn:executable = *

Modified: tuscany/sca-cpp/trunk/modules/js/Makefile.am
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/modules/js/Makefile.am?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/modules/js/Makefile.am (original)
+++ tuscany/sca-cpp/trunk/modules/js/Makefile.am Wed Oct 26 08:11:35 2011
@@ -18,11 +18,17 @@
 incl_HEADERS = *.hpp
 incldir = $(prefix)/include/modules/js
 
-BUILT_SOURCES = htdocs/all.js
+BUILT_SOURCES = htdocs/all.js htdocs/all-min.js htdocs/ui-min.css
 htdocs/all.js: htdocs/util.js htdocs/elemutil.js htdocs/xmlutil.js htdocs/atomutil.js htdocs/jsonutil.js htdocs/scdl.js htdocs/ui.js htdocs/component.js
 	cat htdocs/util.js htdocs/elemutil.js htdocs/xmlutil.js htdocs/atomutil.js htdocs/jsonutil.js htdocs/scdl.js htdocs/ui.js htdocs/component.js >htdocs/all.js
 
-CLEANFILES = htdocs/all.js
+htdocs/all-min.js: htdocs/all.js
+	../http/minify-js htdocs/all.js
+
+htdocs/ui-min.css: htdocs/ui.css
+	../http/minify-css htdocs/ui.css
+
+CLEANFILES = htdocs/all.js htdocs/all-min.js
 
 moddir = $(prefix)/modules/js
 nobase_dist_mod_DATA = htdocs/*.js htdocs/*.css

Modified: tuscany/sca-cpp/trunk/ubuntu/ubuntu-install
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/ubuntu/ubuntu-install (original)
+++ tuscany/sca-cpp/trunk/ubuntu/ubuntu-install Wed Oct 26 08:11:35 2011
@@ -300,6 +300,16 @@ if [ "$?" != "0" ]; then
 fi
 cd $build
 
+# Build Google Page Speed
+curl -OL https://dl-ssl.google.com/page-speed/sdk/current/page-speed-sdk.zip
+unzip page-speed-sdk.zip
+cd page-speed-1.9
+make builddir=$build/page-speed-1.9-bin
+if [ "$?" != "0" ]; then
+    exit $?
+fi
+cd $build
+
 # Build Apache Nuvem
 git clone git://git.apache.org/nuvem.git
 if [ "$?" != "0" ]; then
@@ -311,7 +321,7 @@ cd $build
 git clone git://git.apache.org/tuscany-sca-cpp.git
 cd tuscany-sca-cpp
 ./bootstrap
-./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.7-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.1-bin
+./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.7-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --enable-pagespeed --with-pagespeed=$build/page-speed-1.9-bin --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --with-libxml2=$build/libxml2-2.7.7-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.1-bin
 make
 make install
 if [ "$?" != "0" ]; then
@@ -320,8 +330,8 @@ fi
 cd $build
 
 # Create src archive
-tar czf tuscany-sca-cpp-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.7 memcached-1.4.7-bin memcached-1.4.7.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.1 modsecurity-apache-2.6.1-bin modsecurity-apache_2.6.1.tar.gz modsecurity-crs_2.2.1 modsecurity-crs_2.2.1.tar.gz nspr-4.8.8-bin nspr-4.8.8 nspr-4.8.8.tar.gz nuvem scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tuscany-sca-cpp tuscany-
 sca-cpp-bin
+tar czf tuscany-sca-cpp-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.7 memcached-1.4.7-bin memcached-1.4.7.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.1 modsecurity-apache-2.6.1-bin modsecurity-apache_2.6.1.tar.gz modsecurity-crs_2.2.1 modsecurity-crs_2.2.1.tar.gz nspr-4.8.8-bin nspr-4.8.8 nspr-4.8.8.tar.gz nuvem page-speed-1.9 page-speed-1.9-bin page-speed-sdk.zip scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-
 0.77-bin tinycdb_0.77.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin
 
 # Create bin archive
-tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.x-bin curl-7.19.5-bin expat-2.0.1-bin htmltidy-bin httpd-2.3.10-bin js-1.8.5-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.7-bin mod-auth-openid-bin modsecurity-apache-2.6.1-bin nspr-4.8.8-bin nuvem/nuvem-parallel scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tuscany-sca-cpp tuscany-sca-cpp-bin
+tar czf tuscany-sca-cpp-1.0.tar.gz apr-1.4.x-bin curl-7.19.5-bin expat-2.0.1-bin htmltidy-bin httpd-2.3.10-bin js-1.8.5-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.7-bin mod-auth-openid-bin modsecurity-apache-2.6.1-bin nspr-4.8.8-bin nuvem/nuvem-parallel page-speed-1.9-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tuscany-sca-cpp tuscany-sca-cpp-bin
 

Modified: tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all
URL: http://svn.apache.org/viewvc/tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all?rev=1189069&r1=1189068&r2=1189069&view=diff
==============================================================================
--- tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all (original)
+++ tuscany/sca-cpp/trunk/ubuntu/ubuntu-install-all Wed Oct 26 08:11:35 2011
@@ -370,6 +370,16 @@ if [ "$?" != "0" ]; then
 fi
 cd $build
 
+# Build Google Page Speed
+curl -OL https://dl-ssl.google.com/page-speed/sdk/current/page-speed-sdk.zip
+unzip page-speed-sdk.zip
+cd page-speed-1.9
+make
+if [ "$?" != "0" ]; then
+    exit $?
+fi
+cd $build
+
 # Build Apache Nuvem
 git clone git://git.apache.org/nuvem.git
 if [ "$?" != "0" ]; then
@@ -381,7 +391,7 @@ cd $build
 git clone git://git.apache.org/tuscany-sca-cpp.git
 cd tuscany-sca-cpp
 ./bootstrap
-./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.7-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.6 --enable-sqldb --with-pgsql=$build/postgresql-9.0.3-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-auth-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0
 .9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.1-bin
+./configure --prefix=$build/tuscany-sca-cpp-bin --with-curl=$build/curl-7.19.5-bin --with-apr=$build/apr-1.4.x-bin --with-httpd=$build/httpd-2.3.10-bin --with-memcached=$build/memcached-1.4.7-bin --with-tinycdb=$build/tinycdb-0.77-bin --with-js-include=$build/js-1.8.5-bin/include/js --with-js-lib=$build/js-1.8.5-bin/lib --enable-pagespeed --with-pagespeed=$build/page-speed-1.9-bin --with-libcloud=$build/libcloud-0.4.2-bin --enable-threads --enable-python --enable-gae --with-gae=$build/google_appengine --enable-java --with-java=/usr/lib/jvm/java-6-openjdk --enable-webservice --with-libxml2=$build/libxml2-2.7.7-bin --with-axis2c=$build/axis2c-1.6.0-bin --enable-queue --with-qpidc=$build/qpidc-0.6-bin --enable-chat --with-libstrophe=$build/libstrophe-bin --with-vysper=$build/vysper-0.6 --enable-sqldb --with-pgsql=$build/postgresql-9.0.3-bin --enable-log --with-thrift=$build/thrift-0.2.0-bin --with-scribe=$build/scribe-2.2-bin --enable-openid --with-mod-auth-openid=$build/mod-au
 th-openid-bin --enable-oauth --with-liboauth=$build/liboauth-0.9.1-bin --enable-mod-security --with-mod-security=$build/modsecurity-apache-2.6.1-bin
 make
 make install
 if [ "$?" != "0" ]; then
@@ -390,8 +400,8 @@ fi
 cd $build
 
 # Create src archive
-tar czf tuscany-sca-cpp-all-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin axis2c-1.6.0-bin axis2c-src-1.6.0 axis2c-src-1.6.0.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz google_appengine google_appengine_1.4.0.zip htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.7 memcached-1.4.7-bin memcached-1.4.7.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.1 modsecurity-apache-2.6.1-bin modsecurity-apache_2.6.1.tar.gz modsecurity-crs_2.2.1 modsecurity-crs_2.2.1.tar.gz nspr-4.8.8-bin nspr-4.8.8 nspr-4.8.8.tar.gz nuvem postgresql-9.0.3 postgresql-9.0.3-bin postgresql-9.0.3.tar.gz qpidc-0.6 qp
 idc-0.6-bin qpid-cpp-0.6.tar.gz scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6 vysper-0.6-bin.tar.gz
+tar czf tuscany-sca-cpp-all-1.0-src.tar.gz apache-libcloud-incubating-0.4.2 apache-libcloud-incubating-0.4.2.tar.bz2 apr-1.4.x apr-1.4.x-bin axis2c-1.6.0-bin axis2c-src-1.6.0 axis2c-src-1.6.0.tar.gz curl-7.19.5 curl-7.19.5-bin curl-7.19.5.tar.gz expat-2.0.1 expat-2.0.1-bin expat-2.0.1.tar.gz google_appengine google_appengine_1.4.0.zip htmltidy-bin httpd-2.3.10 httpd-2.3.10-alpha.tar.gz httpd-2.3.10-bin js-1.8.5-bin js-1.8.5 js185-1.0.0.tar.gz libcloud-0.4.2-bin liboauth-0.9.1 liboauth-0.9.1-bin liboauth-0.9.1.tar.gz libopkele libopkele-bin libstrophe libstrophe-bin libxml2-2.7.7 libxml2-2.7.7-bin libxml2-sources-2.7.7.tar.gz memcached-1.4.7 memcached-1.4.7-bin memcached-1.4.7.tar.gz mod_auth_openid mod-auth-openid-bin modsecurity-apache_2.6.1 modsecurity-apache-2.6.1-bin modsecurity-apache_2.6.1.tar.gz modsecurity-crs_2.2.1 modsecurity-crs_2.2.1.tar.gz nspr-4.8.8-bin nspr-4.8.8 nspr-4.8.8.tar.gz nuvem page-speed-1.9 page-speed-1.9-bin page-speed-sdk.zip postgresql-9.0.3 post
 gresql-9.0.3-bin postgresql-9.0.3.tar.gz qpidc-0.6 qpidc-0.6-bin qpid-cpp-0.6.tar.gz scribe scribe-2.2-bin scribe-2.2.tar.gz thrift-0.2.0 thrift-0.2.0-bin thrift-0.2.0-incubating.tar.gz tidy tinycdb-0.77 tinycdb-0.77-bin tinycdb_0.77.tar.gz tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6 vysper-0.6-bin.tar.gz
 
 # Create bin archive
-tar czf tuscany-sca-cpp-all-1.0.tar.gz apr-1.4.x-bin axis2c-1.6.0-bin curl-7.19.5-bin expat-2.0.1-bin google_appengine htmltidy-bin httpd-2.3.10-bin js-1.8.5-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.7-bin mod-auth-openid-bin modsecurity-apache-2.6.1-bin nspr-4.8.8-bin nuvem/nuvem-parallel postgresql-9.0.3-bin qpidc-0.6-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6
+tar czf tuscany-sca-cpp-all-1.0.tar.gz apr-1.4.x-bin axis2c-1.6.0-bin curl-7.19.5-bin expat-2.0.1-bin google_appengine htmltidy-bin httpd-2.3.10-bin js-1.8.5-bin libcloud-0.4.2-bin liboauth-0.9.1-bin libopkele-bin libstrophe-bin libxml2-2.7.7-bin memcached-1.4.7-bin mod-auth-openid-bin modsecurity-apache-2.6.1-bin nspr-4.8.8-bin nuvem/nuvem-parallel page-speed-1.9-bin postgresql-9.0.3-bin qpidc-0.6-bin scribe-2.2-bin thrift-0.2.0-bin tinycdb-0.77-bin tuscany-sca-cpp tuscany-sca-cpp-bin vysper-0.6
 



Mime
View raw message