<?xml version="1.0" encoding="UTF-8"?>

<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->

<!--
    POM file.
-->
<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>org.apache.ignite</groupId>
        <artifactId>ignite-parent</artifactId>
        <version>1</version>
        <relativePath>../../parent</relativePath>
    </parent>

    <artifactId>ignite-scalar_2.10</artifactId>
    <version>2.10.0</version>
    <url>http://ignite.apache.org</url>

    <dependencies>
        <dependency>
            <groupId>org.apache.ignite</groupId>
            <artifactId>ignite-core</artifactId>
            <version>${project.version}</version>
        </dependency>

        <dependency>
            <groupId>org.scala-lang</groupId>
            <artifactId>scala-library</artifactId>
            <version>${scala210.library.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.ignite</groupId>
            <artifactId>ignite-core</artifactId>
            <version>${project.version}</version>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.ignite</groupId>
            <artifactId>ignite-tools</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.ignite</groupId>
            <artifactId>ignite-spring</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.apache.ignite</groupId>
            <artifactId>ignite-indexing</artifactId>
            <version>${project.version}</version>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>org.scalatest</groupId>
            <artifactId>scalatest_2.10</artifactId>
            <version>2.2.2</version>
            <scope>test</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.scala-lang</groupId>
                    <artifactId>scala-library</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>

    <build>
        <sourceDirectory>../scalar/src/main/scala</sourceDirectory>

        <resources>
            <resource>
                <directory>../scalar/src/main/scala</directory>
                <excludes>
                    <exclude>**/*.scala</exclude>
                </excludes>
            </resource>
        </resources>

        <testResources>
            <testResource>
                <directory>../scalar/src/test/scala</directory>
                <excludes>
                    <exclude>**/*.scala</exclude>
                </excludes>
            </testResource>
        </testResources>

        <plugins>
            <plugin>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>scala-maven-plugin</artifactId>
                <configuration>
                    <args>
                        <arg>-nobootcp</arg>
                    </args>
                </configuration>
            </plugin>

            <!-- Generate the OSGi MANIFEST.MF for this bundle. -->
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
            </plugin>
        </plugins>

        <!-- TODO IGNITE-956 FIX scaladocs plugins-->
            <!--<plugin>-->
                <!--<groupId>org.apache.maven.plugins</groupId>-->
                <!--<artifactId>maven-antrun-plugin</artifactId>-->
                <!--<version>1.7</version>-->
                <!--<dependencies>-->
                    <!--<dependency>-->
                        <!--<groupId>org.apache.ignite</groupId>-->
                        <!--<artifactId>ignite-tools</artifactId>-->
                        <!--<version>${project.version}</version>-->
                    <!--</dependency>-->
                <!--</dependencies>-->
                <!--<executions>-->
                    <!--<execution>-->
                        <!--<id>scaladoc-postprocessing</id>-->
                        <!--<goals>-->
                            <!--<goal>run</goal>-->
                        <!--</goals>-->
                        <!--<phase>prepare-package</phase>-->
                        <!--<configuration>-->
                            <!--<target>-->
                                <!--<copy todir="target/site/scaladocs">-->
                                    <!--<fileset dir="../../assembly/docfiles">-->
                                        <!--<include name="img/**" />-->
                                        <!--<include name="*.js" />-->
                                    <!--</fileset>-->
                                <!--</copy>-->

                                <!--<taskdef name="doctask" classname="org.apache.ignite.tools.ant.beautifier.GridJavadocAntTask" />-->

                                <!--<doctask css="dotted" dir="target/site/scaladocs" verify="false">-->
                                    <!--<include name="**/*.html" />-->
                                <!--</doctask>-->

                                <!--<property name="footer">-->
                                    <!--<![CDATA[-->
                                        <!--<table style="padding: 0px 10px 10px 10px; width: 100%" border="0">-->
                                        <!--<tr>-->
                                            <!--<td>-->
                                                <!--<nobr>Ignite&#153; - Scalar DSL, ver. <strong>${project.version}</strong></nobr>-->
                                                <!--<br>-->
                                                <!--<a target=_blank href="https://ignite.apache.org"><nobr>2021 Copyright &#169; Apache Software Foundation</nobr></a>-->
                                            <!--</td>-->
                                        <!--</tr>-->
                                        <!--</table>-->
                                    <!--]]>-->
                                <!--</property>-->

                                <!--<replace dir="target/site/scaladocs" token="&lt;!&#45;&#45;FOOTER&#45;&#45;&gt;" value="${footer}">-->
                                    <!--<include name="**/*.html" />-->
                                <!--</replace>-->

                                <!--<replace dir="target/site/scaladocs">-->
                                    <!--<replacetoken>src="package.html"</replacetoken>-->
                                    <!--<replacevalue>src=org/apache/ignite/scalar/scalar$.html</replacevalue>-->
                                    <!--<include name="**/index.html" />-->
                                <!--</replace>-->

                                <!--<replace dir="target/site/scaladocs">-->
                                    <!--<replacetoken>location.replace("package.html")</replacetoken>-->
                                    <!--<replacevalue>location.replace("org/apache/ignite/scalar/scalar$.html")</replacevalue>-->
                                    <!--<include name="**/index.js" />-->
                                <!--</replace>-->

                                <!--<replace dir="target/site/scaladocs">-->
                                    <!--<replacetoken>docs.scala-lang.org/overviews/scaladoc/usage.html#members</replacetoken>-->
                                    <!--<replacevalue>docs.scala-lang.org/overviews/scaladoc/interface.html</replacevalue>-->
                                    <!--<fileset dir="target/site/scaladocs" />-->
                                <!--</replace>-->

                                <!--<replaceregexp byline="true" flags="im" encoding="UTF-8">-->
                                    <!--<regexp pattern="(&lt;dt&gt;Attributes&lt;/dt&gt;&lt;dd&gt;protected\[)&lt;a.+&gt;(.+)&lt;/a&gt;(\]\s+&lt;/dd&gt;)" />-->
                                    <!--<substitution expression="\1\2\3" />-->
                                    <!--<fileset dir="target/site/scaladocs" />-->
                                <!--</replaceregexp>-->

                                <!--<zip destfile="target/ignite-scalar-${project.version}-javadoc.jar" basedir="target/site/scaladocs" encoding="UTF-8" />-->
                            <!--</target>-->
                        <!--</configuration>-->
                    <!--</execution>-->
                <!--</executions>-->
            <!--</plugin>-->
        <!--</plugins>-->

    </build>
</project>
