diff options
author | Artur Signell <artur@vaadin.com> | 2012-09-06 11:21:25 +0300 |
---|---|---|
committer | Artur Signell <artur@vaadin.com> | 2012-09-09 11:23:38 +0300 |
commit | a9706c79dfdbb3f9f6a9edcc84d09f375dacfd41 (patch) | |
tree | 50b2251c9a5aeaf21b49dbd1d21110e4b02b04c7 | |
parent | 853f5898545593f62b44e4018835c0a06d850035 (diff) | |
download | vaadin-framework-a9706c79dfdbb3f9f6a9edcc84d09f375dacfd41.tar.gz vaadin-framework-a9706c79dfdbb3f9f6a9edcc84d09f375dacfd41.zip |
Build a zip file containing all jars + dependencies (#9299)
-rw-r--r-- | all/build.xml | 54 | ||||
-rw-r--r-- | all/ivy.xml | 37 | ||||
-rw-r--r-- | common.xml | 4 | ||||
-rw-r--r-- | publish.xml | 5 |
4 files changed, 96 insertions, 4 deletions
diff --git a/all/build.xml b/all/build.xml new file mode 100644 index 0000000000..4e0b2293a9 --- /dev/null +++ b/all/build.xml @@ -0,0 +1,54 @@ +<?xml version="1.0"?> + +<project name="vaadin-all" basedir="." default="publish-local" xmlns:ivy="antlib:org.apache.ivy.ant" xmlns:antcontrib="antlib:net.sf.antcontrib"> + <description> + Compiles a zip containing all jars + dependencies + </description> + <include file="../common.xml" as="common" /> + <include file="../build.xml" as="vaadin" /> + + <!-- global properties --> + <property name="module.name" value="vaadin" /> + <property name="result.dir" value="result" /> + <property name="temp.dir" location="${result.dir}/temp" /> + <property name="zip.file" location="${result.dir}/lib/vaadin-${vaadin.version}.zip" /> + + <target name="fetch.module.and.dependencies"> + <fail unless="module" message="No 'module' parameter given" /> + + <ivy:cachepath pathid="module.and.deps" inline="true" organisation="com.vaadin" module="vaadin-${module}" revision="${vaadin.version}" /> + <copy todir="${temp.dir}" flatten="true"> + <path refid="module.and.deps" /> + </copy> + </target> + + <target name="zip"> + <delete dir="${temp.dir}" /> + <antcontrib:foreach list="${modules.to.publish}" target="fetch.module.and.dependencies" param="module" /> + <!-- All jars are now in temp.dir. Still need to separate vaadin and deps --> + <move todir="${temp.dir}/deps"> + <fileset dir="${temp.dir}"> + <exclude name="vaadin-*-${vaadin.version}.*" /> + <exclude name="vaadin-*-${vaadin.version}-*.*" /> + </fileset> + </move> + <zip destfile="${zip.file}"> + <fileset dir="${temp.dir}"> + </fileset> + <fileset refid="common.files.for.all.jars" /> + </zip> + </target> + + <target name="publish-local" depends="zip"> + <antcall target="common.publish-local" /> + </target> + + <target name="clean"> + <antcall target="common.clean" /> + </target> + + <target name="tests"> + <!-- No tests for this zip.. --> + </target> + +</project>
\ No newline at end of file diff --git a/all/ivy.xml b/all/ivy.xml new file mode 100644 index 0000000000..93ca988d45 --- /dev/null +++ b/all/ivy.xml @@ -0,0 +1,37 @@ +<?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" + xmlns:m="http://ant.apache.org/ivy/maven"> + + <info organisation="com.vaadin" module="vaadin" revision="${vaadin.version}" /> + + <configurations> + <conf name="build" /> + </configurations> + <publications> + <artifact type="zip" ext="zip" /> + </publications> + <dependencies defaultconf="build"> + <!-- API DEPENDENCIES --> + + <!-- LIBRARY DEPENDENCIES (compile time) --> + <!-- Project modules --> + <dependency org="com.vaadin" name="vaadin-shared" + rev="${vaadin.version}"/> + <dependency org="com.vaadin" name="vaadin-server" + rev="${vaadin.version}"/> + <dependency org="com.vaadin" name="vaadin-client" + rev="${vaadin.version}"/> + <dependency org="com.vaadin" name="vaadin-client-compiler" + rev="${vaadin.version}"/> + <dependency org="com.vaadin" name="vaadin-theme-compiler" + rev="${vaadin.version}"/> + <dependency org="com.vaadin" name="vaadin-themes-compiled" + rev="${vaadin.version}"/> + <dependency org="com.vaadin" name="vaadin-client-compiled" + rev="${vaadin.version}"/> + + </dependencies> + +</ivy-module> diff --git a/common.xml b/common.xml index 9a16f7f5fd..1bfe2736af 100644 --- a/common.xml +++ b/common.xml @@ -4,6 +4,8 @@ <dirname property="vaadin.basedir" file="${ant.file.common}" /> <property file="${vaadin.basedir}/build.properties" /> + <property name="modules.to.publish" value="shared,server,client,client-compiler,client-compiled,theme-compiler,themes-compiled" /> + <ivy:resolve file="${vaadin.basedir}/build/ivy/ivy.xml" conf="taskdefs" /> <ivy:cachepath pathid="taskdefs.classpath" conf="taskdefs" /> <taskdef uri="antlib:net.sf.antcontrib" resource="net/sf/antcontrib/antlib.xml" classpathref="taskdefs.classpath" /> @@ -179,7 +181,7 @@ <property name="tests.classes" location="${result.dir}/tests/classes" /> - <junit printsummary="withOutAndErr"> + <junit printsummary="withOutAndErr" fork="yes"> <formatter usefile="false" type="plain" /> <jvmarg value="-ea" /> <classpath location="${tests.classes}" /> diff --git a/publish.xml b/publish.xml index 6e672f62a4..0e536d4953 100644 --- a/publish.xml +++ b/publish.xml @@ -5,11 +5,10 @@ <!-- Dummy value as ivysettings-publish require a value --> <property name="publish.sftp.keyfile" value="/dummy" /> - <property name="publish.sftp.ivy.pattern" value="dummy"/> - + <property name="publish.sftp.ivy.pattern" value="dummy" /> + <ivy:settings file="ivysettings.xml" /> <ivy:settings file="ivysettings-publish.xml" id="publish.settings" /> - <property name="modules.to.publish" value="shared,server,client,client-compiler,client-compiled,theme-compiler,themes-compiled" /> <property file="publish.properties" /> <available property="ant-jsch.present" file="${ant.home}/lib/ant-jsch.jar" /> |