diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | build/ide.xml | 14 | ||||
-rw-r--r-- | ivy-taskdefs.xml | 2 | ||||
-rw-r--r-- | ivysettings.xml | 4 | ||||
-rw-r--r-- | liferay/ivy.xml | 2 | ||||
-rw-r--r-- | push/build.xml | 109 | ||||
-rw-r--r-- | push/ivy.xml | 44 | ||||
-rw-r--r-- | push/pom.xml | 220 | ||||
-rw-r--r-- | push/src/main/templates/jquery-1.11.0.js (renamed from push/lib/jquery/jquery-1.11.0.js) | 0 | ||||
-rw-r--r-- | push/src/main/templates/vaadinPush.js.tpl (renamed from WebContent/VAADIN/vaadinPush.js.tpl) | 0 | ||||
-rw-r--r-- | server/ivy.xml | 2 | ||||
-rw-r--r-- | uitest/ivy.xml | 2 |
12 files changed, 240 insertions, 160 deletions
diff --git a/.gitignore b/.gitignore index bdc0e45be5..351b884123 100644 --- a/.gitignore +++ b/.gitignore @@ -83,6 +83,7 @@ scripts/*.pyc # build result folders */result result +push/target/ .sass-cache phantomjsdriver.log
\ No newline at end of file diff --git a/build/ide.xml b/build/ide.xml index 68ed24a6a7..89b26a7e7b 100755 --- a/build/ide.xml +++ b/build/ide.xml @@ -180,9 +180,19 @@ </java> </target> <target name="vaadinPush.js" depends="resolve"> - <ant antfile="${basedir}/push/build.xml" target="vaadinPush.js" dir="${basedir}/push" /> + <property name="project.root" location="."/> + <ivy:resolve log="download-only" file="${project.root}/ivy-taskdefs.xml" conf="taskdefs" /> + <ivy:cachepath pathid="taskdefs.classpath" conf="taskdefs" /> + <!-- ant contrib for Maven integration --> + <taskdef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpathref="taskdefs.classpath" /> + + <!-- Must fork to avoid ExitException --> + <artifact:mvn pom="${project.root}/push/pom.xml" fork="true" mavenVersion="3.0.4"> + <arg value="package"/> + </artifact:mvn> + <property name="js.output.dir" location="WebContent" /> - <property name="push.js.dir" location="${basedir}/push/result/js" /> + <property name="push.js.dir" location="${basedir}/push/target/classes/" /> <copy todir="${js.output.dir}"> <fileset dir="${push.js.dir}" includes="VAADIN/vaadinPush*" excludes="**/*.gz"> </fileset> diff --git a/ivy-taskdefs.xml b/ivy-taskdefs.xml index 3c04e5a051..95dca014dc 100644 --- a/ivy-taskdefs.xml +++ b/ivy-taskdefs.xml @@ -14,7 +14,7 @@ <dependency org="ant-contrib" name="ant-contrib" rev="1.0b3" conf="taskdefs ->master" /> <dependency org="org.apache.maven" name="maven-ant-tasks" - rev="2.0.10" conf="taskdefs ->master" /> + rev="2.1.2" conf="taskdefs ->master" /> <dependency org="com.googlecode.jarjar" name="jarjar" rev="1.3" conf="taskdefs ->master" /> <dependency org="com.puppycrawl.tools" name="checkstyle" diff --git a/ivysettings.xml b/ivysettings.xml index 5208b6bd54..66af667ef1 100644 --- a/ivysettings.xml +++ b/ivysettings.xml @@ -16,6 +16,8 @@ <filesystem name="local-maven" m2compatible="true"> <artifact pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" /> + <ivy + pattern="${user.home}/.m2/repository/[organisation]/[module]/[revision]/[module]-[revision](-[classifier]).pom" /> </filesystem> <filesystem name="build-temp"> <ivy @@ -48,7 +50,7 @@ <module organisation="com.vaadin" name="vaadin-themes" resolver="build-temp" /> <module organisation="com.vaadin" name="vaadin-push" - resolver="build-temp" /> + resolver="local-maven" /> <module organisation="com.vaadin" name="vaadin-widgets" resolver="build-temp" /> <module organisation="com.vaadin" name="vaadin-bom" diff --git a/liferay/ivy.xml b/liferay/ivy.xml index fb6d152e15..bb9b019d2f 100644 --- a/liferay/ivy.xml +++ b/liferay/ivy.xml @@ -22,7 +22,7 @@ <dependency org="com.vaadin" name="vaadin-themes" rev="${vaadin.version}" conf="deps -> build" transitive="false"/> <dependency org="com.vaadin" name="vaadin-push" - rev="${vaadin.version}" conf="deps -> build" transitive="false" /> + rev="${vaadin.version}" conf="deps -> default" transitive="false" /> <dependency org="com.vaadin" name="vaadin-server" rev="${vaadin.version}" conf="deps -> build" transitive="false" /> </dependencies> diff --git a/push/build.xml b/push/build.xml deleted file mode 100644 index 3a3329c0fe..0000000000 --- a/push/build.xml +++ /dev/null @@ -1,109 +0,0 @@ -<?xml version="1.0"?> - -<project name="vaadin-push" basedir="." default="publish-local" - xmlns:ivy="antlib:org.apache.ivy.ant"> - <description> - Meta package which defines dependencies needed for push - </description> - <include file="../build.xml" as="vaadin" /> - <include file="../common.xml" as="common" /> - - <property name="module.name" value="vaadin-push" /> - <property name="module.symbolic" value="com.vaadin.push" /> - <property name="result.dir" location="result" /> - <property name="temp.dir" location="${result.dir}/temp" /> - <property name="jquery.unpack" location="${temp.dir}/jquery" /> - <property name="vaadinPush.js" location="${result.dir}/js/VAADIN/vaadinPush.js" /> - <property name="vaadinPush.debug.js" - location="${result.dir}/js/VAADIN/vaadinPush.debug.js" /> - - <!-- Keep the version number in sync with ivy.xml, server/src/com/vaadin/server/Constants.java --> - <property name="atmosphere.runtime.version" value="2.2.7.vaadin1" /> - <property name="jquery.js" location="lib/jquery/jquery-1.11.0.js" /> - - <path id="classpath.compile.custom" /> - - <union id="jar.includes"> - <fileset dir="${result.dir}/js"> - <include name="VAADIN/vaadinPush.js" /> - <include name="VAADIN/vaadinPush.js.gz" /> - <include name="VAADIN/vaadinPush.debug.js" /> - <include name="VAADIN/vaadinPush.debug.js.gz" /> - </fileset> - </union> - - <target name="vaadinPush.js"> - <mkdir dir="${result.dir}/js/VAADIN" /> - <ivy:resolve log="download-only" file="ivy.xml" - conf="push.js" /> - <ivy:cachepath pathid="atmosphere.jquery.deps" - conf="push.js" /> - - <delete dir="${temp.dir}" /> - <copy flatten="true" tofile="${temp.dir}/jquery.war"> - <path refid="atmosphere.jquery.deps" /> - </copy> - - <!-- Unzip to temp dir --> - <unzip src="${temp.dir}/jquery.war" dest="${jquery.unpack}"> - <patternset> - <include name="**/jquery.atmosphere.js" /> - </patternset> - <mapper type="flatten" /> - </unzip> - <loadfile srcfile="${jquery.js}" property="jquery.js.contents" /> - <loadfile srcfile="${jquery.unpack}/jquery.atmosphere.js" - property="jquery.atmosphere.js.contents" /> - - <loadfile - srcfile="${vaadin.basedir}/WebContent/VAADIN/vaadinPush.js.tpl" - property="vaadinPush.js.contents"> - <filterchain> - <replacetokens begintoken="@" endtoken="@"> - <token key="jquery.js" value="${jquery.js.contents}" /> - <token key="jquery.atmosphere.js" value="${jquery.atmosphere.js.contents}" /> - </replacetokens> - </filterchain> - </loadfile> - - <!-- Non-obfuscated version for debugging --> - <echo file="${vaadinPush.debug.js}">${vaadinPush.js.contents}</echo> - - <!-- Minify --> - <ivy:retrieve organisation="com.yahoo.platform.yui" - module="yuicompressor" revision="2.4.7" inline="true" type="jar" - pattern="${result.dir}/compressor.jar" /> - <java jar="${result.dir}/compressor.jar" fork="true"> - <arg value="-v" /> - <arg value="-o" /> - <arg file="${vaadinPush.js}" /> - <arg file="${vaadinPush.debug.js}" /> - </java> - - <!-- Gzipped versions --> - <gzip src="${vaadinPush.js}" destfile="${vaadinPush.js}.gz" /> - <gzip src="${vaadinPush.debug.js}" destfile="${vaadinPush.debug.js}.gz" /> - </target> - - <target name="jar" depends="vaadinPush.js"> - <antcall target="common.jar"> - <param name="osgi.extra.package.prefixes" value="VAADIN" /> - <param name="require-bundle" - value="com.vaadin.external.atmosphere.runtime;bundle-version="${atmosphere.runtime.version}";visibility:=reexport" /> - <reference torefid="extra.jar.includes" refid="jar.includes" /> - </antcall> - </target> - - <target name="publish-local" depends="jar"> - <antcall target="common.publish-local" /> - </target> - - <target name="clean"> - <antcall target="common.clean" /> - </target> - <target name="checkstyle"> - </target> - - <target name="test" depends="checkstyle"> - </target> -</project> diff --git a/push/ivy.xml b/push/ivy.xml deleted file mode 100644 index b5e34e616e..0000000000 --- a/push/ivy.xml +++ /dev/null @@ -1,44 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE ivy-module [ -<!-- Keep the version number in sync with build.xml --> - <!ENTITY atmosphere.runtime.version "2.2.7.vaadin1"> - - <!ENTITY atmosphere.js.version "2.2.13.vaadin3"> -]> -<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-push" revision="${vaadin.version}" /> - - <configurations> - <conf name="build" /> - <conf name="build-provided" /> - <conf name="ide" visibility="private" /> - <conf name="test" visibility="private" /> - <!-- Used for building push.js only --> - <conf name="push.js" visibility="private" /> - </configurations> - <publications> - <artifact type="jar" ext="jar" /> - <!-- <artifact type="source" ext="jar" m:classifier="sources" /> - <artifact type="javadoc" ext="jar" m:classifier="javadoc" /> --> - <artifact type="pom" ext="pom" /> - </publications> - <dependencies> - <!-- API DEPENDENCIES --> - - <!-- @WebListener is used for JSR356 websockets so we need to compile with servlet 3 API --> - <dependency org="javax.servlet" name="javax.servlet-api" - rev="3.0.1" conf="build-provided,ide,test -> default" /> - - <!-- Atmosphere --> - <dependency org="com.vaadin.external.atmosphere" - name="atmosphere-runtime" rev="&atmosphere.runtime.version;" - conf="build,ide,test -> default" /> - <dependency org="com.vaadin.external.atmosphere.client" - name="jquery" rev="&atmosphere.js.version;" conf="push.js -> default" /> - </dependencies> - -</ivy-module> diff --git a/push/pom.xml b/push/pom.xml new file mode 100644 index 0000000000..3bbdc931c5 --- /dev/null +++ b/push/pom.xml @@ -0,0 +1,220 @@ +<?xml version="1.0" encoding="UTF-8"?> +<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/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>com.vaadin</groupId> + <artifactId>vaadin-parent</artifactId> + <version>1.0.0</version> + </parent> + <groupId>com.vaadin</groupId> + <artifactId>vaadin-push</artifactId> + <name>Vaadin Push</name> + <packaging>jar</packaging> + <version>7.7.0-SNAPSHOT</version> + <properties> + <atmosphere.runtime.version>2.2.7.vaadin1</atmosphere.runtime.version> + <atmosphere.js.version>2.2.6.vaadin4</atmosphere.js.version> + </properties> + + <organization> + <name>Vaadin Ltd</name> + </organization> + <url>https://vaadin.com/</url> + <description>Vaadin server push support</description> + + <dependencies> + <!-- Atmosphere --> + <dependency> + <groupId>com.vaadin.external.atmosphere</groupId> + <artifactId>atmosphere-runtime</artifactId> + <version>${atmosphere.runtime.version}</version> + </dependency> + <dependency> + <groupId>com.vaadin.external.atmosphere.client</groupId> + <artifactId>jquery</artifactId> + <version>${atmosphere.js.version}</version> + <type>war</type> + <scope>provided</scope> + </dependency> + + </dependencies> + + <build> + <plugins> + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.8</version> + <executions> + <execution> + <id>default-cli</id> + <phase>generate-resources</phase> + <goals> + <goal>run</goal> + </goals> + <!-- <inherited>false</inherited> --> + <configuration> + <target> + <property name="jquery.unpack" location="${project.build.directory}/temp" /> + <property name="vaadinPush.js" + location="${project.build.outputDirectory}/VAADIN/vaadinPush.debug.js" /> + <property name="templates.dir" + location="${project.build.sourceDirectory}/../templates" /> + + <!-- Unzip to temp dir --> + <unzip + src="${maven.dependency.com.vaadin.external.atmosphere.client.jquery.war.path}" + dest="${jquery.unpack}"> + <patternset> + <include name="**/jquery.atmosphere.js" /> + </patternset> + <mapper type="flatten" /> + </unzip> + <loadfile srcfile="${templates.dir}/jquery-1.11.0.js" + property="jquery.js.contents" /> + <loadfile srcfile="${jquery.unpack}/jquery.atmosphere.js" + property="jquery.atmosphere.js.contents" /> + + <loadfile srcfile="${templates.dir}/vaadinPush.js.tpl" + property="vaadinPush.js.contents"> + <filterchain> + <replacetokens begintoken="@" endtoken="@"> + <token key="jquery.js" value="${jquery.js.contents}" /> + <token key="jquery.atmosphere.js" value="${jquery.atmosphere.js.contents}" /> + </replacetokens> + </filterchain> + </loadfile> + <!-- Non-obfuscated version for debugging --> + <echo file="${vaadinPush.js}">${vaadinPush.js.contents}</echo> + + </target> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>net.alchim31.maven</groupId> + <artifactId>yuicompressor-maven-plugin</artifactId> + <version>1.5.1</version> + <executions> + <execution> + <id>minifyjs</id> + <phase>process-resources</phase> + <goals> + <goal>compress</goal> + </goals> + </execution> + </executions> + <configuration> + <sourceDirectory>${project.build.outputDirectory}/VAADIN</sourceDirectory> + <includes> + <include>vaadinPush.debug.js</include> + </includes> + <outputDirectory>${project.build.outputDirectory}/VAADIN</outputDirectory> + </configuration> + </plugin> + + <plugin> + <artifactId>maven-antrun-plugin</artifactId> + <version>1.8</version> + <executions> + <execution> + <id>compresspush</id> + <phase>compile</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <target> + <property name="vaadinPush.debug.js" + location="${project.build.outputDirectory}/VAADIN/vaadinPush.debug.js" /> + <property name="vaadinPush-min.js" + location="${project.build.outputDirectory}/VAADIN/vaadinPush.debug-min.js" /> + <property name="vaadinPush.js" + location="${project.build.outputDirectory}/VAADIN/vaadinPush.js" /> + + <move file="${vaadinPush-min.js}" tofile="${vaadinPush.js}" /> + + <!-- Gzipped versions --> + <gzip src="${vaadinPush.debug.js}" destfile="${vaadinPush.debug.js}.gz" /> + <gzip src="${vaadinPush.js}" destfile="${vaadinPush.js}.gz" /> + </target> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.felix</groupId> + <artifactId>maven-bundle-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <instructions> + <Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment> + <Export-Package>VAADIN</Export-Package> + <Require-Bundle>com.vaadin.external.atmosphere.runtime;bundle-version="${atmosphere.runtime.version}";visibility:=reexport</Require-Bundle> + </instructions> + </configuration> + <executions> + <execution> + <id>bundle-manifest</id> + <phase>process-classes</phase> + <goals> + <goal>manifest</goal> + </goals> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-jar-plugin</artifactId> + <version>2.6</version> + <configuration> + <archive> + <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile> + <index>false</index> + <manifest> + <addDefaultImplementationEntries>true</addDefaultImplementationEntries> + </manifest> + </archive> + </configuration> + </plugin> + </plugins> + <pluginManagement> + <plugins> + <!--This plugin's configuration is used to store Eclipse m2e settings + only. It has no influence on the Maven build itself. --> + <plugin> + <groupId>org.eclipse.m2e</groupId> + <artifactId>lifecycle-mapping</artifactId> + <version>1.0.0</version> + <configuration> + <lifecycleMappingMetadata> + <pluginExecutions> + <pluginExecution> + <pluginExecutionFilter> + <groupId> + org.apache.maven.plugins + </groupId> + <artifactId> + maven-antrun-plugin + </artifactId> + <versionRange> + [1.8,) + </versionRange> + <goals> + <goal>run</goal> + </goals> + </pluginExecutionFilter> + <action> + <ignore></ignore> + </action> + </pluginExecution> + </pluginExecutions> + </lifecycleMappingMetadata> + </configuration> + </plugin> + </plugins> + </pluginManagement> + </build> + +</project>
\ No newline at end of file diff --git a/push/lib/jquery/jquery-1.11.0.js b/push/src/main/templates/jquery-1.11.0.js index 3c88fa8b7f..3c88fa8b7f 100644 --- a/push/lib/jquery/jquery-1.11.0.js +++ b/push/src/main/templates/jquery-1.11.0.js diff --git a/WebContent/VAADIN/vaadinPush.js.tpl b/push/src/main/templates/vaadinPush.js.tpl index 3b2fb788f9..3b2fb788f9 100644 --- a/WebContent/VAADIN/vaadinPush.js.tpl +++ b/push/src/main/templates/vaadinPush.js.tpl diff --git a/server/ivy.xml b/server/ivy.xml index b02ab123fb..a384759128 100644 --- a/server/ivy.xml +++ b/server/ivy.xml @@ -55,7 +55,7 @@ <exclude type="pom" conf="test" /> </dependency> <dependency org="com.vaadin" name="vaadin-push" rev="${vaadin.version}" - conf="build-provided,test->build"> + conf="build-provided,test->compile"> <exclude type="pom" conf="test" /> </dependency> diff --git a/uitest/ivy.xml b/uitest/ivy.xml index e17e094f79..4939c31d1f 100644 --- a/uitest/ivy.xml +++ b/uitest/ivy.xml @@ -53,7 +53,7 @@ <exclude type="pom" /> </dependency> <dependency org="com.vaadin" name="vaadin-push" rev="${vaadin.version}" - conf="build->build"> + conf="build->default"> <exclude org="javax.servlet"></exclude> <exclude type="pom" /> </dependency> |