<?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>
  <groupId>com.dougnoel</groupId>
  <artifactId>sentinel</artifactId>
  <version>1.0.3</version>
  <name>sentinel</name>
  <url>https://github.com/dougnoel/${project.artifactId}</url>

  <organization>
    <name>Doug Noël</name>
    <url>https://github.com/dougnoel/${project.artifactId}</url>
  </organization>

 <developers>
    <developer>
      <name>Doug Noël</name>
      <email>doug@dougnoel.com</email>
      <organization>Doug Noël</organization>
      <organizationUrl>https://github.com/dougnoel</organizationUrl>
    </developer>
  </developers>
  
	<licenses>
		<license>
			<name>The Apache License, Version 2.0</name>
			<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
		</license>
	</licenses>

  <scm>
    <connection>scm:git:git://github.com/dougnoel/${project.artifactId}.git</connection>
    <developerConnection>scm:git:git@github.com:dougnoel/${project.artifactId}.git</developerConnection>
    <url>git://github.com/dougnoel/${project.artifactId}.git</url>
    <tag>sentinel-1.0.3</tag>
  </scm>
      
  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <sentinel-release-os>mac</sentinel-release-os>
    <sentinel-release-browser>chrome</sentinel-release-browser>
    <sentinel-release-pageobjectpackages>pages</sentinel-release-pageobjectpackages>
    
    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
    <maven-compiler-plugin.source>1.8</maven-compiler-plugin.source>
    <maven-compiler-plugin.target>1.8</maven-compiler-plugin.target>
    <maven-compiler-plugin.verbose>true</maven-compiler-plugin.verbose>
    <maven-compiler-plugin.debug>true</maven-compiler-plugin.debug>
    <maven-compiler-plugin.parameters>true</maven-compiler-plugin.parameters>
    <maven-compiler-plugin.showWarnings>true</maven-compiler-plugin.showWarnings>
    <maven-compiler-plugin.showDeprecation>true</maven-compiler-plugin.showDeprecation>

    <maven-dependency-plugin.version>3.1.1</maven-dependency-plugin.version>
    <maven-dependency-plugin.verbose>true</maven-dependency-plugin.verbose>
    <maven-dependency-plugin.outputXML>true</maven-dependency-plugin.outputXML>
    
    <maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>

    <maven-enforcer-plugin.version>3.0.0-M2</maven-enforcer-plugin.version>
    <extra-enforcer-rules.version>1.2</extra-enforcer-rules.version>
    <maven-enforcer-plugin.banDuplicateClasses.findAllDuplicates>true</maven-enforcer-plugin.banDuplicateClasses.findAllDuplicates>
    <maven-enforcer-plugin.banDuplicateClasses.ignoreWhenIdentical>true</maven-enforcer-plugin.banDuplicateClasses.ignoreWhenIdentical>

    <maven-failsafe-plugin.version>3.0.0-M3</maven-failsafe-plugin.version>

    <maven-help-plugin.version>3.2.0</maven-help-plugin.version>
    <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
    <!-- <maven-jar-plugin.version>3.1.2</maven-jar-plugin.version> see https://stackoverflow.com/questions/56212981/eclipse-showing-maven-configuration-problem-unknown -->


    <maven-javadoc-plugin.version>3.1.1</maven-javadoc-plugin.version>
    <maven-javadoc-plugin.show>private</maven-javadoc-plugin.show>
    <maven-javadoc-plugin.nohelp>false</maven-javadoc-plugin.nohelp>

    <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
    <maven-surefire-plugin.version>3.0.0-M3</maven-surefire-plugin.version>
    <maven-surefire-report-plugin.version>3.0.0-M3</maven-surefire-report-plugin.version>

    <versions-maven-plugin.version>2.7</versions-maven-plugin.version>

    <jacoco-maven-plugin.version>0.8.4</jacoco-maven-plugin.version>

    <commons-lang3.version>3.9</commons-lang3.version>
    <cucumber-extentsreport.version>3.1.0</cucumber-extentsreport.version>
    <extentreports.version>3.1.5</extentreports.version>
    <gson.version>2.8.5</gson.version>
    <httpcore.version>4.4.12</httpcore.version>
    <httpclient.version>4.5.10</httpclient.version>
    <info.cukes.version>1.2.5</info.cukes.version>
    <jackson2.version>2.9.9</jackson2.version>
    <junit.version>5.5.1</junit.version>
    <log4j2.version>2.12.1</log4j2.version>
    <lombok.version>1.18.8</lombok.version>
    <mashape.unirest.version>1.4.9</mashape.unirest.version>
    <pdfbox.version>2.0.16</pdfbox.version>
    <sauce_junit.version>2.1.21</sauce_junit.version>
    <selenium-java.version>3.141.59</selenium-java.version>
    <swagger-parser.version>2.0.14</swagger-parser.version>
  </properties>

  <build>

    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>${maven-compiler-plugin.version}</version>
          <configuration>
            <source>${maven-compiler-plugin.source}</source>
            <target>${maven-compiler-plugin.target}</target>
            <verbose>${maven-compiler-plugin.verbose}</verbose>
            <debug>${maven-compiler-plugin.debug}</debug>
            <parameters>${maven-compiler-plugin.parameters}</parameters>
            <showWarnings>${maven-compiler-plugin.showWarnings}</showWarnings>
            <showDeprecation>${maven-compiler-plugin.showDeprecation}</showDeprecation>
          </configuration>
        </plugin>

        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${maven-dependency-plugin.version}</version>
          <configuration>
            <verbose>${maven-dependency-plugin.verbose}</verbose>
            <outputXML>${maven-dependency-plugin.outputXML}</outputXML>
          </configuration>
        </plugin>
	
		<plugin>
			<artifactId>maven-deploy-plugin</artifactId>
			<version>${maven-deploy-plugin.version}</version>
			<executions>
				<execution>
					<id>default-deploy</id>
					<phase>deploy</phase>
					<goals>
						<goal>deploy</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	
        <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <configuration>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
            </configuration>
        </plugin>
            
        <plugin>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>${maven-javadoc-plugin.version}</version>
          <configuration>
            <show>${maven-javadoc-plugin.show}</show>
            <nohelp>${maven-javadoc-plugin.nohelp}</nohelp>
          </configuration>
          <executions>
			<execution>
			  <id>attach-javadocs</id>
			  <goals>
				<goal>jar</goal>
			  </goals>
			</execution>
		  </executions>
        </plugin>
	
		<plugin>
			<artifactId>maven-source-plugin</artifactId>
			<version>${maven-source-plugin.version}</version>
			<executions>
				<execution>
					<id>attach-sources</id>
					<goals>
						<goal>jar</goal>
					</goals>
				</execution>
			</executions>
		</plugin>

        <plugin>
          <artifactId>maven-enforcer-plugin</artifactId>
          <version>${maven-enforcer-plugin.version}</version>
          <dependencies>
            <dependency>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>extra-enforcer-rules</artifactId>
              <version>${extra-enforcer-rules.version}</version>
            </dependency>
          </dependencies>

          <configuration>
            <fail>${maven-enforcer-plugin.fail}</fail>
            <rules>
              <banDuplicateClasses>
                <findAllDuplicates>${maven-enforcer-plugin.banDuplicateClasses.findAllDuplicates}</findAllDuplicates>
                <ignoreWhenIdentical>${maven-enforcer-plugin.banDuplicateClasses.ignoreWhenIdentical}</ignoreWhenIdentical>
                <scopes>
                  <scope>compile</scope>
                  <scope>system</scope>
                  <scope>runtime</scope>
                  <scope>test</scope>
                </scopes>
                <ignoreClasses>
                  <ignoreClass>org.aspectj.runtime</ignoreClass>
                  <ignoreClass>org.aspectj.lang</ignoreClass>
                  <ignoreClass>org.aspectj.internal</ignoreClass>
                </ignoreClasses>
              </banDuplicateClasses>
            </rules>
          </configuration>
        </plugin>

        <plugin>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>${maven-failsafe-plugin.version}</version>
        </plugin>

        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${maven-surefire-plugin.version}</version>
        </plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-release-plugin</artifactId>
			<version>2.5.3</version>
			<configuration>
				<localCheckout>true</localCheckout>
				<pushChanges>false</pushChanges>
				<mavenExecutorId>forked-path</mavenExecutorId>
				<arguments>-Dgpg.passphrase=${gpg.passphrase} -Dos=${sentinel-release-os} -Dbrowser=${sentinel-release-browser} -DpageObjectPackages=${sentinel-release-pageobjectpackages}</arguments>
			</configuration>
			<dependencies>
				<dependency>
					<groupId>org.apache.maven.scm</groupId>
					<artifactId>maven-scm-provider-gitexe</artifactId>
					<version>1.9.5</version>
				</dependency>
			</dependencies>
		</plugin>
		<plugin>
			<groupId>org.sonatype.plugins</groupId>
			<artifactId>nexus-staging-maven-plugin</artifactId>
			<version>1.6.7</version>
			<extensions>true</extensions>
			<configuration>
				<serverId>ossrh</serverId>
				<nexusUrl>https://oss.sonatype.org/</nexusUrl>
				<autoReleaseAfterClose>true</autoReleaseAfterClose>
			</configuration>
		</plugin>
      </plugins>
    </pluginManagement>
    <!-- Added this because the above wasn't working. Need to resolve. -->
	<plugins>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-source-plugin</artifactId>
			<executions>
				<execution>
					<id>attach-sources</id>
					<goals>
						<goal>jar</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-javadoc-plugin</artifactId>
			<executions>
				<execution>
					<id>attach-javadocs</id>
					<goals>
						<goal>jar</goal>
					</goals>
				</execution>
			</executions>
		</plugin>
	</plugins>
  </build>

	<distributionManagement>
		<snapshotRepository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/content/repositories/snapshots</url>
		</snapshotRepository>
		<repository>
			<id>ossrh</id>
			<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
		</repository>
	</distributionManagement>

	<profiles>
		<profile>
			<id>classpath-integrity</id>
			<properties>
				<classpath-integrity.defaultGoal>dependency:analyze enforcer:enforce</classpath-integrity.defaultGoal>
			</properties>
			<build>
				<defaultGoal>${classpath-integrity.defaultGoal}</defaultGoal>
			</build>
		</profile>
		<!-- GPG Signature on release -->
		<profile>
			<id>release-sign-artifacts</id>
			<activation>
				<property>
					<name>performRelease</name>
					<value>true</value>
				</property>
			</activation>
			<build>
				<plugins>
					<plugin>
						<groupId>org.apache.maven.plugins</groupId>
						<artifactId>maven-gpg-plugin</artifactId>
						<version>1.6</version>
						<executions>
							<execution>
								<id>sign-artifacts</id>
								<phase>verify</phase>
								<goals>
									<goal>sign</goal>
								</goals>
							</execution>
						</executions>
					</plugin>
				</plugins>
			</build>
		</profile>
	</profiles>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-bom</artifactId>
        <version>${log4j2.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>${commons-lang3.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcore.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpclient.version}</version>
      </dependency>

      <dependency>
        <groupId>org.junit</groupId>
        <artifactId>junit-bom</artifactId>
        <version>${junit.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>${lombok.version}</version>
      </dependency>

      <dependency>
        <groupId>com.fasterxml.jackson</groupId>
        <artifactId>jackson-bom</artifactId>
        <version>${jackson2.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>

      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson.version}</version>
      </dependency>

      <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-core</artifactId>
        <version>${info.cukes.version}</version>
      </dependency>

      <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-java</artifactId>
        <version>${info.cukes.version}</version>
      </dependency>

      <dependency>
        <groupId>info.cukes</groupId>
        <artifactId>cucumber-junit</artifactId>
        <version>${info.cukes.version}</version>
      </dependency>

      <dependency>
        <groupId>com.aventstack</groupId>
        <artifactId>extentreports</artifactId>
        <version>${extentreports.version}</version>
      </dependency>

      <dependency>
        <groupId>com.vimalselvam</groupId>
        <artifactId>cucumber-extentsreport</artifactId>
        <version>${cucumber-extentsreport.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.pdfbox</groupId>
        <artifactId>pdfbox</artifactId>
        <version>${pdfbox.version}</version>
      </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-api</artifactId>
        <version>${selenium-java.version}</version>
      </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-support</artifactId>
        <version>${selenium-java.version}</version>
      </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-java</artifactId>
        <version>${selenium-java.version}</version>
      </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-chrome-driver</artifactId>
        <version>${selenium-java.version}</version>
      </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-firefox-driver</artifactId>
        <version>${selenium-java.version}</version>
      </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-ie-driver</artifactId>
        <version>${selenium-java.version}</version>
      </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-remote-driver</artifactId>
        <version>${selenium-java.version}</version>
      </dependency>

      <dependency>
        <groupId>org.seleniumhq.selenium</groupId>
        <artifactId>selenium-safari-driver</artifactId>
        <version>${selenium-java.version}</version>
      </dependency>

      <dependency>
        <groupId>com.saucelabs</groupId>
        <artifactId>sauce_junit</artifactId>
        <version>${sauce_junit.version}</version>
      </dependency>

      <dependency>
        <groupId>com.mashape.unirest</groupId>
        <artifactId>unirest-java</artifactId>
        <version>${mashape.unirest.version}</version>
      </dependency>

      <dependency>
        <groupId>io.swagger.parser.v3</groupId>
        <artifactId>swagger-parser</artifactId>
        <version>${swagger-parser.version}</version>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <dependencies>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-api</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpcore</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.httpcomponents</groupId>
      <artifactId>httpclient</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.pdfbox</groupId>
      <artifactId>pdfbox</artifactId>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.dataformat</groupId>
      <artifactId>jackson-dataformat-yaml</artifactId>
    </dependency>

    <dependency>
      <groupId>info.cukes</groupId>
      <artifactId>cucumber-core</artifactId>
    </dependency>

    <dependency>
      <groupId>info.cukes</groupId>
      <artifactId>cucumber-java</artifactId>
    </dependency>

    <dependency>
      <groupId>com.vimalselvam</groupId>
      <artifactId>cucumber-extentsreport</artifactId>
    </dependency>

    <dependency>
      <groupId>com.google.code.gson</groupId>
      <artifactId>gson</artifactId>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-api</artifactId>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-support</artifactId>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-chrome-driver</artifactId>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-firefox-driver</artifactId>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-ie-driver</artifactId>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-remote-driver</artifactId>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-safari-driver</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-1.2-api</artifactId>
    </dependency>

    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-slf4j-impl</artifactId>
    </dependency>

    <dependency>
      <groupId>io.swagger.parser.v3</groupId>
      <artifactId>swagger-parser</artifactId>
    </dependency>

    <dependency>
      <groupId>org.seleniumhq.selenium</groupId>
      <artifactId>selenium-java</artifactId>
    </dependency>

    <dependency>
      <groupId>com.aventstack</groupId>
      <artifactId>extentreports</artifactId>
    </dependency>

    <dependency>
      <groupId>com.mashape.unirest</groupId>
      <artifactId>unirest-java</artifactId>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <!-- <scope>test</scope> -->
      <!-- junit should usually be test scope unless this is a dedicated test library -->
    </dependency>

    <dependency>
      <groupId>info.cukes</groupId>
      <artifactId>cucumber-junit</artifactId>
    </dependency>

    <dependency>
      <groupId>com.saucelabs</groupId>
      <artifactId>sauce_junit</artifactId>
    </dependency>
  </dependencies>
  <description>A Selenium framework that implements the Page Object Model (POM) using Object Oriented Programming (OOP) concepts. It abstracts out most of the complexity of Selenium to allow users to focus on automating tests and not spend time dealing with the technical details of implementing an automation framework, so that automated tests can be written in a non-technical way in the same amount of time as manual tests can be executed.</description>
</project>