aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2012-09-03 15:36:28 +0300
committerArtur Signell <artur@vaadin.com>2012-09-09 11:23:08 +0300
commit1d6f0611a8dc7478caf2126ccd191d4284259cba (patch)
tree19ce396cb937c1255796552a78d944a0b99e26ec
parent557acfb6c4212ad1ddd5270fc7e25f1fc3d63762 (diff)
downloadvaadin-framework-1d6f0611a8dc7478caf2126ccd191d4284259cba.tar.gz
vaadin-framework-1d6f0611a8dc7478caf2126ccd191d4284259cba.zip
Added themes-compiled module (#9299)
-rw-r--r--build.xml5
-rw-r--r--buildhelpers/ivy.xml2
-rw-r--r--client-compiled/build.xml33
-rw-r--r--client-compiled/ivy.xml11
-rw-r--r--client-compiler/ivy.xml2
-rw-r--r--client/ivy.xml2
-rw-r--r--common.xml7
-rw-r--r--ivysettings.xml4
-rw-r--r--server/build.xml7
-rw-r--r--server/ivy.xml6
-rw-r--r--shared/ivy.xml5
-rw-r--r--theme-compiler/build.xml2
-rw-r--r--theme-compiler/ivy.xml10
-rwxr-xr-xtheme-compiler/src/com/vaadin/buildhelpers/CompileDefaultTheme.java121
-rw-r--r--theme-compiler/src/com/vaadin/buildhelpers/CompileTheme.java114
-rw-r--r--themes-compiled/build.xml103
-rw-r--r--themes-compiled/ivy.xml21
-rw-r--r--uitest/build.xml10
-rw-r--r--uitest/ivy.xml19
19 files changed, 311 insertions, 173 deletions
diff --git a/build.xml b/build.xml
index fc7007f47c..44965003c0 100644
--- a/build.xml
+++ b/build.xml
@@ -27,8 +27,9 @@
<subant buildpathref="build-path" target="clean">
</subant>
<delete dir="result" />
- <!-- Clean IVY cache (~/.ivy2) so no old artifacts are fetched from there -->
- <ivy:cleancache />
+ <!-- Clean IVY cache (~/.ivy2) so no old artifacts are fetched from there (leave everything but Vaadin artifacts) -->
+ <delete dir="${ivy.cache.dir}/com.vaadin">
+ </delete>
</target>
diff --git a/buildhelpers/ivy.xml b/buildhelpers/ivy.xml
index 9d8055bb3f..a2a6ea35ae 100644
--- a/buildhelpers/ivy.xml
+++ b/buildhelpers/ivy.xml
@@ -17,7 +17,7 @@
<configurations>
<conf name="build" />
<conf name="build-provided" />
- <conf name="ide" />
+ <conf name="ide" visibility="private"/>
<conf name="tests" />
</configurations>
<publications>
diff --git a/client-compiled/build.xml b/client-compiled/build.xml
index 588d232ab2..8cead01a79 100644
--- a/client-compiled/build.xml
+++ b/client-compiled/build.xml
@@ -28,8 +28,8 @@
<property name="extraParams" value="" />
<property name="module.output.dir" location="${result.dir}/VAADIN/widgetsets" />
- <ivy:resolve resolveid="common" conf="build" />
- <ivy:cachepath pathid="classpath.compile.widgetset" conf="build" />
+ <ivy:resolve resolveid="common" conf="compile-module" />
+ <ivy:cachepath pathid="classpath.compile.widgetset" conf="compile-module" />
<echo>Compiling ${module} to ${module.output.dir}</echo>
<mkdir dir="${module.output.dir}" />
@@ -72,29 +72,36 @@
<echo>Compiled ${module}</echo>
</target>
-
<target name="jar" depends="default-widgetset">
+ <antcall target="common.pom.xml">
+ </antcall>
<property name="result.jar" location="${result.dir}/lib/${module.name}-${vaadin.version}.jar" />
- <property name="module.output.dir" location="${result.dir}/VAADIN/widgetsets" />
<jar file="${result.jar}" compress="true">
- <fileset dir="${module.output.dir}">
+ <fileset dir="${result.dir}">
+ <include name="VAADIN/widgetsets/**" />
+ <include name="pom.xml" />
+ <exclude name="VAADIN/widgetsets/WEB-INF"/>
</fileset>
<fileset refid="common.files.for.all.jars" />
</jar>
</target>
<target name="publish-local" depends="jar">
- <antcall target="common.publish-local" />
+ <antcall target="common.publish-local">
+ <param name="conf" value="build" />
+ </antcall>
+ </ivy:publish>
+-->
</target>
- <target name="clean">
- <antcall target="common.clean" />
- </target>
+<target name="clean">
+ <antcall target="common.clean" />
+</target>
- <target name="tests">
- <!--<antcall target="common.tests.run" />-->
- <echo>WHAT? No tests for ${module.name}!</echo>
- </target>
+<target name="tests">
+ <!--<antcall target="common.tests.run" />-->
+ <echo>WHAT? No tests for ${module.name}!</echo>
+</target>
</project> \ No newline at end of file
diff --git a/client-compiled/ivy.xml b/client-compiled/ivy.xml
index 5e739a0d0d..7c0fcf0162 100644
--- a/client-compiled/ivy.xml
+++ b/client-compiled/ivy.xml
@@ -8,19 +8,20 @@
<configurations>
<conf name="build" />
+ <conf name="compile-module" visibility="private" />
</configurations>
<publications>
<artifact type="jar"></artifact>
</publications>
- <dependencies defaultconfmapping="*->build">
+ <dependencies>
<dependency org="com.vaadin" name="vaadin-server"
- rev="${vaadin.version}" />
+ rev="${vaadin.version}" conf="compile-module-> build" />
<dependency org="com.vaadin" name="vaadin-client"
- rev="${vaadin.version}" />
+ rev="${vaadin.version}" conf="compile-module-> build" />
<dependency org="com.vaadin" name="vaadin-client-compiler"
- rev="${vaadin.version}" />
+ rev="${vaadin.version}" conf="compile-module-> build" />
<dependency org="javax.validation" name="validation-api"
- rev="1.0.0.GA" conf="build-> default,sources" />
+ rev="1.0.0.GA" conf="compile-module-> default,sources" />
</dependencies>
</ivy-module>
diff --git a/client-compiler/ivy.xml b/client-compiler/ivy.xml
index f0cabd85bb..4eafb3cbae 100644
--- a/client-compiler/ivy.xml
+++ b/client-compiler/ivy.xml
@@ -9,7 +9,7 @@
<configurations>
<conf name="build" />
<conf name="build-provided" />
- <conf name="ide" />
+ <conf name="ide" visibility="private"/>
</configurations>
<publications>
<artifact></artifact>
diff --git a/client/ivy.xml b/client/ivy.xml
index 26c271fe22..e81984949f 100644
--- a/client/ivy.xml
+++ b/client/ivy.xml
@@ -9,7 +9,7 @@
<configurations>
<conf name="build" />
<conf name="build-provided" />
- <conf name="ide" />
+ <conf name="ide" visibility="private"/>
<conf name="tests" />
</configurations>
<publications>
diff --git a/common.xml b/common.xml
index 5e1943aba2..91a907f003 100644
--- a/common.xml
+++ b/common.xml
@@ -21,7 +21,9 @@
<fail unless="result.dir" message="No result.dir parameter given" />
<property name="ivy.xml" location="${result.dir}/../ivy.xml" />
<property name="pom.xml" location="${result.dir}/pom.xml" />
- <ivy:makepom templatefile="${vaadin.basedir}/pom-template.xml" ivyfile="${ivy.xml}" pomfile="${pom.xml}" conf="build, build-provided">
+ <property name="conf" value="build, build-provided" />
+
+ <ivy:makepom templatefile="${vaadin.basedir}/pom-template.xml" ivyfile="${ivy.xml}" pomfile="${pom.xml}" conf="${conf}">
<mapping conf="build" scope="compile" />
<mapping conf="build-provided" scope="provided" />
</ivy:makepom>
@@ -201,9 +203,10 @@
<target name="publish-local" description="Publishes the given module to the local repository">
<fail unless="result.dir" message="No result.dir parameter given" />
+ <property name="conf" value="*(public)" />
<ivy:resolve />
- <ivy:publish resolver="build-temp" overwrite="true" forcedeliver="true">
+ <ivy:publish conf="${conf}" resolver="build-temp" overwrite="true" forcedeliver="true">
<!-- <artifacts pattern="${result.dir}/[artifact]-[revision].[ext]" />-->
<artifacts pattern="${result.dir}/lib/[artifact]-[revision](-[classifier]).[ext]" />
diff --git a/ivysettings.xml b/ivysettings.xml
index 63d97b304c..f9b3450be3 100644
--- a/ivysettings.xml
+++ b/ivysettings.xml
@@ -41,8 +41,12 @@
resolver="build-temp" />
<module organisation="com.vaadin" name="vaadin-client-compiler"
resolver="build-temp" />
+ <module organisation="com.vaadin" name="vaadin-client-compiled"
+ resolver="build-temp" />
<module organisation="com.vaadin" name="vaadin-theme-compiler"
resolver="build-temp" />
+ <module organisation="com.vaadin" name="vaadin-themes-compiled"
+ resolver="build-temp" />
</modules>
diff --git a/server/build.xml b/server/build.xml
index 1d3f8a5938..2763d5ff10 100644
--- a/server/build.xml
+++ b/server/build.xml
@@ -16,13 +16,14 @@
<union id="jar.includes">
<union refid="server.gwt.includes" />
- <fileset dir="${vaadin.basedir}">
- <include name="WebContent/VAADIN/vaadinBootstrap.js" />
+ <fileset dir="${vaadin.basedir}/WebContent">
+ <include name="VAADIN/vaadinBootstrap.js" />
</fileset>
</union>
<target name="jar">
<antcall target="common.jar">
+ <param name="conf" value="build" />
<reference torefid="extra.jar.includes" refid="jar.includes" />
</antcall>
</target>
@@ -36,7 +37,7 @@
</target>
<target name="tests">
- <antcall target="common.tests.run"/>
+ <antcall target="common.tests.run" />
</target>
diff --git a/server/ivy.xml b/server/ivy.xml
index 10f06700e5..e6f3d60de6 100644
--- a/server/ivy.xml
+++ b/server/ivy.xml
@@ -9,8 +9,8 @@
<configurations>
<conf name="build" />
<conf name="build-provided" />
- <conf name="ide" />
- <conf name="tests" />
+ <conf name="ide" visibility="private"/>
+ <conf name="tests" visibility="private"/>
</configurations>
<publications>
<artifact></artifact>
@@ -39,8 +39,6 @@
<!-- Project modules -->
<dependency org="com.vaadin" name="vaadin-shared"
rev="${vaadin.version}" conf="build,tests" />
- <dependency org="com.vaadin" name="vaadin-buildhelpers"
- rev="${vaadin.version}" conf="build,tests" />
<!-- Jsoup for BootstrapHandler -->
<dependency org="org.jsoup" name="jsoup" rev="1.6.3"
diff --git a/shared/ivy.xml b/shared/ivy.xml
index a20956214b..f445514bcd 100644
--- a/shared/ivy.xml
+++ b/shared/ivy.xml
@@ -9,16 +9,13 @@
<configurations>
<conf name="build" />
<conf name="build-provided" />
- <conf name="ide" />
+ <conf name="ide" visibility="private"/>
<conf name="tests" />
</configurations>
<publications>
<artifact></artifact>
</publications>
<dependencies>
- <dependency org="com.vaadin" name="vaadin-buildhelpers"
- rev="${vaadin.version}" conf="build"></dependency>
-
</dependencies>
</ivy-module>
diff --git a/theme-compiler/build.xml b/theme-compiler/build.xml
index 71b1a6ae3e..aa378f7769 100644
--- a/theme-compiler/build.xml
+++ b/theme-compiler/build.xml
@@ -13,7 +13,7 @@
<path id="classpath.compile.custom" />
<path id="classpath.tests.custom" />
- <property name="classes.exclude" value="com/vaadin/buildhelpers/**" />
+ <!--<property name="classes.exclude" value="com/vaadin/buildhelpers/**" />-->
<target name="jar">
<antcall target="common.jar">
diff --git a/theme-compiler/ivy.xml b/theme-compiler/ivy.xml
index 1876a0fed1..00da62582c 100644
--- a/theme-compiler/ivy.xml
+++ b/theme-compiler/ivy.xml
@@ -9,7 +9,7 @@
<configurations>
<conf name="build" />
<conf name="build-provided" />
- <conf name="ide" />
+ <conf name="ide" visibility="private"/>
<conf name="tests" />
</configurations>
<publications>
@@ -18,6 +18,12 @@
<artifact type="javadoc" ext="jar" />
</publications>
<dependencies defaultconf="*->default">
+ <!-- LIBRARY DEPENDENCIES (compile time) -->
+ <!-- Project modules -->
+ <dependency org="com.vaadin" name="vaadin-shared"
+ rev="${vaadin.version}" conf="build,tests" />
+
+
<dependency org="org.w3c.css" name="sac" rev="1.3" />
<dependency org="milyn" name="flute" rev="1.3" conf="*->default" />
<dependency org="javax.servlet" name="servlet-api"
@@ -30,6 +36,8 @@
conf="tests -> default" />
<dependency org="net.sourceforge.cssparser" name="cssparser"
rev="0.9.5" conf="tests,ide->default" />
+ <dependency org="commons-cli" name="commons-cli" rev="1.2"
+ conf="build,ide -> default" />
</dependencies>
</ivy-module>
diff --git a/theme-compiler/src/com/vaadin/buildhelpers/CompileDefaultTheme.java b/theme-compiler/src/com/vaadin/buildhelpers/CompileDefaultTheme.java
deleted file mode 100755
index 5b17ae4902..0000000000
--- a/theme-compiler/src/com/vaadin/buildhelpers/CompileDefaultTheme.java
+++ /dev/null
@@ -1,121 +0,0 @@
-package com.vaadin.buildhelpers;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileNotFoundException;
-import java.io.FileWriter;
-import java.io.IOException;
-
-import com.vaadin.sass.ScssStylesheet;
-
-/**
- * Helper to combine css divided into separate per component dirs into one to
- * optimize http requests.
- */
-public class CompileDefaultTheme {
-
- private static final String ARG_VERSION = "-version";
-
- private static final String THEME_DIR = "./WebContent/VAADIN/themes/";
- private static final String BASE = "base";
- private static final String RUNO = "runo";
- private static final String REINDEER = "reindeer";
- private static final String LIFERAY = "liferay";
- private static final String CHAMELEON = "chameleon";
-
- /**
- * @param args
- * @throws IOException
- */
- public static void main(String[] args) throws IOException {
- String ver = null;
- for (int i = 0; i < args.length; i++) {
- if (ARG_VERSION.equals(args[i])) {
- if (args.length >= i) {
- ver = args[i + 1];
- }
- break;
- }
- }
-
- for (String themeName : new String[] { BASE, RUNO, LIFERAY, CHAMELEON }) {
- try {
- processSassTheme(themeName, false, ver);
- System.out.println("Compiling theme " + themeName
- + " successful");
- } catch (Exception e) {
- System.err.println("Compiling theme " + themeName + " failed");
- e.printStackTrace();
- }
- }
-
- // Compile Reindeer last, since it requires the spriting operation
- // (makes testing the other themes a bit faster, since you don't need to
- // wait for the spriting operation to finish before the theme CSS is
- // compiled)
- for (String themeName : new String[] { REINDEER }) {
- try {
- processSassTheme(themeName, true, ver);
- System.out.println("Compiling theme " + themeName
- + " successful");
- } catch (Exception e) {
- System.err.println("Compiling theme " + themeName + " failed");
- e.printStackTrace();
- }
- }
- }
-
- private static void processSassTheme(String themeName,
- boolean useSmartSprites, String version) throws Exception {
-
- StringBuffer cssHeader = new StringBuffer();
-
- // Theme version
- if (version == null) {
- version = "9.9.9.INTERNAL-DEBUG-BUILD";
- }
- version = version.replaceAll("\\.", "_");
- cssHeader.append(".v-theme-version:after {content:\"" + version
- + "\";}\n");
- cssHeader.append(".v-theme-version-" + version + " {display: none;}\n");
-
- String stylesCssDir = THEME_DIR + themeName + "/";
- String stylesCssName = stylesCssDir + "styles.css";
-
- // Process as SASS file
- ScssStylesheet scss = ScssStylesheet.get(stylesCssDir + "styles.scss");
- scss.compile();
-
- BufferedWriter out = new BufferedWriter(new FileWriter(stylesCssName));
- out.write(cssHeader.toString());
- out.write(scss.toString());
- out.close();
-
- System.out.println("Compiled CSS to " + stylesCssName + " ("
- + scss.toString().length() + " bytes)");
-
- if (useSmartSprites) {
- createSprites(themeName);
- System.out.println("Used SmartSprites to create sprites");
- File oldCss = new File(stylesCssName);
- oldCss.delete();
-
- File newCss = new File(stylesCssDir + "styles-sprite.css");
- boolean ok = newCss.renameTo(oldCss);
- if (!ok) {
- System.out.println("Rename " + newCss + " -> " + oldCss
- + " failed");
- }
- }
- }
-
- private static void createSprites(String themeName)
- throws FileNotFoundException, IOException {
- String[] parameters = new String[] { "--sprite-png-depth", "AUTO",
- "--css-file-suffix", "-sprite", "--css-file-encoding", "UTF-8",
- "--root-dir-path", THEME_DIR + themeName, "--log-level", "WARN" };
-
- org.carrot2.labs.smartsprites.SmartSprites.main(parameters);
-
- }
-}
diff --git a/theme-compiler/src/com/vaadin/buildhelpers/CompileTheme.java b/theme-compiler/src/com/vaadin/buildhelpers/CompileTheme.java
new file mode 100644
index 0000000000..c0bfb9aa7f
--- /dev/null
+++ b/theme-compiler/src/com/vaadin/buildhelpers/CompileTheme.java
@@ -0,0 +1,114 @@
+package com.vaadin.buildhelpers;
+
+import java.io.BufferedWriter;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileWriter;
+import java.io.IOException;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.Options;
+import org.apache.commons.cli.ParseException;
+import org.apache.commons.cli.PosixParser;
+
+import com.vaadin.sass.ScssStylesheet;
+import com.vaadin.shared.Version;
+
+/**
+ * Helper to combine css divided into separate per component dirs into one to
+ * optimize http requests.
+ */
+public class CompileTheme {
+
+ /**
+ * @param args
+ * @throws IOException
+ * @throws ParseException
+ */
+ public static void main(String[] args) throws IOException, ParseException {
+ Options options = new Options();
+ options.addOption("t", "theme", true, "the theme to compile");
+ options.addOption("f", "theme-folder", true,
+ "the folder containing the theme");
+ options.addOption("s", "sprites", true, "use smartsprites");
+ CommandLineParser parser = new PosixParser();
+ CommandLine params = parser.parse(options, args);
+ if (!params.hasOption("theme") || !params.hasOption("theme-folder")) {
+ // automatically generate the help statement
+ HelpFormatter formatter = new HelpFormatter();
+ formatter.printHelp(CompileTheme.class.getName(), options);
+ return;
+ }
+ String themeName = params.getOptionValue("theme");
+ String themeFolder = params.getOptionValue("theme-folder");
+ boolean useSprites = params.hasOption("sprites");
+
+ String version = Version.getFullVersion();
+ try {
+ processSassTheme(themeFolder, themeName, useSprites, version);
+ System.out.println("Compiling theme " + themeName + " successful");
+ } catch (Exception e) {
+ System.err.println("Compiling theme " + themeName + " failed");
+ e.printStackTrace();
+ }
+ }
+
+ private static void processSassTheme(String themeFolder, String themeName,
+ boolean useSmartSprites, String version) throws Exception {
+
+ StringBuffer cssHeader = new StringBuffer();
+
+ version = version.replaceAll("\\.", "_");
+ cssHeader.append(".v-theme-version:after {content:\"" + version
+ + "\";}\n");
+ cssHeader.append(".v-theme-version-" + version + " {display: none;}\n");
+
+ String stylesCssDir = themeFolder + File.separator + themeName
+ + File.separator;
+ String stylesCssName = stylesCssDir + "styles.css";
+
+ // Process as SASS file
+ String sassFile = stylesCssDir + "styles.scss";
+ ScssStylesheet scss = ScssStylesheet.get(sassFile);
+ if (scss == null) {
+ throw new IllegalArgumentException("SASS file: " + sassFile
+ + " not found");
+ }
+ scss.compile();
+
+ BufferedWriter out = new BufferedWriter(new FileWriter(stylesCssName));
+ out.write(cssHeader.toString());
+ out.write(scss.toString());
+ out.close();
+
+ System.out.println("Compiled CSS to " + stylesCssName + " ("
+ + scss.toString().length() + " bytes)");
+
+ if (useSmartSprites) {
+ createSprites(themeFolder, themeName);
+ System.out.println("Used SmartSprites to create sprites");
+ File oldCss = new File(stylesCssName);
+ oldCss.delete();
+
+ File newCss = new File(stylesCssDir + "styles-sprite.css");
+ boolean ok = newCss.renameTo(oldCss);
+ if (!ok) {
+ System.out.println("Rename " + newCss + " -> " + oldCss
+ + " failed");
+ }
+ }
+ }
+
+ private static void createSprites(String themeFolder, String themeName)
+ throws FileNotFoundException, IOException {
+ String[] parameters = new String[] { "--sprite-png-depth", "AUTO",
+ "--css-file-suffix", "-sprite", "--css-file-encoding", "UTF-8",
+ "--root-dir-path", themeFolder + File.separator + themeName,
+ "--log-level", "WARN" };
+
+ org.carrot2.labs.smartsprites.SmartSprites.main(parameters);
+
+ }
+}
diff --git a/themes-compiled/build.xml b/themes-compiled/build.xml
new file mode 100644
index 0000000000..c295c570cd
--- /dev/null
+++ b/themes-compiled/build.xml
@@ -0,0 +1,103 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-client-compiler" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant">
+ <description>
+ Themes compiled to CSS
+ </description>
+
+ <include file="../common.xml" as="common" />
+ <include file="../build.xml" as="vaadin" />
+ <include file="../gwt-files.xml" as="gwtfiles" />
+
+ <!-- global properties -->
+ <property name="module.name" value="vaadin-themes-compiled" />
+ <property name="result.dir" value="result" />
+ <property name="theme.result.dir" value="${result.dir}/VAADIN/themes" />
+
+ <target name="compile-themes">
+ <ivy:resolve resolveid="common" conf="build" />
+ <ivy:cachepath pathid="classpath.compile.theme" conf="build" />
+
+ <antcall target="compile-theme">
+ <param name="theme" value="base" />
+ </antcall>
+ <antcall target="compile-theme">
+ <param name="theme" value="runo" />
+ </antcall>
+ <antcall target="compile-theme">
+ <param name="theme" value="reindeer" />
+ </antcall>
+ <antcall target="compile-theme">
+ <param name="theme" value="chameleon" />
+ </antcall>
+ <antcall target="compile-theme">
+ <param name="theme" value="liferay" />
+ </antcall>
+ </target>
+
+ <target name="jar" depends="compile-themes">
+ <fail unless="module.name" message="No module.name parameter given" />
+
+ <property name="result.dir" location="result" />
+ <property name="result.jar" location="${result.dir}/lib/${module.name}-${vaadin.version}.jar" />
+ <property name="classes" location="{$result.dir}/classes" />
+
+ <jar jarfile="${result.jar}">
+ <fileset dir="${result.dir}">
+ <include name="VAADIN/themes/**" />
+ </fileset>
+ <fileset refid="common.files.for.all.jars" />
+ </jar>
+
+ </target>
+ <target name="copy-theme">
+ <fail unless="theme" message="You must give the theme name to copy n the 'theme' parameter" />
+ <property name="theme.source.dir" location="../WebContent/VAADIN/themes" />
+
+ <copy todir="${theme.result.dir}">
+ <fileset dir="${theme.source.dir}">
+ <include name="${theme}/**" />
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="compile-theme" depends="copy-theme">
+ <fail unless="theme" message="You must give the theme name to compile in the 'theme' parameter" />
+
+ <ivy:resolve resolveid="common" conf="compile-theme" />
+ <ivy:cachepath pathid="classpath.compile.theme" conf="compile-theme" />
+ <ivy:cachepath pathid="classpath.runtime.theme" conf="build" />
+
+ <echo>Compiling ${theme}</echo>
+ <mkdir dir="${theme.result.dir}" />
+
+ <!-- compile the theme -->
+ <java classname="com.vaadin.buildhelpers.CompileTheme" classpathref="classpath.compile.theme" failonerror="yes" fork="yes" maxmemory="512m">
+ <arg value="--theme" />
+ <arg value="${theme}" />
+ <arg value="--theme-folder" />
+ <arg value="${theme.result.dir}" />
+ <jvmarg value="-Xss8M" />
+ <jvmarg value="-XX:MaxPermSize=256M" />
+ <jvmarg value="-Djava.awt.headless=true" />
+ </java>
+
+ </target>
+
+
+ <target name="publish-local" depends="jar">
+ <antcall target="common.publish-local">
+
+ </antcall>
+ </target>
+
+ <target name="clean">
+ <antcall target="common.clean" />
+ </target>
+
+ <target name="tests">
+ <!--<antcall target="common.tests.run" />-->
+ <echo>WHAT? No tests for ${module.name}!</echo>
+ </target>
+
+</project> \ No newline at end of file
diff --git a/themes-compiled/ivy.xml b/themes-compiled/ivy.xml
new file mode 100644
index 0000000000..746acf38c1
--- /dev/null
+++ b/themes-compiled/ivy.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ivy-module version="2.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
+
+ <info organisation="com.vaadin" module="vaadin-themes-compiled"
+ revision="${vaadin.version}" />
+
+ <configurations>
+ <conf name="build" />
+ <conf name="compile-theme" visibility="private" />
+ </configurations>
+ <publications>
+ <artifact type="jar"></artifact>
+ </publications>
+ <dependencies>
+ <dependency org="com.vaadin" name="vaadin-theme-compiler"
+ rev="${vaadin.version}" conf="compile-theme->build" />
+ </dependencies>
+
+</ivy-module>
diff --git a/uitest/build.xml b/uitest/build.xml
index 6b8a6934c3..8a5fe71b35 100644
--- a/uitest/build.xml
+++ b/uitest/build.xml
@@ -17,8 +17,8 @@
<target name="dependencies">
<!-- This is copied from common.xml to be able to add server.tests.source to the source path -->
- <ivy:resolve resolveid="common" conf="build, build-provided" />
- <ivy:cachepath pathid="classpath.compile.dependencies" conf="build, build-provided" />
+ <ivy:resolve resolveid="common" conf="build" />
+ <ivy:cachepath pathid="classpath.compile.dependencies" conf="build" />
</target>
<target name="compile" description="Compiles the module" depends="dependencies">
@@ -55,10 +55,14 @@
<property name="WebContent.dir" location="${vaadin.basedir}/WebContent" />
<property name="deps.dir" location="${result.dir}/deps" />
+ <ivy:resolve resolveid="common" conf="build" />
+ <ivy:cachepath pathid="classpath.runtime.dependencies" conf="build" />
+ <delete dir="${deps.dir}" />
<mkdir dir="${deps.dir}" />
+
<copy todir="${deps.dir}" flatten="true">
- <path refid="classpath.compile.dependencies" />
+ <path refid="classpath.runtime.dependencies" />
</copy>
<war destfile="${result.war}" duplicate="fail" index="true">
diff --git a/uitest/ivy.xml b/uitest/ivy.xml
index 2e4829b721..583e09c76b 100644
--- a/uitest/ivy.xml
+++ b/uitest/ivy.xml
@@ -8,8 +8,7 @@
<configurations>
<conf name="build" />
- <conf name="build-provided" />
- <conf name="ide" />
+ <conf name="ide" visibility="private" />
</configurations>
<publications>
<artifact type="war" />
@@ -17,28 +16,26 @@
<dependencies defaultconf="build" defaultconfmapping="build,ide->default">
<!-- API DEPENDENCIES -->
<dependency org="javax.portlet" name="portlet-api"
- rev="2.0" conf="build-provided,ide -> default" />
+ rev="2.0" conf="ide -> default" />
<dependency org="javax.validation" name="validation-api"
- rev="1.0.0.GA" conf="build-provided,ide -> default" />
+ rev="1.0.0.GA" conf="ide -> default" />
<!--Servlet API version 2.5 -->
<dependency org="javax.servlet" name="servlet-api"
- rev="2.5" conf="build-provided,ide -> default" />
+ rev="2.5" conf="ide -> default" />
<!-- Google App Engine -->
<dependency org="com.google.appengine" name="appengine-api-1.0-sdk"
- rev="1.2.1" conf="build-provided,ide -> default" />
+ rev="1.2.1" conf="ide -> default" />
<!-- LIBRARY DEPENDENCIES (compile time) -->
<!-- Project modules -->
<dependency org="com.vaadin" name="vaadin-server"
rev="${vaadin.version}" conf="build->build"></dependency>
- <dependency org="com.vaadin" name="vaadin-client"
+ <dependency org="com.vaadin" name="vaadin-client-compiled"
rev="${vaadin.version}" conf="build->build"></dependency>
-<!-- <dependency org="com.vaadin" name="vaadin-client-compiled"
+ <dependency org="com.vaadin" name="vaadin-themes-compiled"
rev="${vaadin.version}" conf="build->build"></dependency>
- <dependency org="com.vaadin" name="vaadin-theme-compiled"
- rev="${vaadin.version}" conf="build->build"></dependency>
--->
+
<dependency org="org.mortbay.jetty" name="jetty" rev="6.1.11"
conf="build,ide->default" />
<dependency org="org.mortbay.jetty" name="jetty-util"