Author: kevj
Date: Sat Jun 6 09:12:36 2009
New Revision: 782214
URL: http://svn.apache.org/viewvc?rev=782214&view=rev
Log:
-added CssCompressor and css tests
Added:
ant/sandbox/antlibs/compress/trunk/src/etc/testcases/testscripts/bbc.css
(with props)
Modified:
ant/sandbox/antlibs/compress/trunk/README
ant/sandbox/antlibs/compress/trunk/src/etc/testcases/compress.xml
ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/js/compressor/YUICompressorTask.java
Modified: ant/sandbox/antlibs/compress/trunk/README
URL:
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/README?rev=782214&r1=782213&r2=782214&view=diff
==============================================================================
--- ant/sandbox/antlibs/compress/trunk/README (original)
+++ ant/sandbox/antlibs/compress/trunk/README Sat Jun 6 09:12:36 2009
@@ -12,11 +12,4 @@
<fileset dir="${testscript.dir}">
<include name="*.js"/>
</fileset>
-</compress:yui.compressor>
-
-TODO
-----
-
-# Make the type parameter work so that the code creates the correct compressor
depending on the type
-# Make the charset parameter work
-
+</compress:yui.compressor>
\ No newline at end of file
Modified: ant/sandbox/antlibs/compress/trunk/src/etc/testcases/compress.xml
URL:
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/src/etc/testcases/compress.xml?rev=782214&r1=782213&r2=782214&view=diff
==============================================================================
--- ant/sandbox/antlibs/compress/trunk/src/etc/testcases/compress.xml (original)
+++ ant/sandbox/antlibs/compress/trunk/src/etc/testcases/compress.xml Sat Jun
6 09:12:36 2009
@@ -40,6 +40,12 @@
<include name="*.js"/>
</fileset>
</compress:yui.compressor>
+
+ <compress:yui.compressor verbose="true" outputPath="${outputPath}"
type="css">
+ <fileset dir="${testscript.dir}">
+ <include name="*.css"/>
+ </fileset>
+ </compress:yui.compressor>
</target>
<target name="cleanup">
Added: ant/sandbox/antlibs/compress/trunk/src/etc/testcases/testscripts/bbc.css
URL:
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/src/etc/testcases/testscripts/bbc.css?rev=782214&view=auto
==============================================================================
--- ant/sandbox/antlibs/compress/trunk/src/etc/testcases/testscripts/bbc.css
(added)
+++ ant/sandbox/antlibs/compress/trunk/src/etc/testcases/testscripts/bbc.css
Sat Jun 6 09:12:36 2009
@@ -0,0 +1,198 @@
+/* STORY */
+.storybody{
+ float:left;
+ width:466px;
+ line-height:1.4em;
+ font-size:1.3em;
+}
+.storybodywide{
+ float:left;
+ display:block;
+ line-height:1.4em;
+ font-size:1.3em;
+}
+.storybody p,.storybodywide p{padding:0 0 10px 0;}
+.storybody pre{font-size:1.1em;}
+.storybody form,.storybodywide form{font-size:1.2em;}
+.storybody form input,.storybodywide form input{margin:3px 0 0 0;}
+.storybody .di .arr, .storybody form .di .arr,.storybodywide .di .arr,
.storybodywide form .di .arr{font-size:0.6em;}
+.storybody table td div .cap{padding:0;}
+.storybodywide{width:800px;}
+.sh{font-size:18px;font-weight:bold;color:#464646;}
+.storybody .avinline {
+ margin:4px 0;
+ font-size:0.9em
+}
+.storybody .avinline img{margin:3px 0 0 0;}
+td.sib606 {
+ background:#EEE none repeat scroll 0%;
+ font-size:11px;
+}
+.ibqlinks {
+border-top:1px dotted #666666;
+padding:5px;
+}
+.storybody .arr, .storybodywide .arr{font-size:1.1em;}
+.storybody .arr a.bodl, .storybodywide .arr a.bodl{font-size:0.9em;}
+/* -------- STRUCTURE -------- */
+table.main{
+ clear:both;
+ border:0;
+}
+table.main td.sidebar1{
+ width:160px;
+ border-right:14px solid #fff;
+ vertical-align:top;
+}
+table.datetools{width:800px;}
+td.storybody{
+ width:466px;
+ vertical-align:top;
+ }
+table.storycontent .sh{
+ font-size:2.4em;
+ margin:10px 0 10px 0;
+}
+td.storyextra{
+ width:306px;
+ border-left:14px solid #fff;
+ vertical-align:top;
+ line-height:1.5em;
+}
+td.contentwrapper, td.contentwrapperwide{vertical-align:top;}
+.storyextra
.nlp{font-size:1.1em;text-transform:uppercase;font-weight:bold;font-family:verdana;}
+.storycontent h1, td.contentwrapperwide .sh{
+ font-family:arial;
+ font-size:2.4em;
+ margin:5px 0 15px 0;
+ font-weight:normal;
+}
+
+.contentwrapperwide .datetools .mxb .h1,.contentwrapperwide .datetools .mxb h1{
+ font-family:arial;
+ font-size:2.4em;
+ margin:5px 0 15px 0;
+ font-weight:normal;
+}
+
+.sah {
+ font-family:arial;
+ background:#666 none repeat scroll 0%;
+ color:#FFF;
+ font-size:1.1em;
+ font-weight:bold;
+ padding:4px 0 4px 5px;
+ text-transform:uppercase;
+}
+hr.pufff {
+ border:0pt none;
+ height:2px;
+ width:100%;
+ margin:5px 0 0 0;
+}
+#tabnavbox {
+ clear:both;
+ width: 100%;
+ height: 24px;
+ font-size: 100%;
+ padding:0;
+ border-bottom: 1px dashed #999;
+ background: #eee;
+}
+#tabnav {
+ height:25px;
+ margin: 0;
+ padding: 0;
+}
+#tabnav li {
+ margin: 0;
+ padding: 0;
+ display: inline;
+ list-style: none;
+ width: 104px;
+ height: 25px;
+ float: left;
+ text-align: center;
+ font-size: 10px;
+ line-height: 22px;
+ font-weight: bold;
+ color: #333;
+}
+#tabnav a:link, #tabnav a:visited {
+ font-size: 10px;
+ line-height: 22px;
+ font-weight: bold;
+ padding: 3px 4px 3px 4px;
+ margin:0 4px;
+ text-decoration: none;
+ color: #ff0;
+ text-align: center;
+ height: 18px !important;
+ height /**/: 20px;
+ /* for IE5/Win */
+}
+#tabnav a:hover {text-decoration: underline;}
+#liveTopBox1 {
+ width: 480px;
+ float: left;
+}
+#liveTopBox1 .sh{
+ margin:8px 0 0 0;
+ color:#464646;
+ font-size:18px;
+ font-weight:normal;
+}
+#liveTopBox1 .avinline{
+ padding:6px 0 0 0;
+ font-size:1.2em;
+}
+#liveTopBox1 .avinline a img{margin:1px 0 0 0;}
+#liveTopBox2 {
+ line-height:1.4em;
+ padding:30px 0pt 0pt;
+ width: 306px;
+ float: left;
+}
+#tabnav li {background:#000;}
+.cap{
+ color:#666;
+ font-weight:normal;
+ margin:3px 0 0 0;
+ font-size:11px;
+ line-height:13px;
+}
+.msd{font-size:11px;font-weight:bold;color:#666}
+.comm{background:#606;color:#FFF;font-size:12px;font-weight:bold;padding:0 0 0
5px;}
+.cfaxh{font-size:16px;font-weight:bold;}
+.sib606 .sihf {
+ font-weight: normal;
+ font-family:arial;
+ font-size: 12px;
+ padding:4px 0 4px 5px;
+}
+#q1 {
+ height: 13px;
+ width: 20px;
+ background-repeat: no-repeat;
+ float: left;
+}
+.sib606 .mva {line-height:1.3em;}
+#q2 {
+ height: 13px;
+ width: 20px;
+ background-repeat: no-repeat;
+ float: right;
+}
+.sibStdQuote{font-size:11px;line-height:1.3em;}
+.sibStdQuote #q1 {
+ height: 13px;
+ width: 20px;
+ background-repeat: no-repeat;
+ float: left;
+}
+.sibStdQuote #q2 {
+ height: 13px;
+ width: 20px;
+ background-repeat: no-repeat;
+ float: right;
+}
\ No newline at end of file
Propchange:
ant/sandbox/antlibs/compress/trunk/src/etc/testcases/testscripts/bbc.css
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/js/compressor/YUICompressorTask.java
URL:
http://svn.apache.org/viewvc/ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/js/compressor/YUICompressorTask.java?rev=782214&r1=782213&r2=782214&view=diff
==============================================================================
---
ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/js/compressor/YUICompressorTask.java
(original)
+++
ant/sandbox/antlibs/compress/trunk/src/main/org/apache/ant/js/compressor/YUICompressorTask.java
Sat Jun 6 09:12:36 2009
@@ -6,6 +6,7 @@
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
+import java.io.Reader;
import java.io.Writer;
import java.util.ArrayList;
import java.util.Iterator;
@@ -19,6 +20,7 @@
import org.mozilla.javascript.ErrorReporter;
import org.mozilla.javascript.EvaluatorException;
+import com.yahoo.platform.yui.compressor.CssCompressor;
import com.yahoo.platform.yui.compressor.JavaScriptCompressor;
import com.yahoo.platform.yui.compressor.YUICompressor;
@@ -47,17 +49,15 @@
for(Iterator i = inputResources.iterator();
i.hasNext();) {
FileSet fs = (FileSet)i.next();
for(Iterator j = fs.iterator();
j.hasNext();) {
- Commandline cmd = buildArgs();
FileResource f =
(FileResource)j.next();
if(verbose) {
log("Minifying:
"+f.getFile().getAbsolutePath());
}
-
- //TODO
- //get the charset from the
property
- //check the specified type and
create the appropriate compressor
- InputStreamReader in = new
InputStreamReader(new FileInputStream(f.getFile().getAbsolutePath()), "UTF-8");
- JavaScriptCompressor c =
getJavaScriptCompressor(in);
+ //Ensure charset is set
+ if(null == charset ||
charset.trim() == "") {
+ charset = "UTF-8";
+ }
+ InputStreamReader in = new
InputStreamReader(new FileInputStream(f.getFile().getAbsolutePath()), charset);
Writer out;
if(null != outputPath &&
outputPath.trim() != "") {
out = new
OutputStreamWriter(new FileOutputStream(outputPath + File.separator +
f.getFile().getName()));
@@ -65,13 +65,21 @@
out = new
OutputStreamWriter(new FileOutputStream(f.getFile().getAbsolutePath()));
}
- c.compress(out,
- (null ==
getLineBreak() || getLineBreak() == "" ? -1 :
Integer.parseInt(getLineBreak())),
- isNomunge(),
- isVerbose(),
-
isPreserveSemi(),
-
isDisableOptimization()
- );
+ if(null != type && type.trim()
!= "" && "js".equals(type)) {
+ JavaScriptCompressor c
= getJavaScriptCompressor(in);
+ c.compress(out,
+ (null
== getLineBreak() || getLineBreak() == "" ? -1 :
Integer.parseInt(getLineBreak())),
+
isNomunge(),
+
isVerbose(),
+
isPreserveSemi(),
+
isDisableOptimization()
+ );
+ } else if(null != type && type
!= "" && "css".equals(type)) {
+ CssCompressor c =
getCssCompressor(in);
+ c.compress(out, (null
== getLineBreak() || getLineBreak() == "" ? -1 :
Integer.parseInt(getLineBreak())));
+ }
+ in.close();
+ out.close();
}
}
@@ -81,7 +89,7 @@
}
}
- protected JavaScriptCompressor
getJavaScriptCompressor(InputStreamReader in) throws IOException {
+ protected JavaScriptCompressor getJavaScriptCompressor(Reader in)
throws IOException {
JavaScriptCompressor compressor = new JavaScriptCompressor(in,
new ErrorReporter() {
@@ -113,6 +121,10 @@
return compressor;
}
+ protected CssCompressor getCssCompressor(Reader in) throws IOException {
+ return new CssCompressor(in);
+ }
+
protected Commandline buildArgs() {
Commandline cmd = new Commandline();
if(verbose) {