<?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.5.3</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>HEAD</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.7</slf4j.version>
	<log4j.api.version>2.20.0</log4j.api.version>
	<aws.sdk.version>2.20.90</aws.sdk.version>
	<cdk.version>2.85.0</cdk.version>
    <constructs.version>[10.0.0,11.0.0)</constructs.version>
    <junit4.version>4.13.2</junit4.version>
    <junit5.version>5.9.3</junit5.version>
	<aws.ric.version>2.3.2</aws.ric.version>
	<netty.version>4.1.94.Final</netty.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.2</version>
	    </dependency>
	
	    <dependency>
	      <groupId>com.amazonaws</groupId>
	      <artifactId>aws-lambda-java-events</artifactId>
	      <version>3.11.2</version>
	   </dependency>

		<dependency>
		    <groupId>com.amazonaws</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>io.microlam</groupId>
			<artifactId>aws-lambda-java-runtime-interface-client-native-config</artifactId>
			<classifier>java19</classifier>
		    <version>${aws.ric.version}_1</version>
		</dependency>

		<dependency>
		    <groupId>io.microlam</groupId>
			<artifactId>aws-lambda-java-runtime-interface-client-native-config</artifactId>
			<classifier>java20</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-java-logging</artifactId>
           <version>${project.version}</version>
        </dependency>
        
        <dependency>
           <groupId>io.microlam</groupId>
	         <artifactId>microlam-dynamodb</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-assembly-descriptor</artifactId>
          <version>1.3</version>
        </dependency>

	    <dependency> 
		  <groupId>org.slf4j</groupId>
		  <artifactId>slf4j-jdk14</artifactId>
		  <version>${slf4j.version}</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>jakarta.json</groupId>
		    <artifactId>jakarta.json-api</artifactId>
		    <version>2.1.2</version>
		</dependency>

		<dependency>
		    <groupId>org.eclipse.parsson</groupId>
		    <artifactId>parsson</artifactId>
		    <version>1.1.2</version>
		</dependency>  
        
        <dependency>
            <groupId>jakarta.json.bind</groupId>
            <artifactId>jakarta.json.bind-api</artifactId>
            <version>3.0.0</version>
        </dependency>

	   	<dependency>
            <groupId>org.eclipse</groupId>
		    <artifactId>yasson</artifactId>
    		<version>3.0.2</version>
		</dependency>
    
<!--
	   	<dependency>
		    <groupId>org.apache.johnzon</groupId>
		    <artifactId>johnzon-jsonb</artifactId>
		    <version>1.2.20</version>
		</dependency>
	
		<dependency>
	        <groupId>org.apache.geronimo.specs</groupId>
	        <artifactId>geronimo-jsonb_1.0_spec</artifactId>
	        <version>1.4</version>
	    </dependency>
  -->      
		<dependency>
			<groupId>com.github.wnameless.json</groupId>
			<artifactId>json-flattener</artifactId>
			<version>0.16.4</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>com.squareup.okhttp3</groupId>
		  <artifactId>okhttp</artifactId>
		  <version>4.11.0</version>
		</dependency>

		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>${junit4.version}</version>
		</dependency>
		
      </dependencies>

    </dependencyManagement>

<build>

	<pluginManagement>
		<plugins>
		  <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-compiler-plugin</artifactId>
	        <version>3.11.0</version>
		 </plugin>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-jar-plugin</artifactId>
	        <version>3.3.0</version>
	      </plugin>
	     <plugin>
	      	<groupId>org.apache.maven.plugins</groupId>
	      	<artifactId>maven-source-plugin</artifactId>
	      	<version>3.3.0</version>
	     </plugin>
	      <plugin>
	      	<groupId>org.apache.maven.plugins</groupId>
	      	<artifactId>maven-javadoc-plugin</artifactId>
	      	<version>3.5.0</version>
	     </plugin>
	      <plugin>
		      <groupId>org.apache.maven.plugins</groupId>
		      <artifactId>maven-gpg-plugin</artifactId>
		      <version>3.1.0</version>
	      </plugin>
	      <plugin>
		      <groupId>org.sonatype.plugins</groupId>
		      <artifactId>nexus-staging-maven-plugin</artifactId>
		      <version>1.6.13</version>
	      </plugin>
	      <plugin>
	        <groupId>org.apache.maven.plugins</groupId>
	        <artifactId>maven-release-plugin</artifactId>
	        <version>3.0.1</version>
	      </plugin>
		  <plugin>
	         <groupId>io.fabric8</groupId>
	         <artifactId>docker-maven-plugin</artifactId>
	         <version>0.43.0</version>
		  </plugin>
		  <plugin>
		     <groupId>org.codehaus.mojo</groupId>
		     <artifactId>versions-maven-plugin</artifactId>
		     <version>2.16.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>
     	</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>
