<?xml version="1.0" encoding="UTF-8" standalone="no"?><!--

 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>
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>13</version>
    </parent>
    <groupId>org.apache.clerezza</groupId>
    <artifactId>reactor</artifactId>
    <packaging>pom</packaging>
    <name>Clerezza - Reactor build (root)</name>
    <url>http://incubator.apache.org/clerezza/mvn-site/</url>
    <version>0.3-SNAPSHOT</version>
    <description>A recator to build all of clerezza</description>
    <licenses>
        <license>
            <name>The Apache Software License, Version 2.0</name>
            <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
            <distribution>repo</distribution>
        </license>
    </licenses>

    <profiles>
        <profile>
            <id>release</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <modules>
                <module>parent</module>
                <module>clerezza-jar-resource-bundle</module>
                <module>platform.style.classic.webguiexamples</module>
                <module>ext</module>
                <module>ext.org.apache.jena</module>
                <module>ext.org.apache.jena.tdb</module>
                <module>ext.com.ibm.icu</module>
                <module>ext.javax.mail</module>
                <module>ext.org.json.simple</module>
                <module>ext.org.ops4j.pax.swissbox.tinybundles</module>
                <module>ext.org.apache.lucene</module>
                <module>slf4j-scala-api</module>
                <module>internal.archetype</module>
                <module>scala-scripting</module>
                <module>jaxrs.extensions</module>
                <module>jaxrs.rdf.providers</module>
                <module>jaxrs.stanbol.fragments</module>
                <module>jaxrs.utils</module>
                <module>maven-jaxrs-report-plugin</module>
                <module>maven-ontologies-plugin</module>
                <module>maven-pladoc-plugin</module>
                <module>permissiondescriptions</module>
                <module>ssl.keygen</module>
                <module>platform</module>
                <module>platform.accountcontrolpanel</module>
                <module>platform.concepts</module>
                <module>platform.config</module>
                <module>platform.config.gui</module>
                <module>platform.content.imagemetadata</module>
                <module>platform.content</module>
                <module>platform.content.default404</module>
                <module>platform.content.fsadaptor</module>
                <module>platform.content.representations</module>
                <module>platform.cris</module>
                <module>platform.curieprefixmanager</module>
                <module>platform.dashboard</module>
                <module>platform.dashboard.webinterface</module>
                <module>platform.documentation</module>
                <module>platform.documentation.viewer</module>
                <module>platform.enrichment</module>
                <module>platform.graphnodeprovider</module>
                <module>platform.graphprovider.content</module>
                <module>platform.language</module>
                <module>platform.launcher.storageless.parent</module>
                <module>platform.launcher.tdb</module>
                <module>platform.logging</module>
                <module>platform.mail</module>
                <module>platform.scripting</module>
                <module>platform.scripting.scriptmanager</module>
                <module>platform.security.foafssl</module>
                <module>platform.security.conditions</module>
                <module>platform.shellcustomizer</module>
                <module>platform.typehandlerspace</module>
                <module>platform.typehandlerspace.wink</module>
                <module>platform.typehandlerspace.jaxrs2</module>
                <module>platform.typerendering</module>
                <module>platform.typerendering.gui</module>
                <module>platform.typerendering.scala</module>
                <module>platform.typerendering.scalaserverpages</module>
                <module>platform.typerendering.seedsnipe</module>
                <module>platform.typepriority</module>
                <module>platform.usermanager</module>
                <module>platform.usermanager.webinterface</module>
                <module>platform.users</module>
                <module>platform.xhtml2html</module>
                <module>osgi.services</module>
                <module>rdf.core</module>
                <module>rdf.core.test</module>
                <module>rdf.cris</module>
                <module>rdf.enrichment</module>
                <module>rdf.file.storage</module>
                <module>rdf.jena.commons</module>
                <module>rdf.jena.facade</module>
                <module>rdf.jena.parser</module>
                <module>rdf.jena.serializer</module>
                <module>rdf.jena.sparql</module>
                <module>rdf.jena.storage</module>
                <module>rdf.jena.tdb.storage</module>
                <module>rdf.locking</module>
                <module>rdf.ontologies</module>
                <module>rdf.metadata</module>
                <module>rdf.rdfa</module>
                <module>rdf.rdfjson</module>
                <module>rdf.scala.utils</module>
                <module>rdf.schemagen</module>
                <module>rdf.simple.storage</module>
                <module>rdf.stable.serializer</module>
                <module>rdf.utils</module>
                <module>rdf.web</module>
                <module>shell</module>
                <module>shell.felixshellcommand</module>
                <module>bundledevtool</module>
                <module>sshshell</module>
                <module>templating</module>
                <module>templating.seedsnipe</module>
                <module>tools.offline</module>
                <module>uima</module>
                <module>utils.customproperty</module>
                <module>utils.imageprocessing</module>
                <module>utils</module>
                <module>web.fileserver</module>
                <module>web.resources.jquery</module>
                <module>web.resources.scripts</module>
                <module>platform.style.default</module>
                <module>platform.style.classic</module>
                <module>web.resources.yui</module>
                <module>rdf.storage.externalizer</module>
                <module>rdf.storage.web</module>
            </modules>
        </profile>
        <profile>
            <id>rat</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.rat</groupId>
                        <artifactId>apache-rat-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>default-cli</id>
                                <goals>
                                    <goal>check</goal>
                                </goals>
                                <phase>verify</phase>
                                <configuration>
                                    <excludes>
                                        <!-- File generated by maven-release-plugin -->
                                        <exclude>release.properties</exclude>
                                        <!-- hidden files -->
                                        <exclude>**/.*</exclude>
                                        <exclude>**/.*/*</exclude>
                                        <exclude>**/.*/**/*</exclude>
                                        <exclude>**/*.sh</exclude>
                                        <exclude>**/main/shell/**/*</exclude>
                                        <exclude>**/maven-eclipse.xml</exclude>
                                        <exclude>**/*.iml</exclude>
                                        <exclude>**/target/**/*</exclude>
                                        <exclude>**/src/test/**/*.nt</exclude>
                                        <exclude>**/src/test/**/*.ttl</exclude>
                                        <exclude>**/src/test/**/*.rdf</exclude>
                                        <exclude>**/src/test/**/*.txt</exclude>
                                        <exclude>**/src/test/**/*.n3</exclude>
                                        <exclude>**/src/test/**/*.json</exclude>
                                        <exclude>**/src/test/**/*.seed</exclude>
                                        <exclude>**/src/test/**/*.xrdf</exclude>
                                        <exclude>**/src/test/**/*.foaf</exclude>
                                        <exclude>**/src/test/**/*.turtle</exclude>
                                        <exclude>**/documentation.nt</exclude>
                                        <!-- yui is bsd licensed -->
                                        <exclude>web.resources.yui/src/main/resources/**/*</exclude>
                                        <exclude>web.resources.jquery/src/main/resources/org/apache/clerezza/web/resources/jquery/staticweb/**/*</exclude>
                                        <exclude>platform.scripting.scriptmanager/src/main/resources/org/apache/clerezza/platform/scripting/scriptmanager/scriptmanager-script-information.xhtml</exclude>
                                        <exclude>templating.seedsnipe/src/test/resources/org/apache/clerezza/templating/seedsnipe/libby-foaf.rdf</exclude>
                                        <exclude>platform.usermanager.webinterface/src/main/resources/org/apache/clerezza/platform/usermanager/webinterface/reset_mail.txt</exclude>
                                        <exclude>rdf.ontologies/src/main/resources/org/apache/clerezza/rdf/ontologies/*</exclude>
                                        <exclude>platform.security.foafssl/ontologies/src/main/resources/org/apache/clerezza/foafssl/ontologies/*</exclude>
                                        <!-- text files for inclusion -->
                                        <exclude>platform.typerendering.scalaserverpages/src/main/resources/org/apache/clerezza/platform/typerendering/scalaserverpages/*.txt</exclude>
                                        <exclude>**/META-INF/services/*</exclude>
                                        <exclude>**/LICENSE*</exclude>
                                        <exclude>**/META-INF/MANIFEST.MF</exclude>
                                        <exclude>ssl.keygen/samplewebapp/src/main/webapp/cacert.crt</exclude>
                                        <exclude>web.fileserver/src/main/resources/org/apache/clerezza/web/fileserver/util/mime.types</exclude>
                                        <exclude>platform.content/src/main/resources/org/apache/clerezza/platform/content/staticweb/discoscripts/**/*</exclude>
                                        <exclude>platform.content/src/main/resources/org/apache/clerezza/platform/content/*</exclude>
                                    </excludes>
                                    <numUnapprovedLicenses>0</numUnapprovedLicenses>
                                    <excludeSubProjects>false</excludeSubProjects>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>

                </plugins>
            </build>
        </profile>
        <profile>
            <id>it</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <module>integrationtest.web</module>
                <module>integrationtest.web.performance</module>
                <module>platform.testing</module>
            </modules>
        </profile>
        <profile>
            <id>additions</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
            <modules>
                <!-- tests depends on availability of right version of imagemagick, see CLEREZZA-326-->
                <module>utils.imagemagick</module>
                <!-- have dependencies that are not in maven central -->
                <module>ext.org.jruby</module>
                <module>ext.org.openrdf.sesame</module>
                <module>platform.launcher.sesame</module>
                <module>rdf.sesame.storage</module>
                <module>rdf.sesame.parser</module>
            </modules>
        </profile>
        <profile>
            <id>site-build</id>
            <activation>
                <activeByDefault>false</activeByDefault>
            </activation>
                        <pluginRepositories>
                            <pluginRepository>
                                <id>apache.snapshots</id>
                                <url>http://repository.apache.org/snapshots/</url>
                            </pluginRepository>
                        </pluginRepositories>
        </profile>
    </profiles>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-source-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-bundle-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>maven-scr-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-deploy-plugin</artifactId>
            </plugin>
            <plugin>
                <artifactId>maven-clean-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-install-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.codehaus.xsite</groupId>
                <artifactId>xsite-maven-plugin</artifactId>
            </plugin>
            <!-- having this here has the effect that the resources copied by the resources plugin (below) have
            priority over the remote resources -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>        
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <targetPath>META-INF</targetPath>
                <filtering>false</filtering>
                <directory>${basedir}</directory>
                <includes>
                    <include>NOTICE</include>
                    <include>LICENSE.*</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>
    </build>
    <distributionManagement>
        <!-- where to deploy the web site -->
        <site>
            <id>people.apache.org</id>
            <url>scp://people.apache.org/www/incubator.apache.org/clerezza/mvn-site/</url>
        </site>

        <!-- where to deploy the artifacts -->
        <repository>
            <id>apache.releases.https</id>
            <name>Apache Release Distribution Repository</name>
            <url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
        </repository>
        <snapshotRepository>
            <id>apache.snapshots.https</id>
            <name>Apache Development Snapshot Repository</name>
            <url>https://repository.apache.org/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

    <!-- jira -->
    <issueManagement>
        <system>Jira</system>
        <url>https://issues.apache.org/jira/browse/CLEREZZA</url>
    </issueManagement>
    <ciManagement>
        <system>Jenkins</system>
        <url>https://builds.apache.org/job/clerezza-trunk-1.6/</url>
    </ciManagement>


    <scm>
        <url>http://svn.apache.org/viewvc/incubator/clerezza</url>
        <connection>scm:svn:http://svn.apache.org/repos/asf/incubator/clerezza/trunk/</connection>
        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/incubator/clerezza/trunk/</developerConnection>
    </scm>

    <!-- lets generate reports -->
    <reporting>
        <plugins>
            <!-- javadoc -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <!-- Version 2.6  passes invalid arguments to the wadl doclet -->
                <version>2.4</version>
            </plugin>

            <!-- test results -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.4.2</version>
            </plugin>

            <!-- pmd reports (potential bugs, suboptimal code, duplicate code) -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <version>2.3</version>
                <configuration>
                    <targetJdk>1.6</targetJdk>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.clerezza</groupId>
                <artifactId>maven-jaxrs-report-plugin</artifactId>
                <version>0.2-SNAPSHOT</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-plugin-plugin</artifactId>
                <version>2.5.1</version>
            </plugin>
<!--            <plugin>
                <groupId>org.apache.clerezza</groupId>
                <artifactId>maven-pladoc-plugin.core</artifactId>
                <version>0.1</version>
            </plugin> -->
        </plugins>
    </reporting>
</project>
