<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.corundumstudio.socketio</groupId>
 <artifactId>netty-socketio</artifactId>
 <version>2.0.6</version>
 <packaging>bundle</packaging>
 <name>NettySocketIO</name>
 <description>Socket.IO server implemented on Java</description>
 <inceptionYear>2012</inceptionYear>
 <url>https://github.com/mrniko/netty-socketio</url>

 <scm>
    <url>scm:git:git@github.com:mrniko/netty-socketio.git</url>
    <connection>scm:git:git@github.com:mrniko/netty-socketio.git</connection>
    <developerConnection>scm:git:git@github.com:mrniko/netty-socketio.git</developerConnection>
   <tag>netty-socketio-2.0.6</tag>
  </scm>

 <licenses>
     <license>
         <name>Apache v2</name>
         <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
         <distribution>manual</distribution>
     </license>
 </licenses>

 <developers>
     <developer>
         <id>mrniko</id>
         <name>Nikita Koksharov</name>
         <email>abracham.mitchell@gmail.com</email>
         <roles>
             <role>Architect</role>
             <role>Developer</role>
         </roles>
         <timezone>+4</timezone>
     </developer>
 </developers>

 <distributionManagement>
     <repository>
         <id>repo1</id>
         <name>Release</name>
         <url>file://C:/123</url>
     </repository>
 </distributionManagement>

 <properties>
     <skipTests>true</skipTests>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <netty.version>4.1.100.Final</netty.version>
 </properties>

    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <version>3.2.1</version>
                        <executions>
                          <execution>
                            <id>attach-sources</id>
                            <goals>
                              <goal>jar-no-fork</goal>
                            </goals>
                            <configuration>
                              <archive>
                                <manifest>
                                  <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                                  <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                                </manifest>
                                <manifestEntries>
                                  <Implementation-Build>${implementation.build}</Implementation-Build>
                                  <Implementation-Build-Date>${maven.build.timestamp}</Implementation-Build-Date>
                                  <X-Compile-Source-JDK>${javac.src.version}</X-Compile-Source-JDK>
                                  <X-Compile-Target-JDK>${javac.target.version}</X-Compile-Target-JDK>
                                </manifestEntries>
                              </archive>
                            </configuration>
                          </execution>
                        </executions>
                    </plugin>
                    <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>
                    <plugin>
                        <groupId>net.ju-n.maven.plugins</groupId>
                        <artifactId>checksum-maven-plugin</artifactId>
                        <version>1.4</version>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

 <dependencies>
  <dependency>
  	<groupId>io.netty</groupId>
  	<artifactId>netty-buffer</artifactId>
  	<version>${netty.version}</version>
  </dependency>
  <dependency>
  	<groupId>io.netty</groupId>
  	<artifactId>netty-common</artifactId>
  	<version>${netty.version}</version>
  </dependency>
  <dependency>
  	<groupId>io.netty</groupId>
  	<artifactId>netty-transport</artifactId>
       <version>${netty.version}</version>
  </dependency>
  <dependency>
  	<groupId>io.netty</groupId>
  	<artifactId>netty-handler</artifactId>
  	<version>${netty.version}</version>
  </dependency>
  <dependency>
  	<groupId>io.netty</groupId>
  	<artifactId>netty-codec-http</artifactId>
  	<version>${netty.version}</version>
  </dependency>
  <dependency>
  	<groupId>io.netty</groupId>
  	<artifactId>netty-codec</artifactId>
  	<version>${netty.version}</version>
  </dependency>
  <dependency>
        <groupId>io.netty</groupId>
        <artifactId>netty-transport-native-epoll</artifactId>
        <version>${netty.version}</version>
  </dependency>
  
  <dependency>
      <groupId>org.jmockit</groupId>
      <artifactId>jmockit</artifactId>
      <version>1.49</version>
      <scope>test</scope>
  </dependency>
  <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.13.2</version>
      <scope>test</scope>
  </dependency>

  <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.7.33</version>
  </dependency>

  <dependency>
  	<groupId>com.fasterxml.jackson.core</groupId>
  	<artifactId>jackson-core</artifactId>
  	<version>2.15.0</version>
  </dependency>
  <dependency>
  	<groupId>com.fasterxml.jackson.core</groupId>
  	<artifactId>jackson-databind</artifactId>
  	<version>2.15.0</version>
  </dependency>


  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>5.3.27</version>
      <scope>provided</scope>
  </dependency>
  <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>5.3.27</version>
      <exclusions>
         <exclusion>
             <groupId>commons-logging</groupId>
             <artifactId>commons-logging</artifactId>
         </exclusion>
      </exclusions>
      <scope>provided</scope>
  </dependency>


    <dependency>
        <groupId>org.redisson</groupId>
        <artifactId>redisson</artifactId>
        <version>3.24.3</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-client</artifactId>
        <version>3.12.12</version>
        <scope>provided</scope>
    </dependency>
 </dependencies>


 <build>
  <plugins>
      <plugin>
     	<groupId>org.sonatype.plugins</groupId>
     	<artifactId>nexus-staging-maven-plugin</artifactId>
     	<version>1.6.13</version>
     	<extensions>true</extensions>
            <configuration>
                <serverId>ossrepo</serverId>
                <nexusUrl>https://oss.sonatype.org/</nexusUrl>
                <autoReleaseAfterClose>true</autoReleaseAfterClose>
                <stagingProgressTimeoutMinutes>15</stagingProgressTimeoutMinutes>
     	</configuration>
      </plugin>

      <plugin>
   	<groupId>org.apache.maven.plugins</groupId>
   	<artifactId>maven-javadoc-plugin</artifactId>
   	<version>3.4.1</version>
   	<executions>
             <execution>
               <id>attach-javadocs</id>
               <goals>
                   <goal>jar</goal>
               </goals>
             </execution>
   	</executions>
             <configuration>
                  <level>public</level>
                  <doclint>none</doclint>
                  <quiet>true</quiet>
            </configuration>
      </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
                <autoVersionSubmodules>true</autoVersionSubmodules>
                <useReleaseProfile>true</useReleaseProfile>
                <releaseProfiles>release</releaseProfiles>
                <goals>deploy</goals>
            </configuration>
          </plugin>

          <plugin>
              <groupId>org.apache.maven.plugins</groupId>
              <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.0.5</version>
                              </requireMavenVersion>
                          </rules>
                      </configuration>
                  </execution>
              </executions>
          </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-pmd-plugin</artifactId>
          <version>3.11.0</version>
          <executions>
            <execution>
              <phase>verify</phase>
              <goals>
                <goal>pmd</goal>
                <goal>cpd</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <linkXref>true</linkXref>
            <minimumTokens>100</minimumTokens>
            <targetJdk>1.6</targetJdk>
            <verbose>true</verbose>
          </configuration>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>2.11</version>
          <executions>
            <execution>
              <phase>verify</phase>
              <goals>
                <goal>checkstyle</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <consoleOutput>true</consoleOutput>
            <enableRSS>false</enableRSS>
            <configLocation>/checkstyle.xml</configLocation>
          </configuration>
        </plugin>

       <plugin>
         <artifactId>maven-compiler-plugin</artifactId>
         <version>3.10.1</version>
         <configuration>
           <source>8</source>
           <target>8</target>
         </configuration>
       </plugin>

      	<plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.2.1</version>
          <executions>
      	   <execution>
      	     <id>attach-sources</id>
      	     <goals>
      		<goal>jar</goal>
      	     </goals>
      	   </execution>
          </executions>
      	</plugin>


        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-plugin</artifactId>
            <version>2.22.2</version>
            <configuration>
                 <argLine>
                    -javaagent:"${settings.localRepository}"/org/jmockit/jmockit/1.46/jmockit-1.46.jar
                 </argLine>
            </configuration>
        </plugin>

        <plugin>
           <groupId>org.apache.felix</groupId>
           <artifactId>maven-bundle-plugin</artifactId>
           <version>5.1.6</version>
           <extensions>true</extensions>
           <configuration>
               <instructions>
                   <Bundle-Name>${project.artifactId}</Bundle-Name>
                   <Import-Package>
                    org.springframework.*;resolution:=optional,com.hazelcast.*;resolution:=optional,org.redisson.*;resolution:=optional,*
                   </Import-Package>
                   <Export-Package>
                    com.corundumstudio.socketio.*;version="${project.version}"
                   </Export-Package>
               </instructions>
           </configuration>
        </plugin>

        <plugin>
             <groupId>com.mycila</groupId>
             <artifactId>license-maven-plugin</artifactId>
             <version>2.6</version>
             <configuration>
                 <basedir>${basedir}</basedir>
                 <header>${basedir}/header.txt</header>
                 <quiet>false</quiet>
                 <failIfMissing>true</failIfMissing>
                 <aggregate>false</aggregate>
                 <includes>
                     <include>src/**</include>
                 </includes>
                 <excludes>
                     <exclude>target/**</exclude>
                 </excludes>
                 <useDefaultExcludes>true</useDefaultExcludes>
                 <mapping>
                     <java>JAVADOC_STYLE</java>
                 </mapping>
                 <strictCheck>true</strictCheck>
                 <useDefaultMapping>true</useDefaultMapping>
                 <encoding>UTF-8</encoding>
             </configuration>
             <executions>
                 <execution>
                     <goals>
                         <goal>check</goal>
                     </goals>
                 </execution>
             </executions>
         </plugin>
  </plugins>
 </build>

</project>
