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

  <!--
        TODO:
        Flash version:
          Blue ball doesn't move
  -->

  <parent>
    <groupId>org.apache.flex.flexjs.examples</groupId>
    <artifactId>examples-flexjs</artifactId>
    <version>0.8.0</version>
  </parent>

  <artifactId>CreateJSExample</artifactId>
  <version>0.8.0</version>
  <packaging>swf</packaging>

  <name>Apache Flex - FlexJS: Examples: FlexJS: CreateJSExample</name>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.flex.flexjs.compiler</groupId>
        <artifactId>flexjs-maven-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <mainClass>CreateJSExample.mxml</mainClass>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>com.adobe.flash.framework</groupId>
      <artifactId>playerglobal</artifactId>
      <version>${flash.version}</version>
      <type>swc</type>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>org.apache.flex.flexjs.framework</groupId>
      <artifactId>CreateJS</artifactId>
      <version>0.8.0</version>
      <type>swc</type>
      <classifier>swf</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.flex.flexjs.framework</groupId>
      <artifactId>CreateJS</artifactId>
      <version>0.8.0</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>

    <dependency>
      <groupId>org.apache.flex.flexjs.typedefs</groupId>
      <artifactId>flexjs-typedefs-createjs</artifactId>
      <version>${flexjs.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

</project>
