diff --git a/framework/build.xml b/framework/build.xml old mode 100644 new mode 100755 index 285c1908..450ff5f9 --- a/framework/build.xml +++ b/framework/build.xml @@ -95,16 +95,60 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + diff --git a/lib/update.rb b/lib/update.rb old mode 100644 new mode 100755 index 26814070..aa1459a1 --- a/lib/update.rb +++ b/lib/update.rb @@ -15,9 +15,9 @@ class Update end # removes local.properties and recreates based on android_sdk_path - # then generates framework/phonegap.jar + # then generates framework/phonegap.jar & framework/assets/www/phonegap.js def build_jar - puts "Building the JAR..." + puts "Building the JAR and combining JS files..." %w(local.properties phonegap.js phonegap.jar).each do |f| FileUtils.rm File.join(@framework_dir, f) if File.exists? File.join(@framework_dir, f) end @@ -32,23 +32,13 @@ class Update # copies stuff from framework into the project # TODO need to allow for www import inc icon def copy_libs - puts "Copying over libraries and assets and creating phonegap.js..." + puts "Copying over libraries and assets..." FileUtils.mkdir_p File.join(@path, "libs") FileUtils.cp File.join(@framework_dir, "phonegap.jar"), File.join(@path, "libs") - # concat JS and put into www folder. - js_dir = File.join(@framework_dir, "assets", "js") - - phonegapjs = IO.read(File.join(js_dir, 'phonegap.js.base')) - - Dir.new(js_dir).entries.each do |script| - next if script[0].chr == "." or script == "phonegap.js.base" - phonegapjs << IO.read(File.join(js_dir, script)) - phonegapjs << "\n\n" - end - - File.open(File.join(@path, "assets", "www", "phonegap.js"), 'w') {|f| f.write(phonegapjs) } + FileUtils.mkdir_p File.join(@path, "assets", "www") + FileUtils.cp File.join(@framework_dir, "assets", "www", "phonegap.js"), File.join(@path, "assets", "www") end # end \ No newline at end of file diff --git a/util/yuicompressor/LICENSE b/util/yuicompressor/LICENSE new file mode 100755 index 00000000..c364b9da --- /dev/null +++ b/util/yuicompressor/LICENSE @@ -0,0 +1,31 @@ +YUI is issued by Yahoo! under the BSD License below. + +Copyright (c) 2010, Yahoo! Inc. +All rights reserved. + +Redistribution and use of this software in source and binary forms, with or +without modification, are permitted provided that the following conditions +are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of Yahoo! Inc. nor the names of its contributors may be + used to endorse or promote products derived from this software without + specific prior written permission of Yahoo! Inc. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +http://developer.yahoo.com/yui/license.html + diff --git a/util/yuicompressor/README b/util/yuicompressor/README new file mode 100755 index 00000000..1604846c --- /dev/null +++ b/util/yuicompressor/README @@ -0,0 +1,140 @@ +============================================================================== +YUI Compressor +============================================================================== + +NAME + + YUI Compressor - The Yahoo! JavaScript and CSS Compressor + +SYNOPSIS + + Usage: java -jar yuicompressor-x.y.z.jar [options] [input file] + + Global Options + -h, --help Displays this information + --type Specifies the type of the input file + --charset Read the input file using + --line-break Insert a line break after the specified column number + -v, --verbose Display informational messages and warnings + -o Place the output into . Defaults to stdout. + + JavaScript Options + --nomunge Minify only, do not obfuscate + --preserve-semi Preserve all semicolons + --disable-optimizations Disable all micro optimizations + +DESCRIPTION + + The YUI Compressor is a JavaScript compressor which, in addition to removing + comments and white-spaces, obfuscates local variables using the smallest + possible variable name. This obfuscation is safe, even when using constructs + such as 'eval' or 'with' (although the compression is not optimal is those + cases) Compared to jsmin, the average savings is around 20%. + + The YUI Compressor is also able to safely compress CSS files. The decision + on which compressor is being used is made on the file extension (js or css) + +GLOBAL OPTIONS + + -h, --help + Prints help on how to use the YUI Compressor + + --line-break + Some source control tools don't like files containing lines longer than, + say 8000 characters. The linebreak option is used in that case to split + long lines after a specific column. It can also be used to make the code + more readable, easier to debug (especially with the MS Script Debugger) + Specify 0 to get a line break after each semi-colon in JavaScript, and + after each rule in CSS. + + --type js|css + The type of compressor (JavaScript or CSS) is chosen based on the + extension of the input file name (.js or .css) This option is required + if no input file has been specified. Otherwise, this option is only + required if the input file extension is neither 'js' nor 'css'. + + --charset character-set + If a supported character set is specified, the YUI Compressor will use it + to read the input file. Otherwise, it will assume that the platform's + default character set is being used. The output file is encoded using + the same character set. + + -o outfile + Place output in file outfile. If not specified, the YUI Compressor will + default to the standard output, which you can redirect to a file. + + -v, --verbose + Display informational messages and warnings. + +JAVASCRIPT ONLY OPTIONS + + --nomunge + Minify only. Do not obfuscate local symbols. + + --preserve-semi + Preserve unnecessary semicolons (such as right before a '}') This option + is useful when compressed code has to be run through JSLint (which is the + case of YUI for example) + + --disable-optimizations + Disable all the built-in micro optimizations. + +NOTES + + + If no input file is specified, it defaults to stdin. + + + The YUI Compressor requires Java version >= 1.4. + + + It is possible to prevent a local variable, nested function or function + argument from being obfuscated by using "hints". A hint is a string that + is located at the very beginning of a function body like so: + + function fn (arg1, arg2, arg3) { + "arg2:nomunge, localVar:nomunge, nestedFn:nomunge"; + + ... + var localVar; + ... + + function nestedFn () { + .... + } + + ... + } + + The hint itself disappears from the compressed file. + + + C-style comments starting with /*! are preserved. This is useful with + comments containing copyright/license information. For example: + + /*! + * TERMS OF USE - EASING EQUATIONS + * Open source under the BSD License. + * Copyright 2001 Robert Penner All rights reserved. + */ + + becomes: + + /* + * TERMS OF USE - EASING EQUATIONS + * Open source under the BSD License. + * Copyright 2001 Robert Penner All rights reserved. + */ + +AUTHOR + + The YUI Compressor was written and is maintained by: + Julien Lecomte + The CSS portion is a port of Isaac Schlueter's cssmin utility. + +COPYRIGHT + + Copyright (c) 2007-2009, Yahoo! Inc. All rights reserved. + +LICENSE + + All code specific to YUI Compressor is issued under a BSD license. + YUI Compressor extends and implements code from Mozilla's Rhino project. + Rhino is issued under the Mozilla Public License (MPL), and MPL applies + to the Rhino source and binaries that are distributed with YUI Compressor. \ No newline at end of file diff --git a/util/yuicompressor/yuicompressor-2.4.2.jar b/util/yuicompressor/yuicompressor-2.4.2.jar new file mode 100755 index 00000000..c29470bd Binary files /dev/null and b/util/yuicompressor/yuicompressor-2.4.2.jar differ