<!--
   (C) Copyright 2012, IBM Corporation

   Licensed 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>com.ibm.jaggr</groupId>
    <artifactId>jaggr</artifactId>
    <relativePath>../pom.xml</relativePath>
    <version>1.2.2</version>
  </parent>
  
  <artifactId>jaggr-service</artifactId>
  <packaging>bundle</packaging>
  
  <name>Jaggr Service</name>
  <description>Javascript AMD Aggregator Service</description>

  <build>
    <resources>
      <resource>
        <directory>..</directory>
        <includes>
          <include>LICENSE</include>
          <include>NOTICE</include>
        </includes>
      </resource>
      <resource>
        <directory>${basedir}</directory>
        <includes>
          <include>WebContent/**</include>
          <include>schema/**</include>
          <include>OSGI-INF/**</include>
          <include>plugin.xml</include>
          <include>javadoc.xml</include>
          <include>logging-readme.txt</include>
          <include>aggregator.properties</include>
        </includes>
      </resource>
      <resource>
        <directory>${basedir}/src/main/java</directory>
        <filtering>false</filtering>
        <includes>
          <include>**/*.properties</include>
        </includes>
      </resource>
    </resources>
    <testResources>
      <testResource>
        <directory>src/test/javascript</directory>
      </testResource>
    </testResources>
    <pluginManagement>
       <plugins>
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>1.0.0</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[1.0.0,)</versionRange>
                    <goals>
                      <goal>copy-dependencies</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action><ignore /></action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-dependency-plugin</artifactId>
                    <versionRange>[2.4,)</versionRange>
                    <goals>
                      <goal>unpack</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action><ignore /></action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-antrun-plugin</artifactId>
                    <versionRange>[1.7,)</versionRange>
                    <goals><goal>run</goal></goals>
                  </pluginExecutionFilter>
                  <action><ignore /></action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.felix</groupId>
        <artifactId>maven-bundle-plugin</artifactId>
        <extensions>true</extensions>
        <configuration>
          <manifestLocation>META-INF</manifestLocation>
          <instructions>
            <Bundle-Name>jaggr</Bundle-Name>
            <Bundle-SymbolicName>${project.groupId}.service;singleton:=true</Bundle-SymbolicName>
            <Bundle-ActivationPolicy>lazy</Bundle-ActivationPolicy>
            <Bundle-Activator>${project.groupId}.service.impl.Activator</Bundle-Activator>
            <Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
            <Export-Package>
              ${project.groupId}.service.impl;version="${project.version}",
              !${project.groupId}.service.impl.*;version="${project.version}",
              ${project.groupId}.service.*;version="${project.version}"
            </Export-Package>
            <Private-Package>${project.groupId}.service.impl.*;version="${project.version}"</Private-Package>
            <Require-Bundle>org.eclipse.core.runtime</Require-Bundle>
            <Import-Package>
              ${project.groupId}.core;version="${project.version}",
              ${project.groupId}.core.cache;version="${project.version}",
              ${project.groupId}.core.cachekeygenerator;version="${project.version}",
              ${project.groupId}.core.config;version="${project.version}",
              ${project.groupId}.core.deps;version="${project.version}",
              ${project.groupId}.core.executors;version="${project.version}",
              ${project.groupId}.core.impl;version="${project.version}",
              ${project.groupId}.core.impl.cache;version="${project.version}",
              ${project.groupId}.core.impl.config;version="${project.version}",
              ${project.groupId}.core.impl.deps;version="${project.version}",
              ${project.groupId}.core.impl.executors;version="${project.version}",
              ${project.groupId}.core.impl.layer;version="${project.version}",
              ${project.groupId}.core.impl.module;version="${project.version}",
              ${project.groupId}.core.impl.modulebuilder.css;version="${project.version}",
              ${project.groupId}.core.impl.modulebuilder.less;version="${project.version}",
              ${project.groupId}.core.impl.modulebuilder.i18n;version="${project.version}",
              ${project.groupId}.core.impl.modulebuilder.javascript;version="${project.version}",
              ${project.groupId}.core.impl.modulebuilder.text;version="${project.version}",
              ${project.groupId}.core.impl.options;version="${project.version}",
              ${project.groupId}.core.impl.resource;version="${project.version}",
              ${project.groupId}.core.impl.transport;version="${project.version}",
              ${project.groupId}.core.layer;version="${project.version}",
              ${project.groupId}.core.module;version="${project.version}",
              ${project.groupId}.core.modulebuilder;version="${project.version}",
              ${project.groupId}.core.options;version="${project.version}",
              ${project.groupId}.core.readers;version="${project.version}",
              ${project.groupId}.core.resource;version="${project.version}",
              ${project.groupId}.core.transport;version="${project.version}",
              ${project.groupId}.core.util;version="${project.version}",
              javax.servlet;version="[2,4)",
              javax.servlet.http;version="[2,4)",
              org.apache.felix.service.command;resolution:=optional,
              org.mozilla.javascript,
              !*
            </Import-Package>
            <!-- embed dependencies -->
            <Embed-Dependency>commons-codec, commons-lang3</Embed-Dependency>
            <Embed-Directory>lib</Embed-Directory>
            <Embed-StripGroup>true</Embed-StripGroup>
          </instructions>
        </configuration>
      </plugin>
       <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
          <execution><!-- This is so that eclipse will be able to resolve the bundle. -->
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>lib</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
       </configuration>
      </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <configuration>
            <excludes>
              <exclude>src/test/resources/specRunner.htmltemplate</exclude>
            </excludes>
          </configuration>
        </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <includes>
            <include>**/*.java</include>
          </includes>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <configuration>
          <filesets>
            <fileset>
              <directory>.</directory>
              <includes>
                <include>lib/**</include>
              </includes>
              <followSymlinks>false</followSymlinks>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencies>
    <dependency>
      <groupId>com.ibm.jaggr</groupId>
      <artifactId>jaggr-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.felix</groupId>
      <artifactId>org.apache.felix.gogo.command</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
    </dependency>
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.mozilla</groupId>
      <artifactId>rhino</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-codec</groupId>
      <artifactId>commons-codec</artifactId>
    </dependency>
    <dependency>
      <groupId>org.eclipse.core.runtime</groupId>
      <artifactId>compatibility</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>org.osgi</groupId>
      <artifactId>org.osgi</artifactId>
      <scope>provided</scope>
    </dependency>
    <dependency>
      <groupId>com.ibm.jaggr</groupId>
      <artifactId>jaggr-core</artifactId>
      <classifier>tests</classifier>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.google.guava</groupId>
        <artifactId>guava</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-core</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.powermock</groupId>
      <artifactId>powermock-api-easymock</artifactId>
      <scope>test</scope>
    </dependency>
     <dependency>
       <groupId>org.powermock</groupId>
       <artifactId>powermock-module-junit4</artifactId>
      <scope>test</scope>
     </dependency>
     <dependency>
      <groupId>com.ibm.jaggr</groupId>
      <artifactId>jaggr-sample-dojo</artifactId>
      <scope>test</scope>
     </dependency>
  </dependencies>
</project>