diff options
-rw-r--r-- | all/ivy.xml | 1 | ||||
-rw-r--r-- | bom/build.xml | 46 | ||||
-rw-r--r-- | bom/ivy.xml | 18 | ||||
-rw-r--r-- | bom/vaadin-bom.pom | 103 | ||||
-rw-r--r-- | build.xml | 2 | ||||
-rw-r--r-- | common.xml | 2 | ||||
-rw-r--r-- | ivysettings.xml | 2 |
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> @@ -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> |