<?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.
-->
<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>

    <groupId>org.apache.flex.utilities</groupId>
    <artifactId>org.apache.flex.utilities.developerToolSuite</artifactId>
    <version>1.0-SNAPSHOT</version>

    <packaging>pom</packaging>

    <properties>
        <flexmojos.version>6.0-SNAPSHOT</flexmojos.version>
        <flex.version>4.8.0.1359417</flex.version>
        <flex.debug>true</flex.debug>
    </properties>

    <modules>
        <module>org.apache.flex.utilities.developerToolSuite.testHelper-lib</module>
        <module>org.apache.flex.utilities.developerToolSuite.locale</module>
        <module>org.apache.flex.utilities.developerToolSuite.executor-lib</module>
        <module>org.apache.flex.utilities.developerToolSuite.component-lib</module>
        <module>org.apache.flex.utilities.developerToolSuite.standard-theme</module>
        <module>org.apache.flex.utilities.developerToolSuite.host-swf</module>
        <module>org.apache.flex.utilities.developerToolSuite.air</module>
    </modules>

    <build>
        <sourceDirectory>src/main/flex</sourceDirectory>
        <testSourceDirectory>src/test/flex</testSourceDirectory>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>net.flexmojos.oss</groupId>
                <artifactId>flexmojos-maven-plugin</artifactId>
                <version>${flexmojos.version}</version>
                <extensions>true</extensions>
                <configuration>
                    <storepass/>
                    <targetPlayer>11.1</targetPlayer>
                    <swfVersion>14</swfVersion>
                    <debug>${flex.debug}</debug>
                    <defines>
                        <property>
                            <name>CONFIG::debugging</name>
                            <value>${flex.debug}</value>
                        </property>
                        <property>
                            <name>CONFIG::versionNumber</name>
                            <value>'${project.version}'</value>
                        </property>
                    </defines>
                    <adlCommand>D://SDKsSources/air/3.5/bin/adl.exe</adlCommand>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>com.adobe.flex</groupId>
                        <artifactId>compiler</artifactId>
                        <version>${flex.version}</version>
                        <type>pom</type>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>

    <repositories>
        <repository>
            <id>ooo-maven-repo</id>
            <url>http://ooo-maven.googlecode.com/hg/repository</url>
        </repository>
    </repositories>

    <dependencies>
        <!-- Air SDK dependencies -->
        <dependency>
            <groupId>com.adobe.flex.framework.air</groupId>
            <artifactId>air-framework</artifactId>
            <version>${flex.version}</version>
            <type>pom</type>
        </dependency>
        <!-- parsley -->
        <dependency>
            <groupId>org.spicefactory.spicelib</groupId>
            <artifactId>spicelib-reflect</artifactId>
            <version>3.0.0</version>
            <type>swc</type>
            <scope>internal</scope>
        </dependency>
        <dependency>
            <groupId>org.spicefactory.spicelib</groupId>
            <artifactId>spicelib-util</artifactId>
            <version>3.1.0</version>
            <type>swc</type>
            <scope>internal</scope>
        </dependency>
        <dependency>
            <groupId>org.spicefactory.spicelib</groupId>
            <artifactId>spicelib-commands</artifactId>
            <version>3.1.0</version>
            <type>swc</type>
            <scope>internal</scope>
        </dependency>
        <dependency>
            <groupId>org.spicefactory.spicelib</groupId>
            <artifactId>parsley-core</artifactId>
            <version>3.0.0</version>
            <type>swc</type>
            <scope>internal</scope>
        </dependency>
        <dependency>
            <groupId>org.spicefactory.spicelib</groupId>
            <artifactId>parsley-flex</artifactId>
            <version>3.0.0</version>
            <type>swc</type>
            <scope>internal</scope>
        </dependency>
    </dependencies>

</project>
