summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenri Sara <hesara@vaadin.com>2015-03-19 15:36:36 +0200
committerVaadin Code Review <review@vaadin.com>2015-03-26 09:38:36 +0000
commit640ac265babd0c31c3572e8080dff4f9a9be2ab6 (patch)
tree1e954809d900f1870779f8a3dfe5e8c6eb8d475c
parentf38697786931944177c86498939d6b5993b1588d (diff)
downloadvaadin-framework-640ac265babd0c31c3572e8080dff4f9a9be2ab6.tar.gz
vaadin-framework-640ac265babd0c31c3572e8080dff4f9a9be2ab6.zip
Build Maven BOM for Vaadin (#17025)
Change-Id: I842a5f1551012744354371e1c099f6ca2360029c
-rw-r--r--all/ivy.xml1
-rw-r--r--bom/build.xml46
-rw-r--r--bom/ivy.xml18
-rw-r--r--bom/vaadin-bom.pom103
-rw-r--r--build.xml2
-rw-r--r--common.xml2
-rw-r--r--ivysettings.xml2
7 files changed, 173 insertions, 1 deletions
diff --git a/all/ivy.xml b/all/ivy.xml
index 156588485f..cea833731a 100644
--- a/all/ivy.xml
+++ b/all/ivy.xml
@@ -32,6 +32,7 @@
rev="${vaadin.version}" />
<dependency org="com.vaadin" name="vaadin-push" rev="${vaadin.version}" />
<dependency org="com.vaadin" name="vaadin-widgets" rev="${vaadin.version}" />
+ <dependency org="com.vaadin" name="vaadin-bom" rev="${vaadin.version}" />
</dependencies>
diff --git a/bom/build.xml b/bom/build.xml
new file mode 100644
index 0000000000..42d7303b7b
--- /dev/null
+++ b/bom/build.xml
@@ -0,0 +1,46 @@
+<?xml version="1.0"?>
+
+<project name="vaadin-bom" basedir="." default="publish-local"
+ xmlns:artifact="antlib:org.apache.maven.artifact.ant" xmlns:antcontrib="antlib:net.sf.antcontrib">
+ <description>
+ Compiles a BOM (Bill of Materials) Maven artifact
+ </description>
+ <include file="../common.xml" as="common" />
+ <include file="../build.xml" as="vaadin" />
+
+ <!-- global properties -->
+ <property name="module.name" value="vaadin-bom" />
+ <property name="result.dir" value="result" />
+
+ <target name="bom" description="Generates a BOM (Bill of Materials) pom.xml. Either for a snapshot or a release version">
+ <fail unless="result.dir" message="No result.dir parameter given" />
+ <condition property="vaadin.maven.version" value="${vaadin.version}">
+ <isset property="build.release" />
+ </condition>
+ <!-- if this wasn't already set by the condition, this is a snapshot -->
+ <property name="vaadin.maven.version" value="${vaadin.version.major}.${vaadin.version.minor}-SNAPSHOT" />
+
+ <property name="bom.xml" location="${result.dir}/lib/vaadin-bom-${vaadin.version}.pom" />
+
+ <copy file="vaadin-bom.pom" tofile="${bom.xml}" overwrite="true">
+ <filterchain>
+ <replacestring from="@vaadin.version@" to="${vaadin.maven.version}" />
+ </filterchain>
+ </copy>
+ </target>
+
+ <target name="publish-local" depends="bom">
+ <antcall target="common.publish-local" />
+ </target>
+
+ <target name="clean">
+ <antcall target="common.clean" />
+ </target>
+ <target name="checkstyle">
+ <!-- No code in this module -->
+ </target>
+ <target name="test" depends="checkstyle">
+ <!-- No tests for this BOM.. -->
+ </target>
+
+</project>
diff --git a/bom/ivy.xml b/bom/ivy.xml
new file mode 100644
index 0000000000..39abb30d80
--- /dev/null
+++ b/bom/ivy.xml
@@ -0,0 +1,18 @@
+<?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-bom" revision="${vaadin.version}" />
+
+ <configurations>
+ <conf name="build" />
+ </configurations>
+ <publications>
+ <artifact type="pom" ext="pom" />
+ </publications>
+ <dependencies defaultconf="build">
+ </dependencies>
+
+</ivy-module>
diff --git a/bom/vaadin-bom.pom b/bom/vaadin-bom.pom
new file mode 100644
index 0000000000..f2b482ad9b
--- /dev/null
+++ b/bom/vaadin-bom.pom
@@ -0,0 +1,103 @@
+<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-bom</artifactId>
+ <version>@vaadin.version@</version>
+ <packaging>pom</packaging>
+ <name>Vaadin Framework (Bill of Materials)</name>
+ <description>Vaadin Framework (Bill of Materials)</description>
+ <organization>
+ <name>Vaadin Ltd</name>
+ <url>http://vaadin.com</url>
+ </organization>
+ <url>http://vaadin.com</url>
+ <licenses>
+ <license>
+ <name>Apache License Version 2.0</name>
+ <distribution>repo</distribution>
+ <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+ </license>
+ </licenses>
+ <scm>
+ <connection>scm:https:https://github.com/vaadin/vaadin.git</connection>
+ <developerConnection>scm:https:https://github.com/vaadin/vaadin.git</developerConnection>
+ <url>https://github.com/vaadin/vaadin</url>
+ </scm>
+ <developers>
+ <developer>
+ <id>artur</id>
+ <name>Artur Signell</name>
+ <email>artur.signell@vaadin.com</email>
+ <url>http://vaadin.com/web/artur</url>
+ <organization>Vaadin Ltd</organization>
+ <organizationUrl>http://vaadin.com/</organizationUrl>
+ <roles>
+ <role>architect</role>
+ <role>developer</role>
+ <role>team manager</role>
+ </roles>
+ <timezone>2</timezone>
+ </developer>
+ <developer>
+ <id>hesara</id>
+ <name>Henri Sara</name>
+ <email>hesara@vaadin.com</email>
+ <organization>Vaadin Ltd</organization>
+ <organizationUrl>http://vaadin.com/</organizationUrl>
+ <roles>
+ <role>developer</role>
+ </roles>
+ <timezone>2</timezone>
+ </developer>
+ </developers>
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-shared</artifactId>
+ <version>@vaadin.version@</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-server</artifactId>
+ <version>@vaadin.version@</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-push</artifactId>
+ <version>@vaadin.version@</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-widgets</artifactId>
+ <version>@vaadin.version@</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-client</artifactId>
+ <version>@vaadin.version@</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-client-compiler</artifactId>
+ <version>@vaadin.version@</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-client-compiled</artifactId>
+ <version>@vaadin.version@</version>
+ </dependency>
+ <dependency>
+ <groupId>com.vaadin</groupId>
+ <artifactId>vaadin-themes</artifactId>
+ <version>@vaadin.version@</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+</project>
diff --git a/build.xml b/build.xml
index ee24c61529..a88892772e 100644
--- a/build.xml
+++ b/build.xml
@@ -21,11 +21,13 @@
<exclude name="build/**" />
<exclude name="bin/**" />
<exclude name="buildhelpers/**" />
+ <exclude name="all/**" />
</fileset>
</ivy:buildlist>
<path id="build-path">
<path location="buildhelpers/build.xml" />
<path refid="ivy.build.path" />
+ <path location="all/build.xml" />
</path>
</target>
<target name="clean" depends="buildorder">
diff --git a/common.xml b/common.xml
index 9487560051..feb3381607 100644
--- a/common.xml
+++ b/common.xml
@@ -9,7 +9,7 @@
<property name="gwt.basedir" location="${vaadin.basedir}/../gwt" />
<property file="${vaadin.basedir}/build.properties" />
- <property name="modules.to.publish.to.maven" value="shared,server,client,client-compiler,client-compiled,themes,push,widgets" />
+ <property name="modules.to.publish.to.maven" value="shared,server,client,client-compiler,client-compiled,themes,push,widgets,bom" />
<property name="modules.to.publish.to.download" value="${modules.to.publish.to.maven},all" />
<ivy:settings file="${vaadin.basedir}/ivysettings.xml" />
diff --git a/ivysettings.xml b/ivysettings.xml
index f1fc4d1c63..c97b6a3bfb 100644
--- a/ivysettings.xml
+++ b/ivysettings.xml
@@ -49,6 +49,8 @@
resolver="build-temp" />
<module organisation="com.vaadin" name="vaadin-widgets"
resolver="build-temp" />
+ <module organisation="com.vaadin" name="vaadin-bom"
+ resolver="build-temp" />
<module organisation="com.vaadin" name="vaadin-liferay"
resolver="build-temp" />
</modules>