<?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.1.0</version> </parent> <artifactId>vaadin-root</artifactId> <name>vaadin-root</name> <packaging>pom</packaging> <version>8.1-SNAPSHOT</version> <prerequisites> <maven>3.1.0</maven> </prerequisites> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <!-- Used version numbers for dependencies --> <liferay.portal-service.version>6.2.5</liferay.portal-service.version> <liferay.portal-kernel.version>2.0.0</liferay.portal-kernel.version> <vaadin.gwt.version>2.8.1</vaadin.gwt.version> <vaadin.plugin.version>8.1-SNAPSHOT</vaadin.plugin.version> <!-- Used in OSGi manifests --> <javax.validation.version>1.0.0.GA</javax.validation.version> <jsoup.version>1.8.3</jsoup.version> <javax.portlet.version>2.0</javax.portlet.version> <vaadin.sass.version>0.9.13</vaadin.sass.version> <!-- Note that this should be kept in sync with the class Constants --> <atmosphere.runtime.version>2.4.5.vaadin2</atmosphere.runtime.version> <!-- OSGi --> <osgi.execution.environment>JavaSE-1.8</osgi.execution.environment> <osgi.bundle.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</osgi.bundle.version> <osgi.version>6.0.0</osgi.version> <osgi.annotation.version>6.0.1</osgi.annotation.version> <bnd.version>3.3.0</bnd.version> <!-- Dependency unpack directory --> <dependency.unpack.directory>${project.build.directory}/dependency-unpack</dependency.unpack.directory> <!-- Cannot use 9.3 or 9.4 because they sometimes reset the connection too early in case of errors --> <!-- See e.g. https://issues.apache.org/jira/browse/SOLR-8453 --> <jetty.version>9.2.9.v20150224</jetty.version> <phantomjs.version>2.1.1</phantomjs.version> <!-- Sonar properties --> <sonar.java.source>8</sonar.java.source> <sonar.analysis.mode>preview</sonar.analysis.mode> <sonar.issuesReport.console.enable>true</sonar.issuesReport.console.enable> <sonar.issuesReport.html.enable>true</sonar.issuesReport.html.enable> <vaadin.icons.version>3.0.1</vaadin.icons.version> <vaadin.testbench.version>5.0.0</vaadin.testbench.version> </properties> <!-- TODO: remove this after maven plugin has been released --> <pluginRepositories> <pluginRepository> <id>vaadin-prereleases</id> <url>http://maven.vaadin.com/vaadin-prereleases</url> </pluginRepository> <pluginRepository> <id>vaadin-snapshots</id> <url>https://oss.sonatype.org/content/repositories/vaadin-snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> <organization> <name>Vaadin Ltd</name> </organization> <url>https://vaadin.com/</url> <description>Vaadin Framework Root Pom</description> <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:git:git://github.com/vaadin/framework.git</connection> <developerConnection>scm:git:git://github.com/vaadin/framework.git</developerConnection> <url>https://github.com/vaadin/framework</url> </scm> <dependencyManagement> <dependencies> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.4</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.6</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.5</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-sass-compiler</artifactId> <version>${vaadin.sass.version}</version> <exclusions> <!-- No need to have the minifier included for development mode on-the-fly compilation --> <exclusion> <groupId>com.yahoo.platform.yui</groupId> <artifactId>yuicompressor</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.carrotsearch</groupId> <artifactId>smartsprites</artifactId> <version>0.2.10</version> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-dev</artifactId> <version>${vaadin.gwt.version}</version> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-elemental</artifactId> <version>${vaadin.gwt.version}</version> </dependency> <dependency> <groupId>com.google.gwt</groupId> <artifactId>gwt-servlet</artifactId> <version>${vaadin.gwt.version}</version> </dependency> <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>javascript</artifactId> <type>war</type> <version>2.3.2.vaadin1</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <exclusions> <exclusion> <artifactId>hamcrest-core</artifactId> <groupId>org.hamcrest</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <version>3.0</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> </dependency> <dependency> <groupId>javax.portlet</groupId> <artifactId>portlet-api</artifactId> <version>${javax.portlet.version}</version> </dependency> <dependency> <groupId>com.google.appengine</groupId> <artifactId>appengine-api-1.0-sdk</artifactId> <version>1.7.7</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>${javax.validation.version}</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.2.0.Final</version> </dependency> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>${jsoup.version}</version> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version>1.9.5</version> <exclusions> <exclusion> <artifactId>hamcrest-core</artifactId> <groupId>org.hamcrest</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <version>1.3</version> </dependency> <dependency> <groupId>org.hsqldb</groupId> <artifactId>hsqldb</artifactId> <version>2.2.6</version> </dependency> <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-testbench</artifactId> <version>${vaadin.testbench.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-server</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-servlets</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty.websocket</groupId> <artifactId>websocket-server</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-webapp</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-util</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-proxy</artifactId> <version>${jetty.version}</version> </dependency> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.52</version> </dependency> <dependency> <groupId>org.eclipse.jgit</groupId> <artifactId>org.eclipse.jgit</artifactId> <version>3.5.1.201410131835-r</version> </dependency> <dependency> <groupId>com.github.siom79.japicmp</groupId> <artifactId>japicmp-maven-plugin</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>com.vaadin</groupId> <artifactId>vaadin-icons</artifactId> <version>${vaadin.icons.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.core</artifactId> <version>${osgi.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.annotation</artifactId> <version>${osgi.annotation.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.osgi</groupId> <artifactId>osgi.cmpn</artifactId> <version>${osgi.version}</version> <scope>provided</scope> </dependency> </dependencies> </dependencyManagement> <!-- Common test dependencies --> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hamcrest</groupId> <artifactId>hamcrest-all</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.easymock</groupId> <artifactId>easymock</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <pluginManagement> <plugins> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-resources-plugin</artifactId> <!-- Downgraded due to filtering related bug --> <version>2.6</version> </plugin> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.5</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.6</version> </plugin> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.6</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.19.1</version> </plugin> <plugin> <artifactId>maven-failsafe-plugin</artifactId> <version>2.19.1</version> </plugin> <plugin> <groupId>com.github.klieber</groupId> <artifactId>phantomjs-maven-plugin</artifactId> <version>0.7</version> </plugin> <plugin> <artifactId>maven-antrun-plugin</artifactId> <version>1.8</version> </plugin> <plugin> <groupId>biz.aQute.bnd</groupId> <artifactId>bnd-maven-plugin</artifactId> <version>${bnd.version}</version> <executions> <execution> <goals> <goal>bnd-process</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.10</version> <configuration> <outputDirectory>${dependency.unpack.directory}</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>true</overWriteSnapshots> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.4.0</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.3</version> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>1.10</version> </plugin> <plugin> <artifactId>maven-source-plugin</artifactId> <version>3.0.0</version> </plugin> <plugin> <groupId>com.vaadin</groupId> <artifactId>vaadin-maven-plugin</artifactId> <version>${vaadin.plugin.version}</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <version>2.17</version> <dependencies> <!-- Needed because of a JavadocMethodCheck bug in 6.11 --> <dependency> <groupId>com.puppycrawl.tools</groupId> <artifactId>checkstyle</artifactId> <version>6.17</version> </dependency> </dependencies> <configuration> <configLocation>../checkstyle/vaadin-checkstyle.xml</configLocation> <headerLocation>../checkstyle/header</headerLocation> <suppressionsLocation>../checkstyle/suppressions.xml</suppressionsLocation> <encoding>UTF-8</encoding> <consoleOutput>false</consoleOutput> <failsOnError>false</failsOnError> <linkXRef>false</linkXRef> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <version>1.15</version> </plugin> <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> <pluginExecution> <pluginExecutionFilter> <groupId> com.github.klieber </groupId> <artifactId> phantomjs-maven-plugin </artifactId> <versionRange> [0.7,) </versionRange> <goals> <goal>install</goal> </goals> </pluginExecutionFilter> <action> <ignore></ignore> </action> </pluginExecution> </pluginExecutions> </lifecycleMappingMetadata> </configuration> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <groupId>com.marvinformatics.formatter</groupId> <artifactId>formatter-maven-plugin</artifactId> <version>1.8.1</version> <configuration> <configFile>classpath:/eclipse/VaadinJavaConventions.xml</configFile> <!-- Provide a dummy JS config file to avoid errors --> <configJsFile>classpath:/eclipse/VaadinJavaConventions.xml</configJsFile> </configuration> <dependencies> <dependency> <groupId>${project.groupId}</groupId> <artifactId>vaadin-buildhelpers</artifactId> <version>${project.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>animal-sniffer-maven-plugin</artifactId> <executions> <execution> <id>java8compatibility</id> <phase>test</phase> <goals> <goal>check</goal> </goals> <configuration> <signature> <groupId>org.codehaus.mojo.signature</groupId> <artifactId>java18</artifactId> <version>1.0</version> </signature> <ignores> <ignore>com.google.gwt.*</ignore> </ignores> </configuration> </execution> </executions> </plugin> <!-- Unpacked Dependencies as resource --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <!-- Needs extra resource folder for unpacked dependencies --> <executions> <execution> <id>add-dependency-resources</id> <phase>generate-resources</phase> <goals> <goal>add-resource</goal> </goals> <configuration> <resources> <resource> <directory>${dependency.unpack.directory}</directory> <filtering>false</filtering> </resource> </resources> </configuration> </execution> <execution> <id>parse-version</id> <goals> <goal>parse-version</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <profiles> <profile> <!-- Default build profile that runs all modules. --> <id>default</id> <activation> <activeByDefault>true</activeByDefault> </activation> <modules> <module>buildhelpers</module> <module>shared</module> <module>push</module> <module>server</module> <module>client</module> <module>client-compiler</module> <module>client-compiled</module> <module>themes</module> <module>uitest</module> <module>liferay</module> <module>liferay-integration</module> <module>osgi-integration</module> <module>all</module> <module>compatibility-server</module> <module>compatibility-server-gae</module> <module>compatibility-client</module> <module>compatibility-client-compiled</module> <module>compatibility-shared</module> <module>compatibility-themes</module> <module>testbench-api</module> <module>bom</module> </modules> </profile> <profile> <!-- Profile for running integration tests. Vaadin version to be tested can be defined with property vaadin.version --> <id>slowtest</id> <modules> <module>test</module> </modules> </profile> <profile> <!-- This profile builds the assembled parts of the Framework for website release. Should be run after running the release profile --> <id>release-assemblies</id> <modules> <module>liferay</module> <module>all</module> </modules> </profile> <profile> <!-- Release build only builds artifacts that are deployed or needed by them --> <id>release</id> <properties> <vaadin.plugin.version>${project.version}</vaadin.plugin.version> </properties> <modules> <module>buildhelpers</module> <module>shared</module> <module>push</module> <module>server</module> <module>client</module> <module>client-compiler</module> <module>client-compiled</module> <module>themes</module> <module>compatibility-server</module> <module>compatibility-server-gae</module> <module>compatibility-client</module> <module>compatibility-client-compiled</module> <module>compatibility-shared</module> <module>compatibility-themes</module> <module>liferay-integration</module> <module>osgi-integration</module> <!-- Nexus staging bug needs the last module to be deployed. --> <module>testbench-api</module> <!-- BOM is built and released separately --> </modules> <build> <plugins> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>sources-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <!-- Only include java files --> <includes> <include>**/*.java</include> </includes> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> <executions> <execution> <id>generate-javadoc</id> <goals> <goal>jar</goal> </goals> <configuration> <failOnError>false</failOnError> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Pre-release build only builds artifacts that are deployed or needed by them --> <id>prerelease</id> <properties> <vaadin.plugin.version>${project.version}</vaadin.plugin.version> </properties> <modules> <module>buildhelpers</module> <module>shared</module> <module>push</module> <module>server</module> <module>client</module> <module>client-compiler</module> <module>client-compiled</module> <module>themes</module> <module>compatibility-server</module> <module>compatibility-server-gae</module> <module>compatibility-client</module> <module>compatibility-client-compiled</module> <module>compatibility-shared</module> <module>compatibility-themes</module> <module>liferay-integration</module> <module>osgi-integration</module> <!-- Nexus staging bug needs the last module to be deployed. --> <module>testbench-api</module> <!-- BOM is built and released separately --> </modules> <build> <plugins> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>sources-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <!-- Only include java files --> <includes> <include>**/*.java</include> </includes> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> <executions> <execution> <id>generate-javadoc</id> <goals> <goal>jar</goal> </goals> <configuration> <failOnError>false</failOnError> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Snapshot build only builds artifacts that are deployed or needed by them --> <id>snapshot</id> <properties> <vaadin.plugin.version>${project.version}</vaadin.plugin.version> </properties> <modules> <module>buildhelpers</module> <module>shared</module> <module>push</module> <module>server</module> <module>client</module> <module>client-compiler</module> <module>client-compiled</module> <module>themes</module> <module>compatibility-server</module> <module>compatibility-server-gae</module> <module>compatibility-client</module> <module>compatibility-client-compiled</module> <module>compatibility-shared</module> <module>compatibility-themes</module> <module>liferay-integration</module> <module>osgi-integration</module> <module>testbench-api</module> <module>bom</module> </modules> <build> <plugins> <plugin> <artifactId>maven-source-plugin</artifactId> <executions> <execution> <id>sources-jar</id> <phase>package</phase> <goals> <goal>jar</goal> </goals> <configuration> <!-- Only include java files --> <includes> <include>**/*.java</include> </includes> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-javadoc-plugin</artifactId> <version>2.10.3</version> <executions> <execution> <id>generate-javadoc</id> <goals> <goal>jar</goal> </goals> <configuration> <failOnError>false</failOnError> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- This profile is disjoint with default profile. It allows to prevent running build for all available modules but restricts a number of modules to specified here only (which allows to avoid long time compilation for projects that are not needed since japicmp works with compiled classes). ! --> <id>apicmp</id> <modules> <module>server</module> <module>push</module> <module>client</module> <module>compatibility-server</module> <module>compatibility-server-gae</module> <module>compatibility-client</module> <module>client-compiler</module> <module>shared</module> <module>compatibility-shared</module> <module>liferay-integration</module> <module>osgi-integration</module> </modules> <repositories> <repository> <id>vaadin-prereleases</id> <url>http://maven.vaadin.com/vaadin-prereleases</url> </repository> </repositories> <build> <plugins> <plugin> <groupId>com.github.siom79.japicmp</groupId> <artifactId>japicmp-maven-plugin</artifactId> <configuration> <oldVersion> <dependency> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <version>${vaadin.api.reference.version}</version> <type>jar</type> </dependency> </oldVersion> <newVersion> <file> <path>${project.build.directory}/${project.artifactId}-${project.version}.${project.packaging}</path> </file> </newVersion> <parameter> <ignoreMissingClasses>true</ignoreMissingClasses> <onlyModified>true</onlyModified> <skipDiffReport>true</skipDiffReport> <skipXmlReport>true</skipXmlReport> <ignoreMissingOldVersion>true</ignoreMissingOldVersion> <ignoreMissingNewVersion>true</ignoreMissingNewVersion> </parameter> </configuration> <executions> <execution> <phase>verify</phase> <goals> <goal>cmp</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> <profile> <!-- Testing profile for measurement tests. Use along with default profile --> <id>measurements</id> <properties> <skipTests>true</skipTests> </properties> </profile> </profiles> </project>