<?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.11.0-SNAPSHOT</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>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <configuration>
                    <skip>false</skip>
                </configuration>
            </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>
