<?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>1.5.0.final</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-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>
            </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://apache.org/projects/ignite.html"><nobr>2015 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>
