<?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>frameworks</artifactId>
    <version>0.9.9-SNAPSHOT</version>
  </parent>

  <artifactId>themes</artifactId>
  <version>0.9.9-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Apache Royale: Framework: Themes</name>

  <properties>
    <project.compiler.options>${repo.compiler.options};-js-default-initializers=false;-source-map=${source.map};-js-complex-implicit-coercions=false;-js-vector-index-checks=false;-js-resolve-uncertain=false</project.compiler.options>
  </properties>

  <modules>
    <module>Basic</module>
    <module>MDL</module>
    <module>MXRoyale</module>

    <module>JewelTheme</module>

    <!-- Light & NoFlat-->
    <module>Jewel-Light-NoFlat-Primary-Amethyst-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Blue-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Emerald-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Green-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Orange-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Red-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Sapphire-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Sunflower-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Topaz-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Turquoise-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Violet-Theme</module>
    <module>Jewel-Light-NoFlat-Primary-Yellow-Theme</module>

    <module>Jewel-Light-NoFlat-Secondary-Amethyst-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Blue-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Emerald-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Green-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Orange-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Red-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Sapphire-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Sunflower-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Topaz-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Turquoise-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Violet-Theme</module>
    <module>Jewel-Light-NoFlat-Secondary-Yellow-Theme</module>

    <module>Jewel-Light-NoFlat-Emphasized-Amethyst-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Blue-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Emerald-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Green-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Orange-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Red-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Sapphire-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Sunflower-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Topaz-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Turquoise-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Violet-Theme</module>
    <module>Jewel-Light-NoFlat-Emphasized-Yellow-Theme</module>
    
    <!-- Light & Flat-->
    <module>Jewel-Light-Flat-Primary-Amethyst-Theme</module>
    <module>Jewel-Light-Flat-Primary-Blue-Theme</module>
    <module>Jewel-Light-Flat-Primary-Emerald-Theme</module>
    <module>Jewel-Light-Flat-Primary-Green-Theme</module>
    <module>Jewel-Light-Flat-Primary-Orange-Theme</module>
    <module>Jewel-Light-Flat-Primary-Red-Theme</module>
    <module>Jewel-Light-Flat-Primary-Sapphire-Theme</module>
    <module>Jewel-Light-Flat-Primary-Sunflower-Theme</module>
    <module>Jewel-Light-Flat-Primary-Topaz-Theme</module>
    <module>Jewel-Light-Flat-Primary-Turquoise-Theme</module>
    <module>Jewel-Light-Flat-Primary-Violet-Theme</module>
    <module>Jewel-Light-Flat-Primary-Yellow-Theme</module>

    <module>Jewel-Light-Flat-Secondary-Amethyst-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Blue-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Emerald-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Green-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Orange-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Red-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Sapphire-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Sunflower-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Topaz-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Turquoise-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Violet-Theme</module>
    <module>Jewel-Light-Flat-Secondary-Yellow-Theme</module>

    <module>Jewel-Light-Flat-Emphasized-Amethyst-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Blue-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Emerald-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Green-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Orange-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Red-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Sapphire-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Sunflower-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Topaz-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Turquoise-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Violet-Theme</module>
    <module>Jewel-Light-Flat-Emphasized-Yellow-Theme</module>

    <!-- Dark & NoFlat-->
    <module>Jewel-Dark-NoFlat-Primary-Amethyst-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Blue-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Emerald-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Green-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Orange-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Red-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Sapphire-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Sunflower-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Topaz-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Turquoise-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Violet-Theme</module>
    <module>Jewel-Dark-NoFlat-Primary-Yellow-Theme</module>

    <module>Jewel-Dark-NoFlat-Secondary-Amethyst-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Blue-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Emerald-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Green-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Orange-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Red-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Sapphire-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Sunflower-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Topaz-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Turquoise-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Violet-Theme</module>
    <module>Jewel-Dark-NoFlat-Secondary-Yellow-Theme</module>

    <module>Jewel-Dark-NoFlat-Emphasized-Amethyst-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Blue-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Emerald-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Green-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Orange-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Red-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Sapphire-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Sunflower-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Topaz-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Turquoise-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Violet-Theme</module>
    <module>Jewel-Dark-NoFlat-Emphasized-Yellow-Theme</module>
  </modules>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.royale.compiler</groupId>
        <artifactId>royale-maven-plugin</artifactId>
        <configuration>
          <!-- We don't want dependencies to be linked into the resulting libraries -->
          <forceSwcExternalLibraryPath>true</forceSwcExternalLibraryPath>
          <additionalCompilerOptions>${project.compiler.options}</additionalCompilerOptions>
          <targets>${royale.targets}</targets>
          <allowSubclassOverrides>true</allowSubclassOverrides>
          <skipAS>${royale.skipAS}</skipAS>
          <skipExtern>true</skipExtern>
        </configuration>
      </plugin>
    </plugins>
  </build>

  <dependencies>
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-gcl</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
    </dependency>
    <!--
      By declaring this dependency here, we force the royale-externs-js to be
      added to the external library path of all modules. Without this it would
      have gone to the library path.
    -->
    <dependency>
      <groupId>org.apache.royale.typedefs</groupId>
      <artifactId>royale-typedefs-js</artifactId>
      <version>${royale.typedefs.version}</version>
      <type>swc</type>
      <classifier>typedefs</classifier>
      <scope>runtime</scope>
    </dependency>
  </dependencies>

  <profiles>
    <profile>
      <id>option-with-sass-compile</id>
      <build>
        <plugins>
          <plugin>
            <groupId>nl.geodienstencentrum.maven</groupId>
            <artifactId>sass-maven-plugin</artifactId>
            <version>3.7.2</version>
            <configuration>
              <resources>
                <!-- Depends on JewelTheme SASS framework files-->
                <resource>
                  <source>
                    <directory>${basedir}/src/main/sass</directory>
                    <includes>
                      <include>defaults.sass</include>
                    </includes>
                  </source>
                  <destination>${basedir}/src/main/resources</destination>
                </resource>
              </resources>
            </configuration>
            <executions>
              <execution>
                <id>generate-css-using-sass</id>
                <goals>
                  <goal>update-stylesheets</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <!--
      This is a self-activating profile that causes the sass plugin
      to not be executed if there is no src/main/sass directory.
    -->
    <profile>
      <id>_skip-sass-compilation</id>
      <activation>
        <file>
          <missing>src/main/sass</missing>
        </file>
      </activation>
      <build>
        <plugins>
          <plugin>
            <groupId>nl.geodienstencentrum.maven</groupId>
            <artifactId>sass-maven-plugin</artifactId>
            <configuration>
              <skip>true</skip>
            </configuration>
          </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
