<?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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>org.apache.royale.framework</groupId>
    <artifactId>royale-framework-parent</artifactId>
    <version>0.9.8</version>
  </parent>

  <artifactId>distribution</artifactId>
  <version>0.9.8</version>
  <packaging>pom</packaging>

  <name>Apache Royale: Distribution</name>
  <description>The Apache Royale: Royale distribution, source and binary, in zip and tar.gz formats.</description>

  <properties>
    <distributionFileName>apache-royale-${project.version}</distributionFileName>
    <timestamp>${maven.build.timestamp}</timestamp>
    <maven.build.timestamp.format>yyyyMMddHHmm</maven.build.timestamp.format>
    
    <playerglobalHome>libs/player</playerglobalHome>
    <targetPlayerMajorVersion>20</targetPlayerMajorVersion>
    <targetPlayerMinorVersion>0</targetPlayerMinorVersion>

    <assembly.bin>bin.xml</assembly.bin>
    <assembly.dir>dir.xml</assembly.dir>
    <assembly.sdk-description>royale-sdk-description.xml</assembly.sdk-description>
  <project.build.outputTimestamp>2020-03-27T08:32:05Z</project.build.outputTimestamp></properties>

  <modules>
    <module>jars/compc</module>
    <module>jars/compiler-asc</module>
    <module>jars/compiler-compc</module>
    <module>jars/compiler-compjsc</module>
    <module>jars/compiler-mxmlc</module>
    <module>jars/compiler-mxmljsc</module>
    <module>jars/compiler-optimizer</module>
    <module>jars/compiler-swfdump</module>
    <module>jars/mxmlc</module>
  </modules>

  <dependencies>
    <!-- Add the compiler module -->
    <dependency>
      <groupId>org.apache.royale.compiler</groupId>
      <artifactId>compiler</artifactId>
      <version>${royale.compiler.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.compiler</groupId>
      <artifactId>flex-compiler-oem</artifactId>
      <version>${royale.compiler.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.compiler</groupId>
      <artifactId>royale-ant-tasks</artifactId>
      <version>${royale.compiler.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.compiler</groupId>
      <artifactId>debugger</artifactId>
      <version>${royale.compiler.version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.compiler</groupId>
      <artifactId>compiler-jx</artifactId>
      <version>${royale.compiler.version}</version>
    </dependency>

    <!-- Add the framework js-swc modules -->
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Binding</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Charts</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Collections</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Core</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>CreateJS</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>DragDrop</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Effects</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Express</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Flat</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
 	  <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>FontAwesome</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Formatters</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>GoogleMaps</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Graphics</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>HTML</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>HTML5</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>JQuery</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Language</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>MaterialDesignLite</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Mobile</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Network</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Icons</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Reflection</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Storage</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>XML</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Jewel</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Crux</artifactId>
      <version>0.9.8</version>
      <type>swc</type>
      <classifier>js</classifier>
    </dependency>

    <!-- Add dependencies to the externs from the compiler module -->
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-cordova</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-createjs</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-gcl</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-googlemaps</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-jasmine</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-jquery</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-js</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-node</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>

    <!-- Fonts -->
    <!-- Disabled as currently font swf compilation is deactivated -->
    <!-- Update the version when re-enabling -->
    <!--dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Fonts</artifactId>
          <version>x.x.x-SNAPSHOT</version>
          <type>swf</type>
        </dependency-->
    <dependency>
      <groupId>org.apache.royale.framework</groupId>
      <artifactId>Fonts</artifactId>
      <version>0.9.8</version>
      <type>war</type>
    </dependency>

    <!-- Add the dummy jars -->
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>compc</artifactId>
      <version>0.9.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>mxmlc</artifactId>
      <version>0.9.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>compiler-asc</artifactId>
      <version>0.9.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>compiler-compc</artifactId>
      <version>0.9.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>compiler-mxmlc</artifactId>
      <version>0.9.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>compiler-compjsc</artifactId>
      <version>0.9.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>compiler-mxmljsc</artifactId>
      <version>0.9.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>compiler-optimizer</artifactId>
      <version>0.9.8</version>
    </dependency>
    <dependency>
      <groupId>org.apache.royale.framework.distribution</groupId>
      <artifactId>compiler-swfdump</artifactId>
      <version>0.9.8</version>
    </dependency>
    
    <!-- google closure compiler and library will be needed unpacked in js/lib/google -->
    <dependency>
      <groupId>com.google.javascript</groupId>
      <artifactId>closure-compiler</artifactId>
      <version>v20181210</version>
    </dependency>
    <dependency>
      <groupId>org.clojure</groupId>
      <artifactId>google-closure-library</artifactId>
      <version>0.0-20170809-b9c14c6b</version>
    </dependency>
  </dependencies>

  <build>
    <finalName>${distributionFileName}</finalName>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <version>1.5</version>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <version>2.10</version>
        <executions>
          <execution>
            <id>copy-compiler-jx</id>
            <phase>package</phase>
            <goals>
              <goal>copy</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.apache.royale.compiler</groupId>
                  <artifactId>compiler-jx</artifactId>
                  <version>${royale.compiler.version}</version>
                  <type>jar</type>
                  <destFileName>jsc.jar</destFileName>
                </artifactItem>
              </artifactItems>
              <outputDirectory>${project.build.directory}/jsc</outputDirectory>
            </configuration>
          </execution>
          <execution>
            <id>unpack-closure-compiler</id>
            <phase>process-resources</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>com.google.javascript</groupId>
                  <artifactId>closure-compiler</artifactId>
                  <version>v20181210</version>
                  <type>jar</type>
                  <outputDirectory>${project.build.directory}/closure-compiler-temp</outputDirectory>
                  <includes>**</includes>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
          <execution>
            <id>unpack-closure-library</id>
            <phase>process-resources</phase>
            <goals>
              <goal>unpack</goal>
            </goals>
            <configuration>
              <artifactItems>
                <artifactItem>
                  <groupId>org.clojure</groupId>
                  <artifactId>google-closure-library</artifactId>
                  <version>0.0-20170809-b9c14c6b</version>
                  <type>jar</type>
                  <outputDirectory>${project.build.directory}/closure-library-temp</outputDirectory>
                  <includes>**</includes>
                </artifactItem>
              </artifactItems>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>create-distro-packages</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/main/assembly/${assembly.bin}</descriptor>
              </descriptors>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

  <profiles>
    <profile>
      <id>apache-release</id>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>make-src-assembly</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <descriptors>
                    <descriptor>src/main/assembly/src.xml</descriptor>
                  </descriptors>
                  <tarLongFileMode>gnu</tarLongFileMode>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>option-with-swf</id>
      <properties>
        <assembly.bin>bin-with-swf.xml</assembly.bin>
        <assembly.dir>dir-with-swf.xml</assembly.dir>
        <assembly.sdk-description>royale-sdk-description-with-swf.xml</assembly.sdk-description>
      </properties>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.10</version>
            <executions>
              <execution>
                <id>unpack-swfobject</id>
                <phase>process-resources</phase>
                <goals>
                  <goal>unpack</goal>
                </goals>
                <configuration>
                  <artifactItems>
                    <artifactItem>
                      <groupId>org.webjars</groupId>
                      <artifactId>swfobject</artifactId>
                      <version>2.2</version>
                      <type>jar</type>
                      <outputDirectory>${project.build.directory}/swfobject-temp</outputDirectory>
                      <includes>META-INF/resources/**</includes>
                    </artifactItem>
                  </artifactItems>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <dependencies>
        <!-- Add the framework swc modules -->
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Binding</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Charts</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Collections</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Core</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>CreateJS</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>DragDrop</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Effects</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Express</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Flat</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>FontAwesome</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Formatters</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>GoogleMaps</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Graphics</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>HTML</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>HTML5</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>JQuery</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Language</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>MaterialDesignLite</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Mobile</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Network</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Icons</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Reflection</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Storage</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>XML</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Jewel</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>
        <dependency>
          <groupId>org.apache.royale.framework</groupId>
          <artifactId>Crux</artifactId>
          <version>0.9.8</version>
          <type>swc</type>
        </dependency>

        <!-- SWFObject -->
        <dependency>
          <groupId>org.webjars</groupId>
          <artifactId>swfobject</artifactId>
          <version>2.2</version>
        </dependency>

        <dependency>
          <groupId>com.adobe.flash</groupId>
          <artifactId>framework</artifactId>
          <version>${flash.version}</version>
          <type>pom</type>
        </dependency>

        <dependency>
          <groupId>com.adobe.air</groupId>
          <artifactId>compiler</artifactId>
          <version>${air.version}</version>
          <type>pom</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air.compiler</groupId>
          <artifactId>adt</artifactId>
          <version>${air.version}</version>
          <classifier>android</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air.compiler</groupId>
          <artifactId>adt</artifactId>
          <version>${air.version}</version>
          <classifier>desktop</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air.compiler</groupId>
          <artifactId>adt</artifactId>
          <version>${air.version}</version>
          <classifier>ios</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air</groupId>
          <artifactId>runtime</artifactId>
          <version>${air.version}</version>
          <type>pom</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air</groupId>
          <artifactId>framework</artifactId>
          <version>${air.version}</version>
          <type>pom</type>
        </dependency>

        <dependency>
          <groupId>com.adobe.air.runtime</groupId>
          <artifactId>air</artifactId>
          <version>${air.version}</version>
          <classifier>android</classifier>
          <type>zip</type>
        </dependency>

        <!--  <dependency>
            <groupId>com.adobe</groupId>
            <artifactId>fontkit</artifactId>
            <version>1.0</version>
          </dependency>
            -->
        <dependency>
          <groupId>com.adobe.air</groupId>
          <artifactId>templates</artifactId>
          <version>${air.version}</version>
          <type>jar</type>
        </dependency>

        <dependency>
          <groupId>com.adobe.air</groupId>
          <artifactId>misc</artifactId>
          <version>${air.version}</version>
          <type>zip</type>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>_create-distribution-in-folder</id>
      <activation>
        <property>
          <name>distributionTargetFolder</name>
        </property>
      </activation>
      <build>
        <plugins>
          <!-- Not clean since this removes unpacked closure-library from temp folder and prevents the copy to js/lib/google folder -->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-clean-plugin</artifactId>
            <executions>
              <execution>
                <id>clean-distribution-target-folder</id>
                <phase>clean</phase>
                <goals>
                  <goal>clean</goal>
                </goals>
                <configuration>
                  <filesets>
                    <fileset>
                      <directory>${distributionTargetFolder}</directory>
                    </fileset>
                  </filesets>
                  <failOnError>false</failOnError>
                </configuration>
              </execution>
            </executions>
          </plugin>
          <plugin>
            <artifactId>maven-assembly-plugin</artifactId>
            <executions>
              <execution>
                <id>create-distribution-folder</id>
                <phase>package</phase>
                <goals>
                  <goal>single</goal>
                </goals>
                <configuration>
                  <finalName>./</finalName>
                  <appendAssemblyId>false</appendAssemblyId>
                  <attach>false</attach>
                  <outputDirectory>${distributionTargetFolder}</outputDirectory>
                  <descriptors>
                    <descriptor>src/main/assembly/${assembly.dir}</descriptor>
                  </descriptors>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!-- <profile>
      <id>_os-windows</id>
      <activation>
        <os>
          <family>Windows</family>
        </os>
        <property>
          <name>distributionTargetFolder</name>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>com.adobe.air.runtime</groupId>
          <artifactId>adl</artifactId>
          <version>${air.version}</version>
          <classifier>win</classifier>
          <type>exe</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air.compiler</groupId>
          <artifactId>adt</artifactId>
          <version>${air.version}</version>
          <classifier>win</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air.runtime</groupId>
          <artifactId>air</artifactId>
          <version>${air.version}</version>
          <classifier>win</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air.runtime</groupId>
          <artifactId>air-captive</artifactId>
          <version>${air.version}</version>
          <classifier>win</classifier>
          <type>zip</type>
        </dependency>
      </dependencies>
    </profile>
    <profile>
      <id>_os-mac</id>
      <activation>
        <os>
          <family>Mac</family>
        </os>
        <property>
          <name>distributionTargetFolder</name>
        </property>
      </activation>
      <dependencies>
        <dependency>
          <groupId>com.adobe.air.runtime</groupId>
          <artifactId>adl</artifactId>
          <version>${air.version}</version>
          <classifier>mac</classifier>
          <type>exe</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air.runtime</groupId>
          <artifactId>air</artifactId>
          <version>${air.version}</version>
          <classifier>mac</classifier>
          <type>zip</type>
        </dependency>
        <dependency>
          <groupId>com.adobe.air.runtime</groupId>
          <artifactId>air-captive</artifactId>
          <version>${air.version}</version>
          <classifier>mac</classifier>
          <type>zip</type>
        </dependency>
      </dependencies>
    </profile> -->
  </profiles>
</project>
