<?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>io.microlam</groupId>
      <artifactId>microlam-bom</artifactId>
      <version>0.3.1</version>
      <packaging>pom</packaging>
      <name>Microlam BOM</name>
      <description>Microlam Bill Of Material</description>
    <url>https://microlam.io</url>

  <organization>
    <name>MicroLam.io</name>
    <url>https://microlam.io</url>
  </organization>

  <licenses>
    <license>
      <name>MIT License</name>
      <url>http://www.opensource.org/licenses/mit-license.php</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  	<developers>
	    <developer>
	      <name>Frank Afriat</name>
	      <email>frank.afriat@microlam.io</email>
	      <organization>MicroLam.io</organization>
	      <organizationUrl>https://microlam.io</organizationUrl>
	    </developer>
	 </developers>

	<scm>
	  <connection>scm:git:ssh://git@github.com/microlam-io/${project.artifactId}.git</connection>
	  <developerConnection>scm:git:ssh://git@github.com/microlam-io/${project.artifactId}.git</developerConnection>
	  <url>https://github.com/microlam-io/${project.artifactId}/tree/master</url>
	  <tag>v0.3.1</tag>
  </scm>

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

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.build.resourceEncoding>UTF-8</project.build.resourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <gpg.keyname>8011431D42D5A9ACBEF8B2A6D153D68FA8DF084C</gpg.keyname>
	<slf4j.version>2.0.0-alpha5</slf4j.version>
	<log4j.api.version>2.17.0</log4j.api.version>
	<aws.sdk.version>2.17.102</aws.sdk.version>
	<cdk.version>2.8.0</cdk.version>
    <constructs.version>[10.0.0,11.0.0)</constructs.version>
    <netty.version>4.1.72.Final</netty.version>
    <junit5.version>5.8.2</junit5.version>
	<aws.ric.version>2.1.0</aws.ric.version>
  </properties>

    <dependencyManagement>
        <dependencies>

		 <dependency>
		      <groupId>software.amazon.awssdk</groupId>
		      <artifactId>bom</artifactId>
		      <version>${aws.sdk.version}</version>
		      <type>pom</type>
		      <scope>import</scope>
   		 </dependency>

	    <dependency>
	      <groupId>com.amazonaws</groupId>
	      <artifactId>aws-lambda-java-core</artifactId>
	      <version>1.2.0</version>
	    </dependency>
	
	    <dependency>
	      <groupId>com.amazonaws</groupId>
	      <artifactId>aws-lambda-java-events</artifactId>
	      <version>3.11.0</version>
	   </dependency>

		<dependency>
		   <groupId>io.microlam</groupId>
		   <artifactId>aws-lambda-java-runtime-interface-client</artifactId>
		   <version>${aws.ric.version}</version>
		</dependency>

		<dependency>
		    <groupId>io.microlam</groupId>
			<artifactId>aws-lambda-java-runtime-interface-client-native-config</artifactId>
			<classifier>java11</classifier>
			<version>${aws.ric.version}_1</version>
		</dependency>
		<dependency>
		    <groupId>io.microlam</groupId>
			<artifactId>aws-lambda-java-runtime-interface-client-native-config</artifactId>
			<classifier>java17</classifier>
			<version>${aws.ric.version}_1</version>
		</dependency>

	    <dependency>
	        <groupId>software.amazon.awscdk</groupId>
	        <artifactId>aws-cdk-lib</artifactId>
	        <version>${cdk.version}</version>
	    </dependency>
	
	    <dependency>
	        <groupId>software.constructs</groupId>
	        <artifactId>constructs</artifactId>
	        <version>${constructs.version}</version>
	    </dependency>

        <dependency>
          <groupId>io.microlam</groupId>
	        <artifactId>microlam-json</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
           <groupId>io.microlam</groupId>
	         <artifactId>microlam-aws-lambda</artifactId>
           <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>io.microlam</groupId>
        	<artifactId>microlam-aws-auth</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>io.microlam</groupId>
        	<artifactId>microlam-params-aws</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>io.microlam</groupId>
        	<artifactId>microlam-utils</artifactId>
          <version>${project.version}</version>
        </dependency>
        <dependency>
          <groupId>io.microlam</groupId>
        	<artifactId>microlam-params</artifactId>
          <version>${project.version}</version>
        </dependency>

        <dependency>
          <groupId>io.microlam</groupId>
        	<artifactId>microlam-aws-devops</artifactId>
          <version>0.5</version>
        </dependency>

        <dependency>
          <groupId>io.microlam</groupId>
          <artifactId>microlam-assembly-descriptor</artifactId>
          <version>1.3</version>
        </dependency>

		<dependency>
		    <groupId>io.microlam</groupId>
			<artifactId>slf4j-simple-lambda</artifactId>
		    <version>${slf4j.version}_1.3</version>
		</dependency>

	    <dependency>
	      <groupId>org.slf4j</groupId>
	      <artifactId>slf4j-api</artifactId>
	      <version>${slf4j.version}</version>
	    </dependency>
	
	    <dependency>
	    	<groupId>org.slf4j</groupId>
	    	<artifactId>log4j-over-slf4j</artifactId>
	    	<version>${slf4j.version}</version>
	    </dependency>

		<dependency>
		    <groupId>org.apache.logging.log4j</groupId>
		    <artifactId>log4j-api</artifactId>
		    <version>${log4j.api.version}</version>
		</dependency>

		<dependency>
		  <groupId>com.google.code.gson</groupId>
	  	  <artifactId>gson</artifactId>
		  <version>2.8.9</version>
		</dependency>

		<dependency>
			<groupId>com.github.wnameless.json</groupId>
			<artifactId>json-flattener</artifactId>
			<version>0.13.0</version>
		</dependency>

		<dependency>
		    <groupId>io.netty</groupId>
		    <artifactId>netty-codec</artifactId>
			<version>${netty.version}</version>
		</dependency>
		<dependency>
		    <groupId>io.netty</groupId>
		    <artifactId>netty-common</artifactId>
			<version>${netty.version}</version>
		</dependency>

		<dependency>
		    <groupId>org.junit.jupiter</groupId>
		    <artifactId>junit-jupiter-api</artifactId>
		    <version>${junit5.version}</version>
		</dependency>

	    <dependency>
	        <groupId>org.junit.jupiter</groupId>
	        <artifactId>junit-jupiter-engine</artifactId>
	        <version>${junit5.version}</version>
	    </dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>4.13.2</version>
		</dependency>
      </dependencies>
    </dependencyManagement>

