summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorelmot <elmot@vaadin.com>2016-03-29 17:17:08 +0300
committerelmot <elmot@vaadin.com>2016-03-30 13:47:18 +0300
commite86bee0354b90d1db6d50eb7257b28101dab743e (patch)
treee8f29a81555e409caa5197083588ddd8edc4e4fe
parent1482d63643f3d03a7fa887a5de7cc251b1313a11 (diff)
downloadvaadin-framework-e86bee0354b90d1db6d50eb7257b28101dab743e.tar.gz
vaadin-framework-e86bee0354b90d1db6d50eb7257b28101dab743e.zip
Build widgets with maven
Change-Id: I4ffe710a330e863737561d1c9d2e6f46c3d32c95
-rw-r--r--.classpath3
-rw-r--r--.gitignore1
-rw-r--r--ivysettings.xml2
-rw-r--r--pom.xml1
-rw-r--r--widgets/build.xml136
-rw-r--r--widgets/ivy.xml48
-rw-r--r--widgets/pom.xml256
-rw-r--r--widgets/src/main/java/com/vaadin/themes/valoutil/BodyStyleName.java (renamed from widgets/src/com/vaadin/themes/valoutil/BodyStyleName.java)0
-rw-r--r--widgets/src/main/resources/com/vaadin/themes/Valo.gwt.xml (renamed from widgets/src/com/vaadin/themes/Valo.gwt.xml)0
9 files changed, 261 insertions, 186 deletions
diff --git a/.classpath b/.classpath
index c3dd314ce2..55fa7f913d 100644
--- a/.classpath
+++ b/.classpath
@@ -11,7 +11,8 @@
<classpathentry kind="src" path="shared/src/main/java"/>
<classpathentry kind="src" path="shared/src/main/java-templates"/>
<classpathentry kind="src" path="buildhelpers/src/main/java"/>
- <classpathentry kind="src" path="widgets/src"/>
+ <classpathentry kind="src" path="widgets/src/main/java"/>
+ <classpathentry kind="src" path="widgets/src/main/resources"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="owner.project.facets" value="java"/>
diff --git a/.gitignore b/.gitignore
index bdff76f80a..0077534c90 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,6 +92,7 @@ client-compiler/target/
buildhelpers/target/
client-compiled/target/
themes/target/
+widgets/target/
.sass-cache
phantomjsdriver.log
diff --git a/ivysettings.xml b/ivysettings.xml
index 3eade2f777..2e47a1f14f 100644
--- a/ivysettings.xml
+++ b/ivysettings.xml
@@ -54,7 +54,7 @@
<module organisation="com.vaadin" name="vaadin-push"
resolver="local-maven" />
<module organisation="com.vaadin" name="vaadin-widgets"
- resolver="build-temp" />
+ resolver="local-maven" />
<module organisation="com.vaadin" name="vaadin-bom"
resolver="local-maven" />
<module organisation="com.vaadin" name="vaadin-liferay"
diff --git a/pom.xml b/pom.xml
index e0f62e9fda..ea2782b2fa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,6 +61,7 @@
<module>client-compiler</module>
<module>client-compiled</module>
<module>themes</module>
+ <module>widgets</module>
</modules>
<build>
diff --git a/widgets/build.xml b/widgets/build.xml
deleted file mode 100644
index 2b1f30f7cb..0000000000
--- a/widgets/build.xml
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="vaadin-widgets" basedir="." default="publish-local"
- xmlns:ivy="antlib:org.apache.ivy.ant">
- <description>
- Widgets package for using Vaadin widgets with GWT 2.7+
- </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-widgets" />
- <property name="module.symbolic" value="com.vaadin.widgets" />
- <property name="result.dir" value="result" />
- <property name="result.src" value="${result.dir}/src" />
- <property name="result.deps" value="${result.dir}/deps" />
-
- <path id="classpath.compile.custom">
- <fileset file="${gwt.user.jar}" />
- <fileset file="${gwt.dev.jar}" />
- </path>
- <path id="classpath.test.custom" />
-
- <union id="jar.includes">
-
- </union>
-
- <target name="dependencies">
- <antcall target="common.dependencies" />
- </target>
-
- <target name="copysrc" depends="dependencies">
- <delete dir="${result.deps}" />
-
- <ivy:resolve transitive="false" type="jar"
- conf="build-provided" />
- <ivy:cachepath pathid="vaadin.jars" />
- <unjar dest="${result.deps}">
- <path refid="vaadin.jars" />
- </unjar>
-
- <copy todir="${result.src}">
- <fileset dir="src" />
- <fileset dir="${result.deps}">
- <include name="com/vaadin/*.gwt.xml" />
- <include name="com/vaadin/client/BrowserInfo.java" />
- <include name="com/vaadin/client/AnimationUtil.java" />
- <include name="com/vaadin/client/ComputedStyle.java" />
- <include name="com/vaadin/client/DeferredWorker.java" />
- <include name="com/vaadin/client/Profiler.java" />
- <include name="com/vaadin/client/StyleConstants.java" />
- <include name="com/vaadin/client/WidgetUtil.java" />
- <include name="com/vaadin/client/ui/FocusUtil.java" />
- <include name="com/vaadin/client/data/**/*.java" />
- <include name="com/vaadin/client/widget/**/*.java" />
- <include name="com/vaadin/client/Focusable.java" />
- <include name="com/vaadin/client/widgets/*.java" />
- <include name="com/vaadin/client/renderers/*.java" />
- <include name="com/vaadin/client/ui/SubPartAware.java" />
- <include name="com/vaadin/client/ui/VProgressBar.java" />
- <include name="com/vaadin/client/ui/dd/DragAndDropHandler.java" />
- <include name="com/vaadin/client/ui/dd/DragHandle.java" />
- <include name="com/vaadin/client/VSchedulerImpl.java" />
-
- <include name="com/vaadin/shared/ui/grid/*.java" />
- <include name="com/vaadin/shared/ui/grid/**/*.java" />
- <include name="com/vaadin/shared/util/SharedUtil.java" />
- <include name="com/vaadin/shared/VBrowserDetails.java" />
- <include name="com/vaadin/shared/data/sort/SortDirection.java" />
-
- <include name="com/vaadin/sass/linker/*.java" />
-
- <exclude name="com/vaadin/shared/**/*Rpc.java" />
- <exclude name="com/vaadin/shared/**/*State.java" />
- </fileset>
- </copy>
-
- <mkdir dir="${result.src}/com/vaadin/themes/public" />
- <copy todir="${result.src}/com/vaadin/themes/public/valo">
- <fileset dir="${result.deps}/VAADIN/themes/valo" />
- </copy>
- <copy todir="${result.src}/com/vaadin/themes/public/base">
- <fileset dir="${result.deps}/VAADIN/themes/base" />
- </copy>
- </target>
- <target name="compile" description="Compiles the module"
- depends="dependencies,copysrc">
- <property name="classes" location="${result.dir}/classes" />
- <mkdir dir="${classes}" />
-
- <javac destdir="${classes}" source="${vaadin.java.version}"
- target="${vaadin.java.version}" debug="true" encoding="UTF-8"
- includeantruntime="false">
- <src path="${result.src}" />
- <classpath refid="classpath.compile.custom" />
- <classpath refid="vaadin.jars" />
- </javac>
- </target>
-
- <target name="jar" depends="compile">
- <property name="jar.file"
- location="${result.dir}/lib/${module.name}-${vaadin.version}.jar" />
- <antcall target="common.jar">
- <param name="src" value="${result.src}" />
- <reference refid="jar.includes" torefid="extra.jar.includes" />
- </antcall>
- </target>
-
- <target name="publish-local" depends="jar">
- <antcall target="common.sources.jar">
- <param name="src" value="${result.src}" />
- <reference torefid="extra.jar.includes" refid="jar.includes" />
- </antcall>
- <antcall target="common.javadoc.jar">
- <param name="src" value="${result.src}" />
- </antcall>
-
- <antcall target="common.publish-local" />
- </target>
-
- <target name="clean">
- <antcall target="common.clean" />
- </target>
-
- <target name="checkstyle">
- <antcall target="common.checkstyle">
- <param name="cs.src" location="src" />
- </antcall>
- </target>
-
- <target name="test" depends="checkstyle">
- <!-- <antcall target="common.test.run" /> -->
- </target>
-
-</project>
diff --git a/widgets/ivy.xml b/widgets/ivy.xml
deleted file mode 100644
index 27705b34f3..0000000000
--- a/widgets/ivy.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?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-widgets"
- revision="${vaadin.version}" />
-
- <configurations>
- <conf name="build" />
- <conf name="build-provided" />
- <conf name="ide" visibility="private" />
- <conf name="test" />
- </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 defaultconf="build" defaultconfmapping="build->default">
- <!-- API DEPENDENCIES -->
-
- <!-- LIBRARY DEPENDENCIES (compile time) -->
- <!-- Project modules -->
- <dependency org="com.vaadin" name="vaadin-shared"
- rev="${vaadin.version}" conf="build-provided,test->default">
- <exclude type="pom" conf="test" />
- </dependency>
- <dependency org="com.vaadin" name="vaadin-client"
- rev="${vaadin.version}" conf="build-provided,test->default">
- <exclude type="pom" conf="test" />
- </dependency>
- <dependency org="com.vaadin" name="vaadin-client-compiler"
- rev="${vaadin.version}" conf="build-provided,test->default">
- <exclude type="pom" conf="test" />
- </dependency>
- <dependency org="com.vaadin" name="vaadin-themes"
- rev="${vaadin.version}" conf="build-provided,test->default">
- <exclude type="pom" conf="test" />
- </dependency>
- <dependency org="com.vaadin" name="vaadin-sass-compiler"
- rev="${vaadin.sass.version}" conf="build-provided->default" />
-
- </dependencies>
-
-</ivy-module>
diff --git a/widgets/pom.xml b/widgets/pom.xml
new file mode 100644
index 0000000000..e3735a4452
--- /dev/null
+++ b/widgets/pom.xml
@@ -0,0 +1,256 @@
+<?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-root</artifactId>
+ <version>7.7.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>vaadin-widgets</artifactId>
+ <name>vaadin-widgets</name>
+ <packaging>jar</packaging>
+
+ <organization>
+ <name>Vaadin Ltd</name>
+ </organization>
+ <url>https://vaadin.com/</url>
+ <description>Vaadin widgets</description>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>vaadin-client</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>vaadin-shared</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>vaadin-client-compiler</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>vaadin-themes</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>vaadin-buildhelpers</artifactId>
+ <version>${project.version}</version>
+ <scope>provided</scope>
+ </dependency>
+
+
+ </dependencies>
+
+ <build>
+ <plugins>
+
+ <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 is handled in exec plugin -->
+ <Export-Package></Export-Package>
+ <Import-Package></Import-Package>
+ </instructions>
+ </configuration>
+ <executions>
+ <execution>
+ <id>bundle-manifest</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>manifest</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>unpack-dependencies</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-client</artifactId>
+ <includes>
+ com/vaadin/*.gwt.xml,
+ com/vaadin/client/BrowserInfo*,
+ com/vaadin/client/AnimationUtil*,
+ com/vaadin/client/ComputedStyle*,
+ com/vaadin/client/DeferredWorker*,
+ com/vaadin/client/Profiler*,
+ com/vaadin/client/StyleConstants*,
+ com/vaadin/client/WidgetUtil*,
+ com/vaadin/client/ui/FocusUtil*,
+ com/vaadin/client/data/**,
+ com/vaadin/client/widget/**,
+ com/vaadin/client/Focusable*,
+ com/vaadin/client/widgets/**,
+ com/vaadin/client/renderers/**,
+ com/vaadin/client/ui/SubPartAware*,
+ com/vaadin/client/ui/VProgressBar*,
+ com/vaadin/client/ui/dd/DragAndDropHandler*,
+ com/vaadin/client/ui/dd/DragHandle*,
+ com/vaadin/client/VSchedulerImpl*
+ </includes>
+ </artifactItem>
+
+ <artifactItem>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-shared</artifactId>
+ <includes>
+ com/vaadin/shared/ui/grid/*.*,
+ com/vaadin/shared/ui/grid/**/*.*,
+ com/vaadin/shared/util/SharedUtil*,
+ com/vaadin/shared/VBrowserDetails*,
+ com/vaadin/shared/data/sort/SortDirection*
+ </includes>
+ <excludes>
+ com/vaadin/shared/**/*Rpc.*,
+ com/vaadin/shared/**/*Rpc$*.*,
+ com/vaadin/shared/**/*State.*,
+ com/vaadin/shared/**/*State$*.*
+ </excludes>
+ </artifactItem>
+ <artifactItem>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-client-compiler</artifactId>
+ <includes>
+ com/vaadin/sass/linker/*.*
+ </includes>
+ </artifactItem>
+
+ <artifactItem>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-themes</artifactId>
+ <includes>
+ /VAADIN/themes/valo/**,
+ /VAADIN/themes/base/**
+ </includes>
+ <outputDirectory>${project.build.directory}/themes</outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ <outputDirectory>${project.build.directory}/classes</outputDirectory>
+ <overWriteReleases>false</overWriteReleases>
+ <overWriteSnapshots>true</overWriteSnapshots>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <artifactId>maven-resources-plugin</artifactId>
+ <executions>
+ <!-- Copy .java files to package -->
+ <execution>
+ <id>copy-sources</id>
+ <!-- here the phase you need -->
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/classes</outputDirectory>
+ <resources>
+ <resource>
+ <directory>src/main/java</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ <execution>
+ <id>copy-themes</id>
+ <!-- here the phase you need -->
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>copy-resources</goal>
+ </goals>
+ <configuration>
+ <outputDirectory>${project.build.directory}/classes/com/vaadin/themes/public
+ </outputDirectory>
+ <resources>
+ <resource>
+ <directory>${project.build.directory}/themes/VAADIN/themes</directory>
+ <filtering>false</filtering>
+ </resource>
+ </resources>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.4.0</version>
+ <executions>
+ <execution>
+ <id>generate-export-package</id>
+ <phase>package</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <classpathScope>compile</classpathScope>
+ <executable>${java.home}/bin/java</executable>
+ <arguments>
+ <argument>-Dvaadin.version=${project.version}</argument>
+ <argument>-DincludeNumberPackages=1</argument>
+
+ <argument>-classpath</argument>
+ <classpath/>
+
+ <argument>com.vaadin.buildhelpers.GeneratePackageExports</argument>
+
+ <argument>${project.build.directory}/${project.build.finalName}.${project.packaging}
+ </argument>
+ <argument>com/vaadin</argument>
+ </arguments>
+ </configuration>
+ </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>
+ </build>
+
+</project>
diff --git a/widgets/src/com/vaadin/themes/valoutil/BodyStyleName.java b/widgets/src/main/java/com/vaadin/themes/valoutil/BodyStyleName.java
index 73a01b6fd2..73a01b6fd2 100644
--- a/widgets/src/com/vaadin/themes/valoutil/BodyStyleName.java
+++ b/widgets/src/main/java/com/vaadin/themes/valoutil/BodyStyleName.java
diff --git a/widgets/src/com/vaadin/themes/Valo.gwt.xml b/widgets/src/main/resources/com/vaadin/themes/Valo.gwt.xml
index d9e0f6ab73..d9e0f6ab73 100644
--- a/widgets/src/com/vaadin/themes/Valo.gwt.xml
+++ b/widgets/src/main/resources/com/vaadin/themes/Valo.gwt.xml