<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://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>org.sonatype.oss</groupId>
    <artifactId>oss-parent</artifactId>
    <version>9</version>
  </parent>
  <groupId>io.fluentlenium</groupId>
  <artifactId>fluentlenium-parent</artifactId>
  <version>6.0.0</version>
  <packaging>pom</packaging>
  <name>FluentLenium</name>
  <description>FluentLenium makes the writing of acceptance testing more easy and in a fluent way using the power of
        css selectors. Build upon Selenium WebDriver.

        goTo("http://www.bing.com");
        $("#sb_form_q").fill().with("FluentLenium");
        $("#sb_form_go").submit();
        assertThat(title()).contains("FluentLenium");</description>
  <url>https://github.com/FluentLenium/FluentLenium</url>
  <organization>
    <name>FluentLenium</name>
    <url>https://github.com/FluentLenium</url>
  </organization>
  <licenses>
    <license>
      <name>Apache 2</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
      <comments>A business-friendly OSS license</comments>
    </license>
  </licenses>
  <developers>
    <developer>
      <id>Mlemee</id>
      <name>Mathilde Lemee</name>
      <email>mathilde.lemee@gmail.com</email>
      <url>https://github.com/MathildeLemee</url>
      <organization>AConsulting</organization>
      <organizationUrl>http://www.java-freelance.fr</organizationUrl>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <id>Toilal</id>
      <name>Rémi Alvergnat</name>
      <email>remi.alvergnat@pragmasphere.com</email>
      <url>https://github.com/Toilal</url>
      <organization>Pragmasphere</organization>
      <organizationUrl>http://www.pragmasphere.com</organizationUrl>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <id>Filip</id>
      <name>Filip Cynarski</name>
      <email>filip@cynarski.eu</email>
      <url>https://github.com/filipcynarski</url>
      <organization>Ocado Technology</organization>
      <organizationUrl>http://www.ocadotechnology.com/</organizationUrl>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <id>Adrian</id>
      <name>Adrian Koryl</name>
      <email>adrian.koryl@gmail.com</email>
      <url>https://github.com/koryl</url>
      <organization>Edge One Solutions</organization>
      <organizationUrl>http://www.edge1s.com/</organizationUrl>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
    <developer>
      <id>Slawek</id>
      <name>Slawomir Radzyminski</name>
      <email>slawomir.radzyminski@gmail.com</email>
      <url>https://github.com/slawekradzyminski</url>
      <organization>Ocado Technology</organization>
      <organizationUrl>http://www.ocadotechnology.com/</organizationUrl>
      <roles>
        <role>developer</role>
      </roles>
    </developer>
  </developers>
  <modules>
    <module>fluentlenium-core</module>
    <module>fluentlenium-assertj</module>
    <module>fluentlenium-junit</module>
    <module>fluentlenium-junit-jupiter</module>
    <module>fluentlenium-testng</module>
    <module>fluentlenium-spring-testng</module>
    <module>fluentlenium-cucumber</module>
    <module>fluentlenium-spock</module>
    <module>fluentlenium-integration-tests</module>
    <module>fluentlenium-kotest</module>
    <module>fluentlenium-kotest-assertions</module>
    <module>fluentlenium-coverage-report</module>
  </modules>
  <scm>
    <connection>scm:git:git@github.com:FluentLenium/FluentLenium.git</connection>
    <developerConnection>scm:git:git@github.com:FluentLenium/FluentLenium.git</developerConnection>
    <tag>v6.0.0</tag>
    <url>https://github.com/FluentLenium/FluentLenium</url>
  </scm>
  <distributionManagement>
    <repository>
      <id>ossrh</id>
      <url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
    </repository>
    <snapshotRepository>
      <id>ossrh</id>
      <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
    </snapshotRepository>
  </distributionManagement>
  <properties>
    <seleniumDevtools.artifactId>selenium-devtools-v111</seleniumDevtools.artifactId>
    <selenium.version>4.9.0</selenium.version>
    <testng.version>7.7.1</testng.version>
    <slf4j.version>2.0.7</slf4j.version>
    <maven.version.rules>file:///${project.basedir}/maven-version-rules.xml</maven.version.rules>
    <junit5.version>5.9.3</junit5.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <spring.version>6.0.8</spring.version>
    <project.reporting.outputEncoding>${project.build.sourceEncoding}</project.reporting.outputEncoding>
    <fluentlenium.capabilities.default>{"goog:chromeOptions": {"args": ["headless=new","no-sandbox", "disable-gpu",
            "disable-dev-shm-usage"]}}</fluentlenium.capabilities.default>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.ow2.asm</groupId>
        <artifactId>asm</artifactId>
        <version>9.5</version>
      </dependency>
      <dependency>
        <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
        <version>31.1-jre</version>
      </dependency>
      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>1.15</version>
      </dependency>
      <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-bom</artifactId>
        <version>4.1.91.Final</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>${junit5.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.groovy</groupId>
        <artifactId>groovy-bom</artifactId>
        <version>4.0.11</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
      <dependency>
        <groupId>io.fluentlenium</groupId>
        <artifactId>fluentlenium-testing-private</artifactId>
        <version>${project.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-support</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-api</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-remote-driver</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-ie-driver</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-safari-driver</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-edge-driver</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>htmlunit-driver</artifactId>
        <version>${selenium.version}</version>
      </dependency>
      <dependency>
        <groupId>net.sourceforge.htmlunit</groupId>
        <artifactId>htmlunit</artifactId>
        <version>2.70.0</version>
      </dependency>
      <dependency>
        <groupId>io.appium</groupId>
        <artifactId>java-client</artifactId>
        <version>8.2.1</version>
      </dependency>
      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>2.11.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.12.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.10.0</version>
      </dependency>
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.2</version>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter</artifactId>
        <version>${junit5.version}</version>
      </dependency>
      <dependency>
        <groupId>org.junit.platform</groupId>
        <artifactId>junit-platform-launcher</artifactId>
        <version>1.9.3</version>
      </dependency>
      <dependency>
        <groupId>com.github.stephenc.jcip</groupId>
        <artifactId>jcip-annotations</artifactId>
        <version>1.0-1</version>
      </dependency>
      <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>${testng.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>${spring.version}</version>
      </dependency>
      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>3.24.2</version>
      </dependency>
      <dependency>
        <groupId>org.opentest4j</groupId>
        <artifactId>opentest4j</artifactId>
        <version>1.2.0</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-core</artifactId>
        <version>5.3.1</version>
      </dependency>
      <dependency>
        <groupId>org.mockito</groupId>
        <artifactId>mockito-junit-jupiter</artifactId>
        <version>5.3.1</version>
      </dependency>
      <dependency>
        <groupId>net.bytebuddy</groupId>
        <artifactId>byte-buddy</artifactId>
        <version>1.14.4</version>
        <scope>compile</scope>
      </dependency>
      <dependency>
        <groupId>org.atteo.classindex</groupId>
        <artifactId>classindex</artifactId>
        <version>3.13</version>
      </dependency>
      <dependency>
        <groupId>org.spockframework</groupId>
        <artifactId>spock-core</artifactId>
        <version>2.3-groovy-4.0</version>
      </dependency>
      <dependency>
        <groupId>org.spockframework</groupId>
        <artifactId>spock-junit4</artifactId>
        <version>2.3-groovy-4.0</version>
      </dependency>
      <dependency>
        <groupId>org.apache.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>4.0.11</version>
        <type>pom</type>
      </dependency>
      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>4.5.14</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-model</artifactId>
        <version>3.9.1</version>
      </dependency>
      <dependency>
        <groupId>io.github.bonigarcia</groupId>
        <artifactId>webdrivermanager</artifactId>
        <version>5.3.2</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>${seleniumDevtools.artifactId}</artifactId>
        <version>${selenium.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4j.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.4.7</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.4.7</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.objenesis</groupId>
        <artifactId>objenesis</artifactId>
        <version>3.3</version>
        <scope>test</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
  <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.2.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.11.0</version>
          <configuration>
            <release>11</release>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>3.1.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-install-plugin</artifactId>
          <version>3.1.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-gpg-plugin</artifactId>
          <version>3.0.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.3.0</version>
        </plugin>
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.5.0</version>
          <configuration>
            <additionalparam>-Xdoclint:none</additionalparam>
            <additionalOptions>-Xdoclint:none</additionalOptions>
            <additionalJOption>-Xdoclint:none</additionalJOption>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>3.3.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-site-plugin</artifactId>
          <version>3.12.1</version>
        </plugin>
        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>3.0.0</version>
          <configuration>
            <excludes>
              <exclude>**/integration/**/*</exclude>
              <exclude>**/ignore/**/*</exclude>
              <exclude>**/*$*</exclude>
              <exclude>**/IgnoreTest*.java</exclude>
              <exclude>**/*IgnoreTest.java</exclude>
              <exclude>**/*IgnoreTestCase.java</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>3.0.0</version>
          <executions>
            <execution>
              <goals>
                <goal>integration-test</goal>
                <goal>verify</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <includes>
              <include>**/integration/**/*</include>
            </includes>
            <excludes>
              <exclude>**/ignore/**/*</exclude>
              <exclude>**/shareddriver/**/*</exclude>
              <exclude>**/*$*</exclude>
              <exclude>**/IgnoreTest*.java</exclude>
              <exclude>**/*IgnoreTest.java</exclude>
              <exclude>**/*IgnoreTestCase.java</exclude>
            </excludes>
          </configuration>
        </plugin>
        <plugin>
          <groupId>com.github.gantsign.maven</groupId>
          <artifactId>ktlint-maven-plugin</artifactId>
          <version>1.16.0</version>
          <executions>
            <execution>
              <id>format-and-check</id>
              <goals>
                <goal>format</goal>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>3.3.0</version>
        <executions>
          <execution>
            <id>enforce-maven</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>3.9.0</version>
                </requireMavenVersion>
                <banDuplicatePomDependencyVersions />
                <dependencyConvergence />
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <artifactId>maven-release-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <autoVersionSubmodules>true</autoVersionSubmodules>
          <tagNameFormat>v@{project.version}</tagNameFormat>
        </configuration>
      </plugin>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.5.0</version>
        <configuration>
          <descriptors>src/main/assembly/dep.xml</descriptors>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
        <version>1.4.1</version>
        <executions>
          <execution>
            <id>flatten</id>
            <phase>process-resources</phase>
            <goals>
              <goal>flatten</goal>
            </goals>
          </execution>
          <execution>
            <id>flatten.clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <updatePomFile>true</updatePomFile>
          <flattenMode>resolveCiFriendliesOnly</flattenMode>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.eluder.coveralls</groupId>
        <artifactId>coveralls-maven-plugin</artifactId>
        <version>4.3.0</version>
        <dependencies>
          <dependency>
            <groupId>javax.xml.bind</groupId>
            <artifactId>jaxb-api</artifactId>
            <version>2.3.1</version>
          </dependency>
        </dependencies>
        <configuration>
          <jacocoReports>
            <jacocoReport>${project.basedir}/fluentlenium-coverage-report/target/site/jacoco-aggregate/jacoco.xml</jacocoReport>
          </jacocoReports>
          <sourceEncoding>UTF-8</sourceEncoding>
          <sourceDirectories>
            <sourceDirectory>${basedir}/fluentlenium-core/src/main/java</sourceDirectory>
            <sourceDirectory>${basedir}/fluentlenium-assertj/src/main/java</sourceDirectory>
            <sourceDirectory>${basedir}/fluentlenium-cucumber/src/main/java</sourceDirectory>
            <sourceDirectory>${basedir}/fluentlenium-junit/src/main/java</sourceDirectory>
            <sourceDirectory>${basedir}/fluentlenium-junit-jupiter/src/main/java</sourceDirectory>
            <sourceDirectory>${basedir}/fluentlenium-testng/src/main/java</sourceDirectory>
            <sourceDirectory>${basedir}/fluentlenium-spock/src/main/groovy</sourceDirectory>
          </sourceDirectories>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.jacoco</groupId>
        <artifactId>jacoco-maven-plugin</artifactId>
        <version>0.8.9</version>
        <executions>
          <execution>
            <id>prepare-agent</id>
            <goals>
              <goal>prepare-agent</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <excludes>
            <exclude>**com.steadystate*</exclude>
            <exclude>**com/gargoylesoftware*</exclude>
          </excludes>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <profiles>
    <profile>
      <id>java11</id>
      <activation>
        <jdk>11</jdk>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <artifactId>maven-javadoc-plugin</artifactId>
              <executions>
                <execution>
                  <id>aggregate</id>
                  <phase>process-resources</phase>
                  <goals>
                    <goal>aggregate</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>
          </plugins>
        </pluginManagement>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <release>${java.version}</release>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <java.version>11</java.version>
        <spring.version>5.3.23</spring.version>
      </properties>
    </profile>
    <profile>
      <id>java17</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
              <release>${java.version}</release>
            </configuration>
          </plugin>
        </plugins>
      </build>
      <properties>
        <java.version>17</java.version>
      </properties>
    </profile>
    <profile>
      <id>examples</id>
      <modules>
        <module>examples/appium</module>
        <module>examples/cucumber</module>
        <module>examples/hooks</module>
        <module>examples/performance</module>
        <module>examples/quickstart-chrome</module>
        <module>examples/quickstart-microsoft-browsers</module>
        <module>examples/quickstart-safari</module>
        <module>examples/spock</module>
        <module>examples/spring</module>
      </modules>
    </profile>
    <profile>
      <id>framework-integration-tests</id>
      <modules>
        <module>fluentlenium-junit/src/it/junit</module>
        <module>fluentlenium-junit-jupiter/src/it/junit-jupiter</module>
        <module>fluentlenium-testng/src/it/testng</module>
      </modules>
    </profile>
    <profile>
      <id>check</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-checkstyle-plugin</artifactId>
            <version>3.2.2</version>
            <executions>
              <execution>
                <id>checkstyle-validate</id>
                <phase>validate</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
            <dependencies>
              <dependency>
                <groupId>com.puppycrawl.tools</groupId>
                <artifactId>checkstyle</artifactId>
                <version>10.3.4</version>
              </dependency>
            </dependencies>
            <configuration>
              <configLocation>dev-config/checkstyle/fluentlenium_checks.xml</configLocation>
              <consoleOutput>true</consoleOutput>
              <encoding>${project.build.sourceEncoding}</encoding>
              <failOnViolation>true</failOnViolation>
              <failsOnError>true</failsOnError>
              <includeTestSourceDirectory>true</includeTestSourceDirectory>
              <logViolationsToConsole>true</logViolationsToConsole>
              <violationSeverity>error</violationSeverity>
            </configuration>
          </plugin>
          <plugin>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>3.20.0</version>
            <executions>
              <execution>
                <id>pmd-validate</id>
                <phase>validate</phase>
                <goals>
                  <goal>check</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <failOnViolation>true</failOnViolation>
              <failurePriority>2</failurePriority>
              <rulesets>
                <ruleset>dev-config/pmd/fluentlenium_pmd.xml</ruleset>
              </rulesets>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>sonatype-oss-release</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>3.5.0</version>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>ci</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>3.1.0</version>
            <executions>
              <execution>
                <phase>post-integration-test</phase>
                <goals>
                  <goal>exec</goal>
                </goals>
              </execution>
            </executions>
            <configuration>
              <executable>${maven.multiModuleProjectDirectory}/cleanup-browser.sh</executable>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>
</project>
