summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rwxr-xr-xbuild/ide.xml14
-rw-r--r--ivy-taskdefs.xml2
-rw-r--r--ivysettings.xml4
-rw-r--r--liferay/ivy.xml2
-rw-r--r--push/build.xml109
-rw-r--r--push/ivy.xml44
-rw-r--r--push/pom.xml220
-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.xml2
-rw-r--r--uitest/ivy.xml2
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=&quot;${atmosphere.runtime.version}&quot;;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>