<?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>
    </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>
