<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/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.mage</groupId>
        <artifactId>mage-root</artifactId>
        <version>1.4.56</version>
    </parent>

    <artifactId>mage</artifactId>
    <packaging>jar</packaging>
    <name>Mage Framework</name>

    <dependencies>
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
        </dependency>
        <dependency>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
            <version>3.19.3</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>


            <plugin>
                <groupId>com.github.os72</groupId>
                <artifactId>protoc-jar-maven-plugin</artifactId>
                <version>3.11.4</version>
                <executions>
                    <execution>
			<phase>generate-sources</phase>
			<goals>
				<goal>run</goal>
			</goals>
                        
			<configuration>
                <protocArtifact>com.google.protobuf:protoc:3.18.0</protocArtifact>
				<inputDirectories>
					<include>${project.basedir}/src/main/proto</include>
				</inputDirectories>
				<outputTargets>
					<outputTarget>
						<type>java</type>
						<addSources>none</addSources>
						<outputDirectory>${project.build.directory}/generated-sources</outputDirectory>
					</outputTarget>
				</outputTargets>
			</configuration>                        
                    </execution>
                </executions>
            </plugin>
            <!-- add generated proto buffer classes into the package -->
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <version>3.2.0</version>
                <executions>
                    <execution>
                        <id>add-classes</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${protobuf.output.directory}</source>
                            </sources>
                        </configuration>
                    </execution>
                </executions>
            </plugin>            
        </plugins>

        <finalName>mage</finalName>


    </build>

    <!-- The properties below are added by following http://vlkan.com/blog/post/2015/11/27/maven-protobuf/ -->
    <properties>
        <root.dir>${project.basedir}/..</root.dir>
        <!-- protobuf paths -->
        <protobuf.input.directory>${project.basedir}/src/main/proto</protobuf.input.directory>
        <protobuf.output.directory>${project.build.directory}/generated-sources</protobuf.output.directory>
    </properties>

</project>
