<?xml version="1.0" encoding="UTF-8"?>
<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">

    <!--

        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.
    -->

    <modelVersion>4.0.0</modelVersion>

    <groupId>org.apache.karaf.boot</groupId>
    <artifactId>karaf-boot-build</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <packaging>pom</packaging>
    <description>
        Apache Karaf Boot provides a simple way to create artifacts ready to be deployed in Karaf.
    </description>

    <properties>
        <karaf.version>4.0.2</karaf.version>
        <osgi.version>6.0.0</osgi.version>
        <pax.cdi.version>1.0.0.RC1</pax.cdi.version>
    </properties>

    <modules>
        <!-- Core karaf-boot -->
        <module>karaf-boot-starters</module>
        <module>karaf-boot-tools</module>
        <!-- embedded mode -->

        <!-- Archetypes -->
        <!-- TODO archetypes -->
 
        <!-- Demos -->
        <!-- TODO complete library demos -->
    </modules>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <inherited>true</inherited>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>samples</id>
            <modules>
                <!-- Samples -->
                <!-- services -->
                <module>karaf-boot-samples/karaf-boot-sample-service-provider-osgi</module>
                <module>karaf-boot-samples/karaf-boot-sample-service-consumer-osgi</module>
                <module>karaf-boot-samples/karaf-boot-sample-service-provider-ds</module>
                <module>karaf-boot-samples/karaf-boot-sample-service-consumer-ds</module>
                <!-- blueprint -->
                <module>karaf-boot-samples/karaf-boot-sample-service-provider-blueprint</module>
                <module>karaf-boot-samples/karaf-boot-sample-service-consumer-blueprint</module>
                <!-- cdi -->
                <module>karaf-boot-samples/karaf-boot-sample-cdi</module>
                <!-- shell -->
                <module>karaf-boot-samples/karaf-boot-sample-shell</module>
                <!-- config -->
                <module>karaf-boot-samples/karaf-boot-sample-config</module>
                <!-- jpa -->
                <module>karaf-boot-samples/karaf-boot-sample-jpa</module>
                <!-- servlet -->
                <module>karaf-boot-samples/karaf-boot-sample-servlet</module>
                <!-- webui / angular -->
                <!-- test -->
                <!-- rest & soap -->
                <!-- camel -->
            </modules>
        </profile>
    </profiles>

</project>
