summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtur Signell <artur@vaadin.com>2012-08-23 10:43:24 +0300
committerArtur Signell <artur@vaadin.com>2012-09-09 11:22:53 +0300
commit0a77dae8b57a99cb5112a387b2a374c14e1fae1b (patch)
tree992dbc6efa884c1daae9030191e3ddba147ffd53
parent0c34d82bf947439e9ad9513c9758fb753425c5e4 (diff)
downloadvaadin-framework-0a77dae8b57a99cb5112a387b2a374c14e1fae1b.tar.gz
vaadin-framework-0a77dae8b57a99cb5112a387b2a374c14e1fae1b.zip
Created separate build.xml files for each module (#9299)
-rw-r--r--.gitignore4
-rw-r--r--build.properties8
-rw-r--r--build.xml32
-rw-r--r--build/package/META-INF/MANIFEST.MF2
-rw-r--r--buildhelpers/build.xml27
-rw-r--r--buildhelpers/ivy.xml18
-rw-r--r--buildhelpers/src/com/vaadin/buildhelpers/GeneratePackageExports.java (renamed from build/buildhelpers/com/vaadin/buildhelpers/GeneratePackageExports.java)0
-rw-r--r--buildhelpers/src/com/vaadin/buildhelpers/ManifestWriter.java (renamed from build/buildhelpers/com/vaadin/buildhelpers/ManifestWriter.java)0
-rwxr-xr-xclient-compiler/build.xml32
-rwxr-xr-xclient-compiler/ivy.xml25
-rw-r--r--client/build.xml32
-rw-r--r--client/ivy.xml28
-rw-r--r--common.xml156
-rwxr-xr-xgwt-files.xml119
-rw-r--r--ivysettings.xml49
-rw-r--r--pom-template.xml62
-rw-r--r--server/build.xml29
-rw-r--r--server/ivy.xml55
-rw-r--r--shared/build.xml31
-rw-r--r--shared/ivy.xml22
-rw-r--r--theme-compiler/build.xml29
-rw-r--r--theme-compiler/ivy.xml30
-rw-r--r--theme-compiler/ivymodule/smartsprites-ivy-0.2.3-itmill.xml38
-rwxr-xr-x[-rw-r--r--]theme-compiler/src/com/vaadin/buildhelpers/CompileDefaultTheme.java (renamed from build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java)0
24 files changed, 827 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 999a655caf..fbc7eee0af 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,3 +59,7 @@
# Mac
*.DS_Store
+
+# build result folders
+*/result
+result \ No newline at end of file
diff --git a/build.properties b/build.properties
new file mode 100644
index 0000000000..7da02058ac
--- /dev/null
+++ b/build.properties
@@ -0,0 +1,8 @@
+javadoc.doctitle=<h1>Vaadin</h1>
+javadoc.bottom=<i>Copyright &#169; 2000-2011 Vaadin Ltd. All Rights Reserved.</i>
+ivy.organisation=com.vaadin
+vaadin.vendor=Vaadin Ltd
+vaadin.java.version=6
+vaadin.version=0.0.0.noversion
+
+
diff --git a/build.xml b/build.xml
new file mode 100644
index 0000000000..f735a6ae7a
--- /dev/null
+++ b/build.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+
+<project name="vaadin" basedir="." default="all" xmlns:ivy="antlib:org.apache.ivy.ant">
+ <include file="common.xml" as="common" />
+
+ <path id="vaadin.buildhelpers.classpath" location="${vaadin.basedir}/buildhelpers/result/classes" />
+
+ <!-- =================================
+ target: all
+ ================================= -->
+ <!--<target name="all" description="Compiles all parts of the project" depends="buildhelpers,theme-compiler,shared,server,client">-->
+ <target name="all" description="Compiles all parts of the project" depends="buildorder">
+
+ <subant buildpathref="build-path">
+ </subant>
+ </target>
+
+ <target name="buildorder">
+ <!-- Find out a good build order -->
+ <ivy:buildlist reference="build-path">
+ <fileset dir="." includes="**/build.xml">
+ <exclude name="build.xml" />
+ <exclude name="build/**" />
+ </fileset>
+ </ivy:buildlist>
+ </target>
+ <target name="clean" depends="buildorder">
+ <subant buildpathref="build-path" target="clean">
+ </subant>
+ </target>
+
+</project>
diff --git a/build/package/META-INF/MANIFEST.MF b/build/package/META-INF/MANIFEST.MF
index ba28f96394..5d2e13a4da 100644
--- a/build/package/META-INF/MANIFEST.MF
+++ b/build/package/META-INF/MANIFEST.MF
@@ -2,5 +2,5 @@ Bundle-ManifestVersion: 2
Bundle-Name: Vaadin
Bundle-SymbolicName: com.vaadin
Bundle-Vendor: Vaadin Ltd
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: javax.servlet; version="2.3.0",javax.servlet.http; version="2.3.0"
diff --git a/buildhelpers/build.xml b/buildhelpers/build.xml
new file mode 100644
index 0000000000..6137082e6b
--- /dev/null
+++ b/buildhelpers/build.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-buildhelpers" basedir="." default="publish">
+ <description>
+ Compiles build helpers used when building other modules.
+ </description>
+ <include file="../build.xml" as="vaadin" />
+ <include file="../common.xml" as="common" />
+
+ <property name="module.name" value="vaadin-buildhelpers" />
+ <property name="result.dir" location="result" />
+ <path id="classpath.compile.custom" />
+
+ <target name="jar">
+ <antcall target="common.jar">
+ <reference torefid="extra.jar.includes" refid="empty.reference" />
+ </antcall>
+ </target>
+
+ <target name="publish" depends="jar">
+ <antcall target="common.publish-local" />
+ </target>
+
+ <target name="clean">
+ <antcall target="common.clean" />
+ </target>
+</project> \ No newline at end of file
diff --git a/buildhelpers/ivy.xml b/buildhelpers/ivy.xml
new file mode 100644
index 0000000000..63fee56709
--- /dev/null
+++ b/buildhelpers/ivy.xml
@@ -0,0 +1,18 @@
+<?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-buildhelpers"
+ revision="${vaadin.version}" />
+
+ <configurations>
+ <conf name="build" />
+ <conf name="ide" />
+ </configurations>
+ <publications>
+ <artifact type="jar" />
+ </publications>
+ <dependencies />
+
+</ivy-module>
diff --git a/build/buildhelpers/com/vaadin/buildhelpers/GeneratePackageExports.java b/buildhelpers/src/com/vaadin/buildhelpers/GeneratePackageExports.java
index 0deebdc9a1..0deebdc9a1 100644
--- a/build/buildhelpers/com/vaadin/buildhelpers/GeneratePackageExports.java
+++ b/buildhelpers/src/com/vaadin/buildhelpers/GeneratePackageExports.java
diff --git a/build/buildhelpers/com/vaadin/buildhelpers/ManifestWriter.java b/buildhelpers/src/com/vaadin/buildhelpers/ManifestWriter.java
index a6130e2a46..a6130e2a46 100644
--- a/build/buildhelpers/com/vaadin/buildhelpers/ManifestWriter.java
+++ b/buildhelpers/src/com/vaadin/buildhelpers/ManifestWriter.java
diff --git a/client-compiler/build.xml b/client-compiler/build.xml
new file mode 100755
index 0000000000..71e15cac46
--- /dev/null
+++ b/client-compiler/build.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-client-compiler" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant">
+ <description>
+ Compiles build helpers used when building other modules.
+ </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-client-compiler" />
+ <property name="result.dir" value="result" />
+ <path id="classpath.compile.custom">
+ <fileset file="${gwt.dev.jar}"/>
+ </path>
+
+ <target name="jar">
+ <antcall target="common.jar">
+ <reference refid="client-compiler.gwt.includes" torefid="extra.jar.includes" />
+ </antcall>
+
+ </target>
+
+ <target name="publish-local" depends="jar">
+ <antcall target="common.publish-local" />
+ </target>
+
+ <target name="clean">
+ <antcall target="common.clean" />
+ </target>
+</project> \ No newline at end of file
diff --git a/client-compiler/ivy.xml b/client-compiler/ivy.xml
new file mode 100755
index 0000000000..79def69bd8
--- /dev/null
+++ b/client-compiler/ivy.xml
@@ -0,0 +1,25 @@
+<?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-client-compiler"
+ revision="${vaadin.version}" />
+
+ <configurations>
+ <conf name="build" />
+ <conf name="ide" />
+ </configurations>
+ <publications>
+ <artifact></artifact>
+ </publications>
+ <dependencies>
+ <dependency org="com.vaadin" name="vaadin-shared"
+ rev="${vaadin.version}"></dependency>
+ <dependency org="com.vaadin" name="vaadin-server"
+ rev="${vaadin.version}"></dependency>
+ <dependency org="com.vaadin" name="vaadin-client"
+ rev="${vaadin.version}"></dependency>
+ </dependencies>
+
+</ivy-module>
diff --git a/client/build.xml b/client/build.xml
new file mode 100644
index 0000000000..99dbb268d5
--- /dev/null
+++ b/client/build.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-client" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant">
+ <description>
+ Compiles build helpers used when building other modules.
+ </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-client" />
+ <property name="result.dir" value="result" />
+
+ <path id="classpath.compile.custom">
+ <fileset file="${gwt.user.jar}"/>
+ </path>
+
+ <target name="jar">
+ <antcall target="common.jar">
+ <reference refid="client.gwt.includes" torefid="extra.jar.includes" />
+ </antcall>
+ </target>
+
+ <target name="publish-local" depends="jar">
+ <antcall target="common.publish-local" />
+ </target>
+
+ <target name="clean">
+ <antcall target="common.clean" />
+ </target>
+</project> \ No newline at end of file
diff --git a/client/ivy.xml b/client/ivy.xml
new file mode 100644
index 0000000000..953ca51a61
--- /dev/null
+++ b/client/ivy.xml
@@ -0,0 +1,28 @@
+<?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-client"
+ revision="${vaadin.version}" />
+
+ <configurations>
+ <conf name="build" />
+ <conf name="ide" />
+ </configurations>
+ <publications>
+ <artifact></artifact>
+ </publications>
+ <dependencies>
+ <dependency org="com.vaadin" name="vaadin-shared"
+ rev="${vaadin.version}" conf="build"></dependency>
+ <dependency org="com.vaadin" name="vaadin-server"
+ rev="${vaadin.version}" conf="build"></dependency>
+
+ <!-- gwt-dev dependencies -->
+ <dependency org="net.sourceforge.cssparser" name="cssparser"
+ rev="0.9.5" />
+
+ </dependencies>
+
+</ivy-module>
diff --git a/common.xml b/common.xml
new file mode 100644
index 0000000000..7eef3f1b00
--- /dev/null
+++ b/common.xml
@@ -0,0 +1,156 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="common" basedir="." default="" xmlns:ivy="antlib:org.apache.ivy.ant">
+ <dirname property="vaadin.basedir" file="${ant.file.common}" />
+ <property file="${vaadin.basedir}/build.properties" />
+ <ivy:settings file="${vaadin.basedir}/ivysettings.xml" />
+
+ <union id="empty.reference" />
+
+ <!-- TODO Preprocess @version@ and more -->
+ <fileset dir="${vaadin.basedir}/WebContent" id="common.files.for.all.jars">
+ <patternset>
+ <include name="release-notes.html" />
+ <include name="license.html" />
+ <include name="css/**" />
+ <include name="img/**" />
+ </patternset>
+ </fileset>
+
+
+ <target name="pom.xml" description="Generates a pom.xml based on the Ivy configuration">
+ <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="compile, runtime">
+ <mapping conf="compile" scope="compile" />
+ <mapping conf="runtime" scope="runtime" />
+ </ivy:makepom>
+ </target>
+
+
+ <target name="sources.jar" depends="compile">
+ <fail unless="result.dir" message="No result.dir parameter given" />
+ <fail unless="module.name" message="No module.name parameter given" />
+ <fail unless="src" message="No src directory parameter given" />
+
+ <property name="sources.jar" location="${result.dir}/${module.name}-${vaadin.version}-sources.jar" />
+
+ <jar file="${sources.jar}" compress="true">
+ <fileset dir="${src}">
+ <patternset>
+ <include name="**/*.java" />
+ </patternset>
+ </fileset>
+ <fileset refid="common.files.for.all.jars" />
+ </jar>
+
+ </target>
+
+ <target name="javadoc.jar" depends="dependencies">
+ <fail unless="result.dir" message="No result.dir parameter given" />
+ <fail unless="module.name" message="No module.name parameter given" />
+ <fail unless="src" message="No src directory parameter given" />
+ <property name="javadoc.dir" value="${result.dir}/javadoc" />
+ <property name="javadoc.jar" location="${result.dir}/${module.name}-${vaadin.version}-javadoc.jar" />
+
+ <javadoc destdir="${javadoc.dir}" author="true" version="true" use="true" windowtitle="${module.name}">
+ <packageset dir="${src}" excludes="${classes.exclude}" />
+ <doctitle>&lt;h1>${module.name}&lt;/h1></doctitle>
+ <!-- <header><![CDATA[<script type="text/javascript" src=".html-style/style.js"></script>]]></header> -->
+ <bottom>${javadoc.bottom}</bottom>
+ <link offline="true" href="http://docs.oracle.com/javase/6/docs/api/" packagelistLoc="build/javadoc/j2se-1.6.0" />
+ <link offline="true" href="http://java.sun.com/j2ee/1.4/docs/api/" packagelistLoc="build/javadoc/j2ee-1.4" />
+ <classpath refid="classpath.compile.dependencies" />
+ </javadoc>
+
+ <!-- Create a javadoc jar -->
+ <jar file="${javadoc.jar}" compress="true">
+ <fileset dir="${javadoc.dir}" />
+ <fileset refid="common.files.for.all.jars" />
+ </jar>
+
+ </target>
+
+ <target name="jar" depends="compile, pom.xml">
+ <fail unless="result.dir" message="No result.dir parameter given" />
+ <fail unless="module.name" message="No module.name parameter given" />
+
+ <property name="result.jar" location="${result.dir}/lib/${module.name}-${vaadin.version}.jar" />
+ <property name="module.symbolic" value="com.vaadin.${module.name}" />
+ <property name="classes" location="{$result.dir}/classes" />
+ <property name="src" location="{$result.dir}/../src" />
+
+ <union id="jar.files">
+ <fileset dir="${classes}" excludes="${classes.exclude}" />
+ <fileset dir="${src}" excludes="${jar.exclude}" />
+ <fileset refid="common.files.for.all.jars" />
+ <fileset file="${pom.xml}" />
+ <union refid="extra.jar.includes" />
+ </union>
+ <jar destfile="${result.jar}" duplicate="fail" index="true">
+ <manifest>
+ <attribute name="Implementation-Vendor" value="Vaadin Ltd" />
+ <attribute name="Implementation-URL" value="http://vaadin.com" />
+ <attribute name="Implementation-Version" value="${vaadin.version}" />
+ <attribute name="Bundle-Version" value="${vaadin.version}" />
+ <attribute name="Bundle-ManifestVersion" value="2" />
+ <attribute name="Bundle-Name" value="${module.name}" />
+ <attribute name="Bundle-SymbolicName" value="${module.symbolic}" />
+ <attribute name="Bundle-Vendor" value="${vaadin.vendor}" />
+ <attribute name="Bundle-RequiredExecutionEnvironment" value="JavaSE-1.6" />
+ </manifest>
+ <union refid="jar.files" />
+ </jar>
+
+ <antcall target="common.generate-osgi-exports">
+ <param name="jar" value="${result.jar}" />
+ </antcall>
+
+ </target>
+
+ <target name="generate-osgi-exports">
+ <fail unless="jar" message="No jar parameter given" />
+
+ <!-- Generate the Export-Package attribute in the manifest of the
+ JAR -->
+ <java classname="com.vaadin.buildhelpers.GeneratePackageExports" failonerror="true" fork="yes">
+ <arg value="${jar}" />
+ <classpath refid="vaadin.buildhelpers.classpath" />
+ </java>
+ </target>
+
+ <target name="compile" description="Compiles the module" depends="dependencies">
+ <fail unless="module.name" message="No module name given" />
+ <property name="result.dir" location="result" />
+ <property name="src" location="${result.dir}/../src" />
+ <property name="classes" location="${result.dir}/classes" />
+
+ <mkdir dir="${classes}" />
+
+ <javac srcdir="${src}" destdir="${classes}" source="${vaadin.java.version}" target="${vaadin.java.version}" debug="true" encoding="UTF-8" includeantruntime="false">
+ <classpath refid="classpath.compile.dependencies" />
+ <classpath refid="classpath.compile.custom" />
+ </javac>
+ </target>
+
+ <target name="dependencies" description="Resolves dependencies needed by this module">
+ <ivy:resolve resolveid="common" conf="build" />
+ <ivy:cachepath pathid="classpath.compile.dependencies" conf="build" />
+ </target>
+
+ <target name="clean">
+ <fail unless="result.dir" message="No result.dir parameter given" />
+ <delete dir="${result.dir}" />
+ </target>
+
+ <target name="publish-local" description="Publishes the given module to the local repository">
+ <fail unless="result.dir" message="No result.dir parameter given" />
+
+ <ivy:resolve />
+ <ivy:publish resolver="build-temp" overwrite="true">
+ <!-- <artifacts pattern="${result.dir}/[artifact]-[revision].[ext]" />-->
+ <artifacts pattern="${result.dir}/lib/[artifact]-[revision](-[classifier]).[ext]" />
+
+ </ivy:publish>
+ </target>
+</project> \ No newline at end of file
diff --git a/gwt-files.xml b/gwt-files.xml
new file mode 100755
index 0000000000..953a92b871
--- /dev/null
+++ b/gwt-files.xml
@@ -0,0 +1,119 @@
+<?xml version="1.0"?>
+
+<project name="GWT files for Vaadin" basedir=".">
+ <include file="common.xml" as="common" />
+
+ <property name="gwt.lib.dir" location="${vaadin.basedir}/../gwt-libs" />
+
+ <property name="gwt.user.jar" location="${gwt.lib.dir}/gwt-user.jar" />
+ <property name="gwt.dev.jar" location="${gwt.lib.dir}/gwt-dev.jar" />
+ <property name="gwt.elemental.jar" location="${gwt.lib.dir}/gwt-elemental.jar" />
+ <property name="gwt.codeserver.jar" location="${gwt.lib.dir}/gwt-codeserver.jar" />
+
+ <available file="${gwt.dev.jar}" property="gwt.dev.jar.found" />
+ <available file="${gwt.user.jar}" property="gwt.user.jar.found" />
+ <available file="${gwt.elemental.jar}" property="gwt.elemental.jar.found" />
+ <available file="${gwt.codeserver.jar}" property="gwt.codeserver.jar.found" />
+
+ <fail unless="gwt.dev.jar.found" message="Could not find gwt-dev.jar" />
+ <fail unless="gwt.user.jar.found" message="Could not find gwt-user.jar" />
+ <fail unless="gwt.elemental.jar.found" message="Could not find gwt-elemental.jar" />
+ <fail unless="gwt.codeserver.jar.found" message="Could not find gwt-codeserver.jar" />
+
+ <property name="gwt.unpack.dir" location="${vaadin.basedir}/build/gwt" />
+
+ <property name="gwt.user.jar.files" location="${gwt.unpack.dir}/gwt-user.jar" />
+ <property name="gwt.dev.jar.files" location="${gwt.unpack.dir}/gwt-dev.jar" />
+ <property name="gwt.elemental.jar.files" location="${gwt.unpack.dir}/gwt-elemental.jar" />
+ <property name="gwt.codeserver.jar.files" location="${gwt.unpack.dir}/gwt-codeserver.jar" />
+
+ <target name="unpack.gwt">
+ <unzip dest="${gwt.user.jar.files}" src="${gwt.user.jar}" />
+ <unzip dest="${gwt.dev.jar.files}" src="${gwt.dev.jar}" />
+ <unzip dest="${gwt.elemental.jar.files}" src="${gwt.elemental.jar}" />
+ <unzip dest="${gwt.codeserver.jar.files}" src="${gwt.codeserver.jar}" />
+ </target>
+
+ <union id="client-compiler.gwt.includes">
+ <!-- GWT development JAR contents including many external dependencies (for now) -->
+ <fileset dir="${gwt.dev.jar.files}">
+ <exclude name="META-INF/**" />
+ <exclude name="/license*" />
+ <exclude name="/LICENSE*" />
+
+ <!-- Used by client and server apparently... -->
+ <exclude name="com/google/gwt/thirdparty/guava/**" />
+
+ <!-- Overridden in Vaadin -->
+ <exclude name="com/google/gwt/dev/About.properties" />
+
+ <!-- external dependencies declared in ixy.xml/pom.xml-->
+ <exclude name="javax/servlet/**" />
+ <exclude name="javax/xml/**" />
+ </fileset>
+
+ <!-- GWT SuperDevMode -->
+ <fileset dir="${gwt.codeserver.jar.files}">
+ <exclude name="META-INF/**" />
+ <include name="**/*.java" />
+ <include name="**/*.classes" />
+ </fileset>
+ </union>
+
+ <union id="client-compiled.gwt.includes">
+ <!-- Precompiled GWT modules (.gwtar file) -->
+ <fileset dir="${gwt.user.jar.files}">
+ <exclude name="META-INF/**" />
+
+ <!-- precompiled GWT modules (.gwtar) -->
+ <include name="**/*.gwtar" />
+ <!-- external dependencies -->
+ <exclude name="javax/servlet/**" />
+ <exclude name="org/w3c/css/sac/**" />
+
+ </fileset>
+ </union>
+
+ <union id="client.gwt.includes">
+ <fileset dir="${gwt.user.jar.files}">
+ <exclude name="META-INF/**" />
+ <!-- precompiled GWT modules (.gwtar) goes into client-compiled -->
+ <exclude name="**/*.gwtar" />
+ <!-- These go into server -->
+ <exclude name="com/google/gwt/*/server/**" />
+ <!-- These go into shared -->
+ <exclude name="com/google/gwt/*/shared/**" />
+ <exclude name="com/google/gwt/*/*/shared/**" />
+ <exclude name="com/google/web/bindery/*/shared/**" />
+
+
+ <!-- external dependencies -->
+ <exclude name="javax/servlet/**" />
+ <exclude name="org/w3c/css/sac/**" />
+ </fileset>
+ </union>
+
+ <union id="shared.gwt.includes">
+ <fileset dir="${gwt.user.jar.files}">
+ <!-- Shared files from user-->
+ <include name="com/google/gwt/*/shared/**" />
+ <include name="com/google/gwt/*/*/shared/**" />
+ <include name="com/google/web/bindery/*/shared/**" />
+ </fileset>
+ <fileset dir="${gwt.dev.jar.files}">
+ <!-- Used by client and server apparently... -->
+ <include name="com/google/gwt/thirdparty/guava/**" />
+ </fileset>
+ <!-- GWT Elemental -->
+ <fileset dir="${gwt.elemental.jar.files}">
+ <exclude name="META-INF/**" />
+ </fileset>
+ </union>
+
+ <union id="server.gwt.includes">
+ <fileset dir="${gwt.user.jar.files}">
+ <!-- Server files from gwt-user-->
+ <include name="com/google/gwt/*/server/**" />
+ </fileset>
+ </union>
+</project>
diff --git a/ivysettings.xml b/ivysettings.xml
new file mode 100644
index 0000000000..63d97b304c
--- /dev/null
+++ b/ivysettings.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ivysettings>
+ <!-- Default ivysettings.xml stuff -->
+ <include url="${ivy.default.settings.dir}/ivysettings-public.xml" />
+ <include url="${ivy.default.settings.dir}/ivysettings-shared.xml" />
+ <include url="${ivy.default.settings.dir}/ivysettings-local.xml" />
+ <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml" />
+ <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml" />
+
+ <!-- Customized stuff -->
+ <settings defaultResolver="public" />
+ <resolvers>
+ <ibiblio name="public" m2compatible="true" />
+ <dual name="custom-smartsprites">
+ <filesystem name="smartsprites-ivy">
+ <ivy pattern="${basedir}/ivymodule/[module]-ivy-[revision].xml" />
+ </filesystem>
+ <url name="smartsprites-artifact">
+ <artifact
+ pattern="http://dev.vaadin.com/svn/versions/6.8/build/smartsprites/lib/[artifact](-[revision]).[ext]" />
+ </url>
+ </dual>
+ <filesystem name="build-temp">
+ <ivy
+ pattern="${ivy.settings.dir}/result/artifacts/[revision]/[module]/ivy-[revision].xml" />
+ <artifact
+ pattern="${ivy.settings.dir}/result/artifacts/[revision]/[module]/[artifact]-[revision].[ext]" />
+ </filesystem>
+ </resolvers>
+ <modules>
+ <!-- IT Mill patched SmartSprites -->
+ <module organisation="com.carrotsearch" name="smartsprites"
+ revision="0.2.3-itmill" resolver="custom-smartsprites" />
+ <module organisation="com.vaadin" name="vaadin-buildhelpers"
+ resolver="build-temp" />
+ <module organisation="com.vaadin" name="vaadin-shared"
+ resolver="build-temp" />
+ <module organisation="com.vaadin" name="vaadin-server"
+ resolver="build-temp" />
+ <module organisation="com.vaadin" name="vaadin-client"
+ resolver="build-temp" />
+ <module organisation="com.vaadin" name="vaadin-client-compiler"
+ resolver="build-temp" />
+ <module organisation="com.vaadin" name="vaadin-theme-compiler"
+ resolver="build-temp" />
+ </modules>
+
+
+</ivysettings> \ No newline at end of file
diff --git a/pom-template.xml b/pom-template.xml
new file mode 100644
index 0000000000..cec0ca6dc4
--- /dev/null
+++ b/pom-template.xml
@@ -0,0 +1,62 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>com.vaadin</groupId>
+ <artifactId>${module.name}</artifactId>
+ <version>${vaadin.version}</version>
+ <name>Vaadin</name>
+ <organization>
+ <name>Vaadin Ltd</name>
+ <url>http://vaadin.com</url>
+ </organization>
+ <url>http://vaadin.com</url>
+ <description>
+ Vaadin is a web application framework for Rich Internet Applications (RIA).
+
+ Vaadin enables easy development and maintenance of fast and secure rich web
+ applications with a stunning look and feel and a wide browser support.
+ It features a server-side architecture with the majority of the logic running
+ on the server. Ajax technology is used at the browser-side to ensure a rich
+ and interactive user experience.
+ </description>
+ <licenses>
+ <license>
+ <name>Apache License Version 2.0</name>
+ <distribution>repo</distribution>
+ <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+ </license>
+ </licenses>
+ <distributionManagement>
+ <repository>
+ <id>vaadin-releases</id>
+ <name>Vaadin release repository</name>
+ <url>http://oss.sonatype.org/content/repositories/vaadin-releases/</url>
+ </repository>
+ <snapshotRepository>
+ <id>vaadin-snapshots</id>
+ <name>Vaadin snapshot repository</name>
+ <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
+ </snapshotRepository>
+ </distributionManagement>
+ <repositories>
+ <repository>
+ <id>vaadin-snapshots</id>
+ <url>http://oss.sonatype.org/content/repositories/vaadin-snapshots/</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>vaadin-releases</id>
+ <url>http://oss.sonatype.org/content/repositories/vaadin-releases/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ </repositories>
+</project> \ No newline at end of file
diff --git a/server/build.xml b/server/build.xml
new file mode 100644
index 0000000000..b4609cd265
--- /dev/null
+++ b/server/build.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-server" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant">
+ <description>
+ Compiles build helpers used when building other modules.
+ </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-server" />
+ <property name="result.dir" value="result" />
+ <path id="classpath.compile.custom" />
+
+ <target name="jar">
+ <antcall target="common.jar">
+ <reference torefid="extra.jar.includes" refid="server.gwt.includes" />
+ </antcall>
+ </target>
+
+ <target name="publish-local" depends="jar">
+ <antcall target="common.publish-local" />
+ </target>
+
+ <target name="clean">
+ <antcall target="common.clean" />
+ </target>
+</project> \ No newline at end of file
diff --git a/server/ivy.xml b/server/ivy.xml
new file mode 100644
index 0000000000..7e9c826689
--- /dev/null
+++ b/server/ivy.xml
@@ -0,0 +1,55 @@
+<?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-server"
+ revision="${vaadin.version}" />
+
+ <configurations>
+ <conf name="build" />
+ <conf name="ide" />
+ <conf name="tests" />
+ </configurations>
+ <publications>
+ <artifact></artifact>
+ </publications>
+ <dependencies>
+ <!-- Liferay Portal Service -->
+ <dependency org="com.liferay.portal" name="portal-service"
+ rev="6.0.2" />
+ <!--Portlet API version 2.0 (JSR-286) -->
+ <dependency org="javax.portlet" name="portlet-api"
+ rev="2.0" />
+ <!-- Google App Engine -->
+ <dependency org="com.google.appengine" name="appengine-api-1.0-sdk"
+ rev="1.2.1" />
+ <dependency org="javax.validation" name="validation-api"
+ rev="1.0.0.GA" conf="build,ide->master,sources" />
+ <!-- Jsoup for BootstrapHandler -->
+ <dependency org="org.jsoup" name="jsoup" rev="1.6.3" />
+
+ <!-- TestBench tests -->
+ <dependency org="commons-codec" name="commons-codec"
+ rev="1.5" conf="tests,ide->master" />
+ <dependency org="org.mortbay.jetty" name="jetty" rev="6.1.11"
+ conf="tests,ide->master" />
+ <dependency org="org.mortbay.jetty" name="jetty-util"
+ rev="6.1.11" conf="tests,ide->master" />
+
+ <!-- Test frameworks & related -->
+ <dependency org="junit" name="junit" rev="4.5"
+ conf="tests,ide -> master" />
+ <dependency org="org.easymock" name="easymock" rev="3.0"
+ conf="tests,ide-> master, runtime(*)" />
+ <dependency org="org.hsqldb" name="hsqldb" rev="2.2.6"
+ conf="tests,ide -> master, runtime(*)" />
+
+ <!-- Project modules -->
+ <dependency org="com.vaadin" name="vaadin-shared"
+ rev="${vaadin.version}" conf="build"></dependency>
+ <dependency org="com.vaadin" name="vaadin-buildhelpers"
+ rev="${vaadin.version}" conf="build"></dependency>
+ </dependencies>
+
+</ivy-module>
diff --git a/shared/build.xml b/shared/build.xml
new file mode 100644
index 0000000000..83dbe61b36
--- /dev/null
+++ b/shared/build.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-shared" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant">
+ <description>
+ Compiles build helpers used when building other modules.
+ </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-shared" />
+ <property name="module.symbolic" value="com.vaadin.shared" />
+ <property name="result.dir" value="result" />
+ <path id="classpath.compile.custom" />
+
+
+ <target name="jar">
+ <antcall target="common.jar">
+ <reference refid="shared.gwt.includes" torefid="extra.jar.includes" />
+ </antcall>
+ </target>
+
+ <target name="publish-local" depends="jar">
+ <antcall target="common.publish-local" />
+ </target>
+ <target name="clean">
+ <antcall target="common.clean">
+ </antcall>
+ </target>
+</project> \ No newline at end of file
diff --git a/shared/ivy.xml b/shared/ivy.xml
new file mode 100644
index 0000000000..857ca1e859
--- /dev/null
+++ b/shared/ivy.xml
@@ -0,0 +1,22 @@
+<?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-shared"
+ revision="${vaadin.version}" />
+
+ <configurations>
+ <conf name="build" />
+ <conf name="ide" />
+ </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
new file mode 100644
index 0000000000..9c3e5f46ce
--- /dev/null
+++ b/theme-compiler/build.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-theme-compiler" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant">
+ <description>
+ Compiles build helpers used when building other modules.
+ </description>
+ <include file="../common.xml" as="common" />
+ <include file="../build.xml" as="vaadin" />
+
+ <!-- global properties -->
+ <property name="module.name" value="vaadin-theme-compiler" />
+ <property name="result.dir" value="result" />
+ <path id="classpath.compile.custom" />
+
+ <property name="classes.exclude" value="com/vaadin/buildhelpers/**" />
+
+ <target name="jar">
+ <antcall target="common.jar">
+ <reference torefid="extra.jar.includes" refid="empty.reference"/>
+ </antcall>
+ </target>
+ <target name="publish-local" depends="jar">
+ <antcall target="common.publish-local" />
+ </target>
+
+ <target name="clean">
+ <antcall target="common.clean" />
+ </target>
+</project> \ No newline at end of file
diff --git a/theme-compiler/ivy.xml b/theme-compiler/ivy.xml
new file mode 100644
index 0000000000..9574328a3c
--- /dev/null
+++ b/theme-compiler/ivy.xml
@@ -0,0 +1,30 @@
+<?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-theme-compiler"
+ revision="${vaadin.version}" />
+
+ <configurations>
+ <conf name="build" />
+ <conf name="ide" />
+ </configurations>
+ <publications>
+ <artifact type="jar" />
+ <artifact type="sources" ext="jar" />
+ <artifact type="javadoc" ext="jar" />
+ </publications>
+ <dependencies defaultconf="*->default">
+ <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"
+ rev="2.5" />
+ <dependency org="com.carrotsearch" name="smartsprites"
+ rev="0.2.3-itmill" />
+ <dependency org="com.vaadin" name="vaadin-buildhelpers"
+ rev="${vaadin.version}" conf="build"></dependency>
+
+ </dependencies>
+
+</ivy-module>
diff --git a/theme-compiler/ivymodule/smartsprites-ivy-0.2.3-itmill.xml b/theme-compiler/ivymodule/smartsprites-ivy-0.2.3-itmill.xml
new file mode 100644
index 0000000000..495b6d00c9
--- /dev/null
+++ b/theme-compiler/ivymodule/smartsprites-ivy-0.2.3-itmill.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ivy-module version="2.0" xmlns:m="http://ant.apache.org/ivy/maven">
+ <info organisation="com.carrotsearch"
+ module="smartsprites"
+ revision="0.2.3-itmill"
+ status="release"
+ publication="20111130000000">
+ <license name="BSD license" url="http://csssprites.org/smartsprites.LICENSE" />
+ <description homepage="http://csssprites.org">
+ CSS Sprites Generator Done Right. SmartSprites maintains CSS sprites in your designs,
+ fully automatically. No tedious copying and pasting to your CSS when adding or changing
+ sprited images.
+ </description>
+ </info>
+ <configurations>
+ <conf name="default" visibility="public" description="runtime dependencies and master artifact can be used with this conf" extends="runtime,master"/>
+ <conf name="master" visibility="public" description="contains only the artifact published by this module itself, with no transitive dependencies"/>
+ <conf name="compile" visibility="public" description="this is the default scope, used if none is specified. Compile dependencies are available in all classpaths."/>
+ <conf name="provided" visibility="public" description="this is much like compile, but indicates you expect the JDK or a container to provide it. It is only available on the compilation classpath, and is not transitive."/>
+ <conf name="runtime" visibility="public" description="this scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath." extends="compile"/>
+ <conf name="test" visibility="private" description="this scope indicates that the dependency is not required for normal use of the application, and is only available for the test compilation and execution phases." extends="runtime"/>
+ <conf name="system" visibility="public" description="this scope is similar to provided except that you have to provide the JAR which contains it explicitly. The artifact is always available and is not looked up in a repository."/>
+ <conf name="sources" visibility="public" description="this configuration contains the source artifact of this module, if any."/>
+ <conf name="javadoc" visibility="public" description="this configuration contains the javadoc artifact of this module, if any."/>
+ <conf name="optional" visibility="public" description="contains all optional dependencies"/>
+ </configurations>
+ <publications>
+ <artifact name="smartsprites" type="jar" ext="jar" conf="master"/>
+ </publications>
+ <dependencies>
+ <dependency org="com.google.collections" name="google-collections" rev="0.9" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="args4j" name="args4j" rev="2.0.9" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="commons-math" name="commons-math" rev="1.1" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="commons-io" name="commons-io" rev="1.4" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="commons-lang" name="commons-lang" rev="2.3" force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
+ <dependency org="junit" name="junit" rev="4.4" force="true" conf="test->runtime(*),master(*)"/>
+ </dependencies>
+</ivy-module>
diff --git a/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java b/theme-compiler/src/com/vaadin/buildhelpers/CompileDefaultTheme.java
index 5b17ae4902..5b17ae4902 100644..100755
--- a/build/buildhelpers/com/vaadin/buildhelpers/CompileDefaultTheme.java
+++ b/theme-compiler/src/com/vaadin/buildhelpers/CompileDefaultTheme.java