summaryrefslogtreecommitdiffstats
path: root/build
diff options
context:
space:
mode:
authorMikael Vappula <mikael@vaadin.com>2011-12-01 15:06:30 +0200
committerMikael Vappula <mikael@vaadin.com>2011-12-01 15:06:30 +0200
commitb41b0a91f6b05dfe25444a9abad8c75537f4c4d2 (patch)
treed4d1fda1191c06188fc14fca26004335a3e09748 /build
parenta74248f0f3579d3fcf7933c65fec405b4b73691f (diff)
downloadvaadin-framework-b41b0a91f6b05dfe25444a9abad8c75537f4c4d2.tar.gz
vaadin-framework-b41b0a91f6b05dfe25444a9abad8c75537f4c4d2.zip
#7997 Ivyfied custom SmartSprites library
Patched SmartSprites jar is now fetched using Ivy tooling. Custom dependency resolver is used to retrieve module description from local filesystem (in project hierarchy) and the master artifact from Vaadin (6.x) SVN repository. This is a temporary solution until required patches get contributed and committed back to SmartSprite upstream and artifacts are available in Maven central.
Diffstat (limited to 'build')
-rw-r--r--build/build.xml22
-rw-r--r--build/ivy/buildhelpers-ivy.xml13
-rw-r--r--build/ivy/ivysettings.xml16
-rw-r--r--build/ivy/module/smartsprites-ivy-0.2.3-itmill.xml38
4 files changed, 77 insertions, 12 deletions
diff --git a/build/build.xml b/build/build.xml
index 8ea0e53c5f..21a66e9700 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -47,7 +47,7 @@
<target name="ivy-resolve" depends="ivy-configure" unless="ivy.resolved">
<property name="ivy.resolved" value="1" />
- <ivy:resolve />
+ <ivy:resolve resolveid="main"/>
<ivy:cachepath pathid="compile.classpath" conf="compile"/>
<ivy:cachepath pathid="client-side.compile.classpath" conf="client-side.compile"/>
<ivy:cachepath pathid="test.runtime.classpath" conf="test.runtime"/>
@@ -158,6 +158,9 @@
<!-- init-nonpackage target before calling this main init target. -->
<property name="widgetsets-output-dir" value="${output-dir}/WebContent/VAADIN/widgetsets" />
+ <!-- Build helpers -->
+ <property name="buildhelpers-src" value="build/buildhelpers" />
+ <property name="buildhelpers-classes" value="${result-path}/buildhelpers/classes" />
<!-- Create Output Directory Hierarchy -->
<mkdir dir="${output-dir}/WebContent" />
@@ -361,9 +364,9 @@
<target name="webcontent" depends="preprocess-src,defaulttheme">
<!-- copy 3rd part libraries used by tests -->
- <ivy:retrieve pattern="${output-dir}/WebContent/tests/lib/[artifact]-[revision].[ext]" conf="jetty"/>
+ <ivy:retrieve pattern="${output-dir}/WebContent/tests/lib/[artifact]-[revision].[ext]" conf="jetty" resolveid="main"/>
<ivy:retrieve pattern="${output-dir}/WebContent/tests/lib/[artifact]-[revision].[ext]"
- organisation="emma" module="emma" revision="2.0.5312-patched" inline="true" />
+ organisation="emma" module="emma" revision="2.0.5312-patched" inline="true" resolveid="main" />
<!-- Add WebContent -->
<echo>Adding VAADIN/themes, demo and hsqldb.jar files.</echo>
@@ -431,7 +434,10 @@
</target>
<target name="compile-helpers" depends="init">
- <javac source="1.5" target="1.5" includeantruntime="false" srcdir="build/buildhelpers" classpath="build/smartsprites/lib/smartsprites-0.2.3-itmill.jar"/>
+ <mkdir dir="${buildhelpers-classes}" />
+ <ivy:cachepath pathid="buildhelpers.dependencies" resolveId="buildhelpers" conf="compile" file="build/ivy/buildhelpers-ivy.xml"/>
+ <javac source="1.5" target="1.5" includeantruntime="false" srcdir="${buildhelpers-src}"
+ classpathref="buildhelpers.dependencies" destdir="${buildhelpers-classes}" debug="true" encoding="UTF-8" />
</target>
<target name="defaulttheme" depends="init, compile-helpers">
@@ -440,10 +446,8 @@
<arg value="-version" />
<arg value="${version.full}"/>
<classpath>
- <pathelement location="build/buildhelpers" />
- <fileset dir="build/smartsprites/lib">
- <include name="*.jar"/>
- </fileset>
+ <path location="${buildhelpers-classes}" />
+ <path refid="buildhelpers.dependencies" />
</classpath>
<jvmarg value="-Djava.awt.headless=true"/>
</java>
@@ -635,7 +639,7 @@
<java classname="com.vaadin.buildhelpers.GeneratePackageExports" failonerror="true" fork="yes">
<arg value="${output-dir}/WebContent/WEB-INF/lib/${lib-jar-name}"/>
<classpath>
- <pathelement location="build/buildhelpers" />
+ <pathelement location="${buildhelpers-classes}" />
</classpath>
</java>
diff --git a/build/ivy/buildhelpers-ivy.xml b/build/ivy/buildhelpers-ivy.xml
new file mode 100644
index 0000000000..afccd85973
--- /dev/null
+++ b/build/ivy/buildhelpers-ivy.xml
@@ -0,0 +1,13 @@
+<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="buildhelpers"/>
+ <configurations>
+ <conf name="compile" visibility="private"/>
+ </configurations>
+ <publications />
+ <dependencies>
+ <dependency org="com.carrotsearch" name="smartsprites" rev="0.2.3-itmill" conf="compile->compile(*),master(*)"/>
+ </dependencies>
+</ivy-module> \ No newline at end of file
diff --git a/build/ivy/ivysettings.xml b/build/ivy/ivysettings.xml
index b9f5d81a1b..613b8d9ffe 100644
--- a/build/ivy/ivysettings.xml
+++ b/build/ivy/ivysettings.xml
@@ -2,13 +2,23 @@
<ivysettings>
<settings defaultResolver="public" />
<resolvers>
- <ibiblio name="public" m2compatible="true"/>
+ <ibiblio name="public" m2compatible="true"/>
<url name="gwt-redist">
<artifact pattern="http://google-web-toolkit.googlecode.com/svn/tools/redist/[organisation]/[artifact](-[revision]).[ext]" />
- </url>
+ </url>
+ <dual name="custom-smartsprites">
+ <filesystem name="smartsprites-ivy">
+ <ivy pattern="${basedir}/build/ivy/module/[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>
</resolvers>
<modules>
<!-- GWT patched Emma -->
<module organisation="emma" name="emma" resolver="gwt-redist"/>
- </modules>
+ <!-- IT Mill patched SmartSprites -->
+ <module organisation="com.carrotsearch" name="smartsprites" revision="0.2.3-itmill" resolver="custom-smartsprites"/>
+ </modules>
</ivysettings> \ No newline at end of file
diff --git a/build/ivy/module/smartsprites-ivy-0.2.3-itmill.xml b/build/ivy/module/smartsprites-ivy-0.2.3-itmill.xml
new file mode 100644
index 0000000000..495b6d00c9
--- /dev/null
+++ b/build/ivy/module/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>