<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <parent>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-parent</artifactId>
    <version>2.0.2</version>
  </parent>
  <groupId>com.vaadin</groupId>
  <artifactId>flow-project</artifactId>
  <version>2.3.0</version>
  <packaging>pom</packaging>
  <name>Flow</name>
  <url>https://vaadin.com</url>
  <licenses>
    <license>
      <name>Apache License Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  <properties>
    <polymer.version>2.6.1</polymer.version>
    <osgi.bundle.version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}</osgi.bundle.version>
    <sonar.issuesReport.console.enable>true</sonar.issuesReport.console.enable>
    <node.version>v8.11.1</node.version>
    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.deploy.plugin.version>2.8.2</maven.deploy.plugin.version>
    <apache.httpclient.version>4.5.2</apache.httpclient.version>
    <flow.release.repo.url>https://maven.vaadin.com/vaadin-prereleases/</flow.release.repo.url>
    <maven.javadoc.skip>true</maven.javadoc.skip>
    <hibernate.validator.version>6.0.1.Final</hibernate.validator.version>
    <maven.clean.plugin.version>3.0.0</maven.clean.plugin.version>
    <maven.failsafe.plugin.version>2.22.0</maven.failsafe.plugin.version>
    <npm.version>6.1.0</npm.version>
    <jsoup.version>1.12.1</jsoup.version>
    <frontend.maven.plugin.version>1.5</frontend.maven.plugin.version>
    <failOnMissingWebXml>false</failOnMissingWebXml>
    <driver.binary.downloader.maven.plugin.version>1.0.17</driver.binary.downloader.maven.plugin.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <jsinterop.version>1.0.1</jsinterop.version>
    <maven.exec.plugin.version>1.6.0</maven.exec.plugin.version>
    <maven.resources.plugin.version>3.0.2</maven.resources.plugin.version>
    <maven.test.skip>false</maven.test.skip>
    <maven.war.plugin.version>3.1.0</maven.war.plugin.version>
    <flow.addons.repo.id>vaadin-addons</flow.addons.repo.id>
    <maven.compiler.source>1.8</maven.compiler.source>
    <jetty.version>9.4.11.v20180605</jetty.version>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <gwt.version>2.8.2</gwt.version>
    <flow.release.repo.id>vaadin-prereleases</flow.release.repo.id>
    <flow.dev.dependencies.folder>generatedDeps</flow.dev.dependencies.folder>
    <osgi.compendium.version>6.0.0</osgi.compendium.version>
    <bnd.version>3.3.0</bnd.version>
    <slf4j.version>1.7.30</slf4j.version>
    <maven.surefire.plugin.version>2.22.0</maven.surefire.plugin.version>
    <osgi.core.version>6.0.0</osgi.core.version>
    <flow.dev.dependencies.file>devDependencies.json</flow.dev.dependencies.file>
    <flow.addons.repo.url>https://maven.vaadin.com/vaadin-addons</flow.addons.repo.url>
    <sonar.java.source>8</sonar.java.source>
    <atmosphere.runtime.version>2.4.30.slf4jvaadin1</atmosphere.runtime.version>
    <sonar.issuesReport.html.enable>true</sonar.issuesReport.html.enable>
    <testbench.version>6.2.1</testbench.version>
    <sonar.analysis.mode>preview</sonar.analysis.mode>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.google.jsinterop</groupId>
        <artifactId>jsinterop</artifactId>
        <version>${jsinterop.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>com.google.gwt</groupId>
        <artifactId>gwt-elemental</artifactId>
        <version>${gwt.version}</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.5</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.9</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
      </dependency>
      <dependency>
        <groupId>javax.portlet</groupId>
        <artifactId>portlet-api</artifactId>
        <version>2.0</version>
      </dependency>
      <dependency>
        <groupId>org.webjars.bowergithub.webcomponents</groupId>
        <artifactId>webcomponentsjs</artifactId>
        <version>1.2.6</version>
      </dependency>
      <dependency>
        <groupId>org.webjars.bowergithub.webcomponents</groupId>
        <artifactId>shadycss</artifactId>
        <version>1.8.0</version>
      </dependency>
      <dependency>
        <groupId>org.webjars.bowergithub.polymer</groupId>
        <artifactId>polymer</artifactId>
        <version>${polymer.version}</version>
      </dependency>
      <dependency>
        <groupId>net.bytebuddy</groupId>
        <artifactId>byte-buddy</artifactId>
        <version>1.10.9</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient-osgi</artifactId>
        <version>${apache.httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${apache.httpclient.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore-osgi</artifactId>
        <version>4.4.4</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>1.10.19</version>
      </dependency>
      <dependency>
        <groupId>org.hamcrest</groupId>
        <artifactId>hamcrest-all</artifactId>
        <version>1.3</version>
      </dependency>
      <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>3.4</version>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <extensions>
      <extension>
        <groupId>org.apache.maven.wagon</groupId>
        <artifactId>wagon-ssh-external</artifactId>
        <version>2.9</version>
      </extension>
    </extensions>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>1.4.1</version>
          <executions>
            <execution>
              <id>check-logging-imports</id>
              <phase>process-sources</phase>
              <goals>
                <goal>enforce</goal>
              </goals>
              <configuration>
                <rules>
                  <restrictImports implementation="de.skuzzle.enforcer.restrictimports.RestrictImports">
                    <reason>Use SLF4j for logging</reason>
                    <bannedImport>java.util.logging.**</bannedImport>
                  </restrictImports>
                </rules>
              </configuration>
            </execution>
          </executions>
          <dependencies>
            <dependency>
              <groupId>de.skuzzle.enforcer</groupId>
              <artifactId>restrict-imports-enforcer-rule</artifactId>
              <version>0.8.0</version>
            </dependency>
          </dependencies>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
        </plugin>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>${maven.war.plugin.version}</version>
          <configuration>
            <archive>
              <manifestEntries>
                <Implementation-Title>${project.name}</Implementation-Title>
                <Implementation-Version>${project.version}</Implementation-Version>
              </manifestEntries>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven.surefire.plugin.version}</version>
          <configuration>
            <trimStackTrace>false</trimStackTrace>
            <reuseForks>false</reuseForks>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${maven.failsafe.plugin.version}</version>
          <configuration>
            <trimStackTrace>false</trimStackTrace>
            <enableAssertions>true</enableAssertions>
            <parallel>all</parallel>
            <threadCount>2</threadCount>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.commonjava.maven.plugins</groupId>
                    <artifactId>directory-maven-plugin</artifactId>
                    <versionRange>[0.1,)</versionRange>
                    <goals>
                      <goal>highest-basedir</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-plugin-plugin</artifactId>
                    <versionRange>[3.2,)</versionRange>
                    <goals>
                      <goal>descriptor</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.7,)</versionRange>
                    <goals>
                      <goal>run</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>license-maven-plugin</artifactId>
          <version>1.13</version>
          <configuration>
            <excludedScopes>system,test</excludedScopes>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>com.marvinformatics.formatter</groupId>
        <artifactId>formatter-maven-plugin</artifactId>
        <version>1.8.1</version>
        <dependencies>
          <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>flow-buildtools</artifactId>
            <version>${project.version}</version>
          </dependency>
        </dependencies>
        <configuration>
          <configFile>classpath:/eclipse/VaadinJavaConventions.xml</configFile>
          <configJsFile>classpath:/eclipse/VaadinJavaConventions.xml</configJsFile>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.8.0</version>
      </plugin>
      <plugin>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.0.1</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <phase>verify</phase>
            <goals>
              <goal>jar-no-fork</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-javadoc-plugin</artifactId>
        <version>3.0.1</version>
        <executions>
          <execution>
            <id>attach-javadocs</id>
            <phase>verify</phase>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <quiet>true</quiet>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.commonjava.maven.plugins</groupId>
        <artifactId>directory-maven-plugin</artifactId>
        <version>0.1</version>
        <executions>
          <execution>
            <id>set-root-dir-for-common-lifecycle</id>
            <phase>initialize</phase>
            <goals>
              <goal>highest-basedir</goal>
            </goals>
            <configuration>
              <property>project.rootdir</property>
            </configuration>
          </execution>
          <execution>
            <id>set-root-dir-for-clean-lifecycle</id>
            <phase>pre-clean</phase>
            <goals>
              <goal>highest-basedir</goal>
            </goals>
            <configuration>
              <property>project.rootdir</property>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-clean-plugin</artifactId>
        <version>${maven.clean.plugin.version}</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>${project.rootdir}/driver</directory>
            </fileset>
            <fileset>
              <directory>${project.rootdir}/driver_zips</directory>
            </fileset>
            <fileset>
              <directory>error-screenshots</directory>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>parse-version</id>
            <goals>
              <goal>parse-version</goal>
            </goals>
          </execution>
        </executions>
      </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>
    </plugins>
  </build>
</project>