<build>

	<pluginManagement>
		<plugins>
		  <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-compiler-plugin</artifactId>
	        <version>3.8.0</version>
		 </plugin>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-jar-plugin</artifactId>
	        <version>3.2.0</version>
	      </plugin>
	     <plugin>
	      	<groupId>org.apache.maven.plugins</groupId>
	      	<artifactId>maven-source-plugin</artifactId>
	      	<version>3.2.0</version>
	     </plugin>
	      <plugin>
	      	<groupId>org.apache.maven.plugins</groupId>
	      	<artifactId>maven-javadoc-plugin</artifactId>
	      	<version>3.3.1</version>
	     </plugin>
	      <plugin>
		      <groupId>org.apache.maven.plugins</groupId>
		      <artifactId>maven-gpg-plugin</artifactId>
		      <version>1.6</version>
	      </plugin>
	      <plugin>
		      <groupId>org.sonatype.plugins</groupId>
		      <artifactId>nexus-staging-maven-plugin</artifactId>
		      <version>1.6.7</version>
	      </plugin>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-release-plugin</artifactId>
	        <version>3.0.0-M4</version>
	      </plugin>
		  <plugin>
	         <groupId>io.fabric8</groupId>
	         <artifactId>docker-maven-plugin</artifactId>
	         <version>0.38.0</version>
		  </plugin>
		  <plugin>
		     <groupId>org.codehaus.mojo</groupId>
		     <artifactId>versions-maven-plugin</artifactId>
		     <version>2.8.1</version>
		  </plugin>
		  <plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-help-plugin</artifactId>
	        <version>3.2.0</version>
		  </plugin>
		</plugins>
	</pluginManagement>

	<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>
            <configuration>
              <debug>true</debug>
            </configuration>
      		</execution>
      	</executions>
      </plugin>

      <!-- We must generate a -javadoc JAR file to publish on Maven Central -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <executions>
            <execution>
                <id>empty-javadoc-jar</id>
                <phase>package</phase>
                <goals>
                    <goal>jar</goal>
                </goals>
                <configuration>
                    <classifier>javadoc</classifier>
                    <classesDirectory>${basedir}/javadoc</classesDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>

      <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-gpg-plugin</artifactId>
      <executions>
        <execution>
          <id>sign-artifacts</id>
          <phase>verify</phase>
          <goals>
            <goal>sign</goal>
          </goals>
          <configuration>
              <keyname>${gpg.keyname}</keyname>
              <executable>/usr/local/bin/gpg</executable>
          </configuration>    
        </execution>
      </executions>
    </plugin>
      
     	<plugin>
	      <groupId>org.sonatype.plugins</groupId>
	      <artifactId>nexus-staging-maven-plugin</artifactId>
	      <extensions>true</extensions>
	      <configuration>
	        <serverId>ossrh</serverId>
	        <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl>
	        <autoReleaseAfterClose>true</autoReleaseAfterClose>
	      </configuration>
        <dependencies>
        <dependency>
          <groupId>com.thoughtworks.xstream</groupId>
          <artifactId>xstream</artifactId>
          <version>1.4.15</version> <!-- apparently this needs to be exactly this version -->
        </dependency>
      </dependencies>
    	</plugin>
    	
	  <plugin>
	     <groupId>org.codehaus.mojo</groupId>
	     <artifactId>versions-maven-plugin</artifactId>
	  </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-release-plugin</artifactId>
      </plugin>

	</plugins>
	
</build>

</project>
