<?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">
    <parent>
        <artifactId>security-lib</artifactId>
        <groupId>edu.uiuc.ncsa.security</groupId>
        <version>5.4.3</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>util</artifactId>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <additionalparam>-Xdoclint:none</additionalparam>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>
    <packaging>jar</packaging>
    <build>
        <plugins>
            <!--<plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
                 <version>3.4.0</version>
                 <configuration>
                     &lt;!&ndash;<aggregate>true</aggregate>&ndash;&gt;
                     <includeDependencySources>false</includeDependencySources>
                     <dependencySourceIncludes>
                         <dependencySourceInclude>edu.uiuc.ncsa.qdl.*</dependencySourceInclude>
                     </dependencySourceIncludes>
                 </configuration>
             </plugin>-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>3.2.2</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>test-jar</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>3.0.0-M7</version>
                <configuration>
                    <excludes>
                        <exclude>**/*Test.java</exclude>
                    </excludes>
                    <includes>
                        <include>**/*Suite.java</include>
                    </includes>
                    <!--  <forkMode>perTest</forkMode>-->
                    <forkCount>1</forkCount>
                    <reuseForks>false</reuseForks>

                </configuration>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>${basedir}/src/main/resources</directory>
            </resource>
        </resources>
    </build>
    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.nimbusds/nimbus-jose-jwt -->
        <dependency>
            <groupId>com.nimbusds</groupId>
            <artifactId>nimbus-jose-jwt</artifactId>
            <version>9.37</version>
        </dependency>

        <dependency>
            <groupId>commons-codec</groupId>
            <artifactId>commons-codec</artifactId>
            <version>1.11</version>
        </dependency>
        <dependency>
            <groupId>commons-cli</groupId>
            <artifactId>commons-cli</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!-- OAUTH-179: fix SSL server hostname  vulnerability in previous versions of httpcomponents. -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.16</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.14</version>
            <scope>compile</scope>
        </dependency>

        <!--
                <dependency>
                    <groupId>com.sun.mail</groupId>
                    <artifactId>javax.mail</artifactId>
                    <version>1.6.2</version>
                    <scope>provided</scope>
                </dependency>
        -->

        <!-- This only works for compiling even though it does not seem like it. You must
             have the appropriate jar in your class path. It is kept because there are
             classes that use it, but nothing will run if you try to load them, giving
              a provider exception.-->
        <dependency>
            <groupId>jakarta.mail</groupId>
            <artifactId>jakarta.mail-api</artifactId>
            <version>2.1.2</version>
        </dependency>
        <!--
            Note on dependencies with mail. Jakarta mail succeeds Java Mail, but is part of Jakarta EE
            which is the successor of Java EE. This means that there are a lot of dependencies and oddities
            Java mail 1.6.7 came out in 2000 and should actually provide support for TLS 1.3.
        -->
        <dependency>
            <groupId>com.sun.mail</groupId>
            <artifactId>jakarta.mail</artifactId>
            <version>1.6.7</version>
            <scope>provided</scope>
        </dependency>

        <!--   Following commented out bits are for trying to get Jakarta mail to
               work. These took a lot of tracking down.
               <dependency>
                    <groupId>jakarta.platform</groupId>
                    <artifactId>jakarta.jakartaee-api</artifactId>
                    <version>10.0.0</version>
                    <scope>provided</scope>
                </dependency>-->
        <!--   API that goes with most recent public jar release, 2.0.1
              <dependency>
                    <groupId>jakarta.mail</groupId>
                    <artifactId>jakarta.mail-api</artifactId>
                    <version>2.0.1</version>
                </dependency>

                <dependency>
                    <groupId>jakarta.activation</groupId>
                    <artifactId>jakarta.activation-api</artifactId>
                    <version>2.0.1</version>
                </dependency>-->
        <!-- https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail
             This is the jar. Issue is that there is a clash with javax classes,
             (as in they manipulate the class loader, use introspection to instantiate classes,
             then identically named classes (e.g. Transport) cause class cast errors.) One option
             is to do really nasty low level class loader surgery, or just not use both javax and jakarta
             mail in the same application. Upshot: We can't have a partial upgrade with both.-->
        <!--      <dependency>
                  <groupId>com.sun.mail</groupId>
                  <artifactId>jakarta.mail</artifactId>
                  <version>2.0.1</version>
              </dependency>-->

        <dependency>
            <groupId>edu.uiuc.ncsa.security</groupId>
            <artifactId>core</artifactId>
            <version>5.4.3</version>
        </dependency>
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>

        <dependency>
            <groupId>org.jline</groupId>
            <artifactId>jline</artifactId>
            <version>3.14.1</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
            <scope>test</scope>
        </dependency>
        <!--
        Used for text encryption utility.
        -->
        <dependency>
            <groupId>org.jasypt</groupId>
            <artifactId>jasypt</artifactId>
            <version>1.9.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>edu.uiuc.ncsa.security</groupId>
            <artifactId>crypt8</artifactId>
            <version>5.4.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>edu.uiuc.ncsa.security</groupId>
            <artifactId>core</artifactId>
            <version>5.4.3</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>edu.uiuc.ncsa.security</groupId>
            <artifactId>crypt8</artifactId>
            <version>5.4.2</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>
</project>