<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>
    <parent>
        <groupId>com.envisioniot</groupId>
        <artifactId>enos-iot-sdk-parent</artifactId>
        <version>0.1.1</version>
        <relativePath>..</relativePath>
    </parent>

    <artifactId>enos-mqtt</artifactId>
    <version>2.2.7</version>

    <packaging>jar</packaging>

    <name>EnOS IoT SDK for MQTT</name>
    <inceptionYear>2018</inceptionYear>
    <url>https://github.com/EnvisionIot/enos-device-sdk-java</url>

    <description>EnOS Device SDK For Java (MQTT)</description>
    
    <!-- Version History -->
    <!-- 
        0.0.3 remove command DeleteDeviceCommand DisableDeviceCommand
        use these command instead: SubDeviceDelete, SubDeviceDisable SubDeviceEnable commands
        remove RrpcCommand, the ServiceInvocationCommand handle the sync service as well
        add requests including : QueryDeviceTag,AttributeQuery,AttributeUpdate
        0.0.4 rename some requests
        2.1.0 release
        2.1.1 support dynamic activate(login by productSecret)
        support init by config file
        2.1.2 support ota feature
        2.1.3 message integration
        2.1.4 internal logic refactor, fix thread pool resource leak
        2.1.5 support device name internationalization for device registering
        2.1.6 fix potential hanging bug during re-connect in paho
        2.1.7 batch login sub-device
        2.1.8 support composite jks
        2.2.0 seperate the common part (message parsing etc.) into independent project
        2.2.1 add file check in mqtt request (file is not supported yet)
        2.2.2 upgrade to paho mqtt 1.2.1 due to security check
        2.2.3 solve decoder initialization defect in SpringBoot application, solve the problem of checking sans by default due to paho upgrade
        2.2.5 add ecc support to connect mqtt-broker
        2.2.6 refine connection state management and avoid duplicate re-connections in extreme case
    -->

    <properties>
        <!-- Build args -->
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!-- for compiler plugin -->
        <java.version>1.8</java.version>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <java_source_version>1.8</java_source_version>
        <java_target_version>1.8</java_target_version>
        <file_encoding>UTF-8</file_encoding>
        <dir>target</dir>
        <res_dir>src/main/resources</res_dir>
    </properties>

    <dependencies>
        <dependency>
            <groupId>com.envisioniot</groupId>
            <artifactId>enos-core</artifactId>
            <version>0.1.5</version>
        </dependency>

        <dependency>
            <groupId>org.eclipse.paho</groupId>
            <artifactId>org.eclipse.paho.client.mqttv3</artifactId>
            <version>1.2.1</version>
        </dependency>

        <!-- Test lib -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hamcrest</groupId>
            <artifactId>java-hamcrest</artifactId>
            <version>2.0.0.0</version>
            <scope>test</scope>
        </dependency>
    </dependencies>

</project>
