<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Copyright 2012 JBoss Inc
  ~
  ~ 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/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <!-- That parent extends the org.jboss:jboss-parent -->
    <groupId>org.jboss.integration-platform</groupId>
    <artifactId>jboss-integration-platform-parent</artifactId>
    <!-- Keep in sync with property <version.org.jboss.integration-platform> -->
    <version>6.0.0.CR28</version>
  </parent>

  <groupId>org.uberfire</groupId>
  <artifactId>uberfire-extensions</artifactId>
  <version>0.7.3.Final</version>
  <packaging>pom</packaging>

  <name>Extensions to UberFire</name>

  <modules>
    <module>uberfire-extensions-deps</module>
    <module>uberfire-extensions-bom</module>
    <module>uberfire-security</module>
    <module>uberfire-metadata</module>
    <module>uberfire-widgets</module>
    <module>uberfire-commons-editor</module>
    <module>uberfire-runtime-plugins</module>
    <module>uberfire-wires</module>
    <module>uberfire-apps</module>
    <module>uberfire-layout-editor</module>
    <module>uberfire-simple-docks</module>
  </modules>

  <repositories>
    <!-- Bootstrap repository to locate the parent pom when the parent pom has not been build locally. -->
    <repository>
      <id>jboss-public-repository-group</id>
      <name>JBoss Public Repository Group</name>
      <url>https://repository.jboss.org/nexus/content/groups/public/</url>
      <layout>default</layout>
      <releases>
        <enabled>true</enabled>
        <updatePolicy>never</updatePolicy>
      </releases>
      <snapshots>
        <enabled>true</enabled>
        <updatePolicy>daily</updatePolicy>
      </snapshots>
    </repository>
  </repositories>

  <build>

    <plugins>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.5.1</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <fork>true</fork>
          <meminitial>128m</meminitial>
          <maxmem>512m</maxmem>
          <showDeprecation>false</showDeprecation>
          <showWarnings>false</showWarnings>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.18</version>
        <configuration>
          <includes>
            <include>**/*Test.java</include>
          </includes>
          <excludes>
            <exclude>**/*IntegrationTest.java</exclude>
          </excludes>
          <argLine>-Xmx1024m -XX:MaxPermSize=128m -Dfile.encoding=UTF-8</argLine>
          <systemProperties>
            <property>
              <name>apple.awt.UIElement</name>
              <value>true</value>
            </property>
          </systemProperties>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-failsafe-plugin</artifactId>
        <version>2.15</version>
        <executions>
          <execution>
            <goals>
              <goal>integration-test</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <includes>
            <include>**/*IntegrationTest.java</include>
          </includes>
          <argLine>-Xmx1024m -XX:MaxPermSize=128m -Dfile.encoding=UTF-8</argLine>
        </configuration>
      </plugin>

      <!-- Packaging -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>2.3.1</version>
        <executions>
          <!-- No OSGi manifestEntries for <goal>jar</goal>: if it supported, then felix has already added them -->
          <execution>
            <id>test-jar</id>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <excludes>
                <exclude>**/logback-test.xml</exclude>
                <exclude>**/jndi.properties</exclude>
              </excludes>
              <archive>
                <manifestEntries>
                  <Bundle-SymbolicName>${project.artifactId}.tests</Bundle-SymbolicName>
                  <Bundle-Version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi.snapshot.qualifier}</Bundle-Version>
                  <Bundle-Name>${project.name}</Bundle-Name>
                  <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
                </manifestEntries>
              </archive>
            </configuration>
          </execution>
        </executions>
        <configuration>
          <archive>
            <manifest>
              <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
              <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
            </manifest>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>2.1.2</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
            <configuration>
              <archive>
                <manifestEntries>
                  <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
                  <Bundle-SymbolicName>${project.artifactId}.source</Bundle-SymbolicName>
                  <Bundle-Version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi.snapshot.qualifier}</Bundle-Version>
                  <Bundle-Name>${project.name}</Bundle-Name>
                  <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
                  <Eclipse-SourceBundle>${project.artifactId};version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi.snapshot.qualifier}";roots:="."</Eclipse-SourceBundle>
                </manifestEntries>
              </archive>
            </configuration>
          </execution>
          <execution>
            <id>attach-sources-test-jar</id>
            <goals>
              <goal>test-jar</goal>
            </goals>
            <configuration>
              <archive>
                <manifestEntries>
                  <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
                  <Bundle-SymbolicName>${project.artifactId}.tests.source</Bundle-SymbolicName>
                  <Bundle-Version>${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi.snapshot.qualifier}</Bundle-Version>
                  <Bundle-Name>${project.name}</Bundle-Name>
                  <Bundle-Vendor>${project.organization.name}</Bundle-Vendor>
                  <Eclipse-SourceBundle>${project.artifactId}.tests;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.incrementalVersion}.${osgi.snapshot.qualifier}";roots:="."</Eclipse-SourceBundle>
                </manifestEntries>
              </archive>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- Get generated sources into -sources artifact -->
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <goals>
              <goal>add-source</goal>
            </goals>
            <configuration>
              <sources>
                <source>target/generated-sources/annotations/</source>
              </sources>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <!-- Zanata -->
      <plugin>
        <groupId>org.zanata</groupId>
        <artifactId>zanata-maven-plugin</artifactId>
        <version>2.3.0</version>
        <configuration>
          <excludes>**/ErraiApp.properties</excludes>
          <projectConfig>${session.executionRootDirectory}/src/main/config/zanata.xml</projectConfig>
          <srcDir>src/main/resources/</srcDir>
          <transDir>src/main/resources/</transDir>
          <includes>**/*Constants.properties</includes>
        </configuration>
      </plugin>

      <!--Fix translations from Zanata -->
      <plugin>
        <groupId>com.google.code.maven-replacer-plugin</groupId>
        <artifactId>replacer</artifactId>
        <version>1.5.2</version>
        <configuration>
          <includes>
            <include>**/*Constants_de.properties</include>
            <include>**/*Constants_es.properties</include>
            <include>**/*Constants_fr.properties</include>
            <include>**/*Constants_ja.properties</include>
            <include>**/*Constants_pt_BR.properties</include>
            <include>**/*Constants_zh_CN.properties</include>
          </includes>
          <excludes>
            <exclude>**/ErraiApp.properties</exclude>
          </excludes>
          <replacements>
            <replacement>
              <token>''</token>
              <value>'</value>
            </replacement>
            <replacement>
              <token>'</token>
              <value>''</value>
            </replacement>
          </replacements>
        </configuration>
      </plugin>
    </plugins>

  </build>

</project>
