<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>ai.api.libai.speech</groupId>
    <artifactId>libai-speech-gcp</artifactId>
    <parent>
    	<groupId>ai.api</groupId>
    	<artifactId>libai-base</artifactId>
    	<version>1.4.7</version>
    	<relativePath>../../pom.xml</relativePath>
    </parent>
    <properties>
        <protobuf-maven-plugin-version>0.5.0</protobuf-maven-plugin-version>
        <protobuf-java-version>3.1.0</protobuf-java-version>
        <protoc-gen-grpc-java-version>1.0.3</protoc-gen-grpc-java-version>
        <codehaus-versions-maven-plugin-version>2.3</codehaus-versions-maven-plugin-version>
        <google-auth-library-version>0.6.0</google-auth-library-version>
    </properties>
    <profiles>
        <profile>
            <id>fedora</id>
            <activation>
                <property>
                    <name>os.detected.classifier</name>
                    <value>os.detected.release.fedora</value>
                </property>
            </activation>
            <properties>
                <tcnative.classifier>${os.detected.classifier}-fedora</tcnative.classifier>
            </properties>
        </profile>
        <profile>
            <id>non-fedora</id>
            <activation>
                <property>
                    <name>os.detected.classifier</name>
                    <value>!os.detected.release.fedora</value>
                </property>
            </activation>
            <properties>
                <tcnative.classifier>${os.detected.classifier}</tcnative.classifier>
            </properties>
        </profile>
    </profiles>
    <build>
        <extensions>
            <extension>
                <groupId>kr.motd.maven</groupId>
                <artifactId>os-maven-plugin</artifactId>
                <version>1.4.1.Final</version>
            </extension>
        </extensions>
        <plugins>
            <plugin>
                <groupId>org.xolstice.maven.plugins</groupId>
                <artifactId>protobuf-maven-plugin</artifactId>
                <version>${protobuf-maven-plugin-version}</version>
                <configuration>
                    <protocExecutable>protoc</protocExecutable>
                    <protocArtifact>com.google.protobuf:protoc:3.0.0:exe:${os.detected.classifier}</protocArtifact>
                    <pluginId>grpc-java</pluginId>
                    <pluginArtifact>io.grpc:protoc-gen-grpc-java:${protoc-gen-grpc-java-version}:exe:${os.detected.classifier}</pluginArtifact>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>compile</goal>
                            <goal>compile-custom</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <dependencies>
        <dependency>
            <groupId>ai.api</groupId>
            <artifactId>libai</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-core</artifactId>
            <version>${protoc-gen-grpc-java-version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.grpc/grpc-auth -->
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-auth</artifactId>
            <version>${protoc-gen-grpc-java-version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>${protobuf-java-version}</version>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-protobuf</artifactId>
            <version>${protoc-gen-grpc-java-version}</version>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-stub</artifactId>
            <version>${protoc-gen-grpc-java-version}</version>
        </dependency>
        <dependency>
            <groupId>io.grpc</groupId>
            <artifactId>grpc-netty</artifactId>
            <version>${protoc-gen-grpc-java-version}</version>
        </dependency>
        <dependency>
            <!-- - It is recommended to use OpenSSL: Statically Linked Netty - for 
                transport security. These steps do not use the TLS that - comes with JDK 
                (Jetty APLN/NPN), which is not - recommended. See - https://github.com/grpc/grpc-java/blob/master/SECURITY.md 
                - for details. - -->
            <groupId>io.netty</groupId>
            <artifactId>netty-tcnative-boringssl-static</artifactId>
            <version>1.1.33.Fork25</version>
            <classifier>${tcnative.classifier}</classifier>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.google.auth/google-auth-library-credentials -->
        <dependency>
            <groupId>com.google.auth</groupId>
            <artifactId>google-auth-library-credentials</artifactId>
            <version>${google-auth-library-version}</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.google.auth/google-auth-library-oauth2-http -->
        <dependency>
            <groupId>com.google.auth</groupId>
            <artifactId>google-auth-library-oauth2-http</artifactId>
            <version>${google-auth-library-version}</version>
        </dependency>
    </dependencies>
</project>
