From 51e1ac109d939852b6ae43bb0b0dcb3023303ce9 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sun, 21 Nov 2010 19:21:52 +0100 Subject: [PATCH] improve scm-web-compressor maven-plugin --- maven/scm-web-compressor/pom.xml | 13 +++-- .../sonia/scm/maven/WebCompressorMojo.java | 7 ++- .../sonia/scm/maven/YuiWebCompressor.java | 4 +- .../lib/compiler-20100917.jar | Bin third-party/closure-compiler/pom.xml | 55 ++++++++++++++++++ .../src/main/assembly/compiler.xml | 37 ++++++++++++ third-party/pom.xml | 1 + 7 files changed, 109 insertions(+), 8 deletions(-) rename {maven/scm-web-compressor => third-party/closure-compiler}/lib/compiler-20100917.jar (100%) create mode 100644 third-party/closure-compiler/pom.xml create mode 100644 third-party/closure-compiler/src/main/assembly/compiler.xml diff --git a/maven/scm-web-compressor/pom.xml b/maven/scm-web-compressor/pom.xml index a2025ffa38..8c04623326 100644 --- a/maven/scm-web-compressor/pom.xml +++ b/maven/scm-web-compressor/pom.xml @@ -11,12 +11,18 @@ sonia.scm.maven scm-web-compressor - jar + maven-plugin 1.0-M2-SNAPSHOT scm-web-compressor + + sonia.scm + scm-core + 1.0-M2-SNAPSHOT + + org.apache.maven maven-plugin-api @@ -37,10 +43,9 @@ com.google.closure - compiler + repacked-compiler 20100917 - system - ${basedir}/lib/compiler-20100917.jar + full diff --git a/maven/scm-web-compressor/src/main/java/sonia/scm/maven/WebCompressorMojo.java b/maven/scm-web-compressor/src/main/java/sonia/scm/maven/WebCompressorMojo.java index 2f6f4deca1..8a9d6e2e11 100644 --- a/maven/scm-web-compressor/src/main/java/sonia/scm/maven/WebCompressorMojo.java +++ b/maven/scm-web-compressor/src/main/java/sonia/scm/maven/WebCompressorMojo.java @@ -55,7 +55,7 @@ import java.util.LinkedHashSet; import java.util.Set; /** - * + * @goal compress * @author Sebastian Sdorra */ public class WebCompressorMojo extends AbstractMojo @@ -68,8 +68,8 @@ public class WebCompressorMojo extends AbstractMojo public WebCompressorMojo() { compressorSet = new LinkedHashSet(); - compressorSet.add(new ClosureWebCompressor()); compressorSet.add(new YuiWebCompressor()); + compressorSet.add(new ClosureWebCompressor()); } //~--- methods -------------------------------------------------------------- @@ -84,6 +84,8 @@ public class WebCompressorMojo extends AbstractMojo @Override public void execute() throws MojoExecutionException, MojoFailureException { + IOUtil.mkdirs(outputDirectory); + OutputStream output = null; try @@ -97,6 +99,7 @@ public class WebCompressorMojo extends AbstractMojo encoding, outputPrefix, concat); } + IOUtil.mkdirs(outputFile.getParentFile()); output = new FileOutputStream(outputFile); output.write(document.html().getBytes(encoding)); } diff --git a/maven/scm-web-compressor/src/main/java/sonia/scm/maven/YuiWebCompressor.java b/maven/scm-web-compressor/src/main/java/sonia/scm/maven/YuiWebCompressor.java index 3ce1c568fc..e7c25d97bc 100644 --- a/maven/scm-web-compressor/src/main/java/sonia/scm/maven/YuiWebCompressor.java +++ b/maven/scm-web-compressor/src/main/java/sonia/scm/maven/YuiWebCompressor.java @@ -75,8 +75,8 @@ public class YuiWebCompressor extends AbstractWebCompressor @Override protected void appendElement(Document document, String path) { - document.appendElement("link").attr("type", "text/css").attr("rel", - "stylesheet").attr("href", path); + document.head().appendElement("link").attr("type", "text/css").attr("rel", + "stylesheet").attr("href", path); } /** diff --git a/maven/scm-web-compressor/lib/compiler-20100917.jar b/third-party/closure-compiler/lib/compiler-20100917.jar similarity index 100% rename from maven/scm-web-compressor/lib/compiler-20100917.jar rename to third-party/closure-compiler/lib/compiler-20100917.jar diff --git a/third-party/closure-compiler/pom.xml b/third-party/closure-compiler/pom.xml new file mode 100644 index 0000000000..5b7cae3104 --- /dev/null +++ b/third-party/closure-compiler/pom.xml @@ -0,0 +1,55 @@ + + + + 4.0.0 + + + sonia.scm.third-party + sonia.scm.third-party + 1.0-M2-SNAPSHOT + + + com.google.closure + repacked-compiler + pom + 20100917 + repacked-compiler + + + + + com.google.closure + compiler + 20100917 + system + ${project.basedir}/lib/compiler-20100917.jar + + + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + 2.2 + + + package + + attached + + + + + + src/main/assembly/compiler.xml + + + + + + + + \ No newline at end of file diff --git a/third-party/closure-compiler/src/main/assembly/compiler.xml b/third-party/closure-compiler/src/main/assembly/compiler.xml new file mode 100644 index 0000000000..fcc96840f9 --- /dev/null +++ b/third-party/closure-compiler/src/main/assembly/compiler.xml @@ -0,0 +1,37 @@ + + + + + + + full + + + jar + + + false + + + + true + system + + + + + + target/classes + / + + + + diff --git a/third-party/pom.xml b/third-party/pom.xml index 9eee2ea4b5..409123e67b 100644 --- a/third-party/pom.xml +++ b/third-party/pom.xml @@ -17,6 +17,7 @@ svnkit-dav + closure-compiler \ No newline at end of file