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

    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>35</version>
        <relativePath />
    </parent>

    <groupId>org.apache.karaf</groupId>
    <artifactId>cellar</artifactId>
    <version>4.4.8</version>
    <packaging>pom</packaging>
    <name>Apache Karaf :: Cellar</name>

    <properties>
        <project.build.outputTimestamp>1756702292</project.build.outputTimestamp>
        <maven.compiler.target>11</maven.compiler.target>
        <fabric8.kubernetes-client.version>4.13.3</fabric8.kubernetes-client.version>
        <felix.webconsole.version>4.2.14</felix.webconsole.version>
        <hazelcast.version>3.12.13</hazelcast.version>
        <jclouds.version>2.1.2</jclouds.version>
        <joda-time.version>2.14.0</joda-time.version>
        <karaf.version>4.4.8</karaf.version>
        <netflix.feign.version>8.18.0</netflix.feign.version>
        <gson.version>2.13.1</gson.version>
        <bnd.version.policy>[$(version;==;$(@)),$(version;+;$(@)))</bnd.version.policy>
    </properties>

    <modules>
        <module>core</module>
        <module>config</module>
        <module>features</module>
        <module>kar</module>
        <module>bundle</module>
        <module>obr</module>
        <module>dosgi</module>
        <module>event</module>
        <module>shell</module>
        <module>hazelcast</module>
        <module>utils</module>
        <module>log</module>
        <module>http</module>
        <module>cloud</module>
        <module>kubernetes</module>
        <module>dns</module>
        <module>etcd</module>
        <module>webconsole</module>
        <module>manual</module>
        <module>assembly</module>
        <module>samples</module>
        <module>itests</module>
    </modules>

    <scm>
        <connection>scm:git:https://gitbox.apache.org/repos/asf/karaf-cellar.git</connection>
        <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/karaf-cellar.git</developerConnection>
        <url>https://gitbox.apache.org/repos/asf?p=karaf-cellar.git;a=summary</url>
      <tag>cellar-4.4.8</tag>
  </scm>

    <issueManagement>
        <system>jira</system>
        <url>https://issues.apache.org/jira/browse/KARAF</url>
    </issueManagement>

    <mailingLists>
        <mailingList>
            <name>Karaf Dev</name>
            <subscribe>dev-subscribe@karaf.apache.org</subscribe>
            <unsubscribe>dev-unsubscribe@karaf.apache.org</unsubscribe>
            <post>-</post>
            <archive>http://www.mail-archive.com/dev%karaf.apache.org/</archive>
        </mailingList>
        <mailingList>
            <name>Karaf User</name>
            <subscribe>user-subscribe@karaf.apache.org</subscribe>
            <unsubscribe>user-unsubscribe@karaf.apache.org</unsubscribe>
            <post>-</post>
            <archive>http://www.mail-archive.com/user%40karaf.apache.org/</archive>
        </mailingList>
        <mailingList>
            <name>Karaf Commits</name>
            <subscribe>commits-subscribe@karaf.apache.org</subscribe>
            <unsubscribe>commits-unsubscribe@karaf.apache.org</unsubscribe>
            <post>-</post>
            <archive>http://www.mail-archive.com/commits%40karaf.apache.org/</archive>
        </mailingList>
        <mailingList>
            <name>Karaf Issues</name>
            <subscribe>issues-subscribe@karaf.apache.org</subscribe>
            <unsubscribe>issues-unsubscribe@karaf.apache.org</unsubscribe>
            <post>-</post>
            <archive>http://www.mail-archive.com/issues%40karaf.apache.org/</archive>
        </mailingList>
    </mailingLists>

    <dependencyManagement>
        <dependencies>

            <!-- Karaf BoM -->
            <dependency>
                <groupId>org.apache.karaf</groupId>
                <artifactId>karaf-bom</artifactId>
                <version>${karaf.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!-- Cellar -->
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.bundle</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.config</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.core</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.features</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.hazelcast</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.cloud</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.manual</artifactId>
                <type>html</type>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.manual</artifactId>
                <type>pdf</type>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.shell</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>org.apache.karaf.cellar.utils</artifactId>
                <version>${project.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.karaf.cellar</groupId>
                <artifactId>apache-karaf-cellar</artifactId>
                <version>${project.version}</version>
                <type>xml</type>
                <classifier>features</classifier>
            </dependency>

            <!-- Hazelcast -->
            <dependency>
                <groupId>com.hazelcast</groupId>
                <artifactId>hazelcast-all</artifactId>
                <version>${hazelcast.version}</version>
            </dependency>

            <!-- JClouds -->
            <dependency>
                <groupId>org.apache.jclouds</groupId>
                <artifactId>jclouds-blobstore</artifactId>
                <version>${jclouds.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.jclouds</groupId>
                <artifactId>jclouds-allblobstore</artifactId>
                <version>${jclouds.version}</version>
            </dependency>

            <!-- Joda Time -->
            <dependency>
                <groupId>joda-time</groupId>
                <artifactId>joda-time</artifactId>
                <version>${joda-time.version}</version>
            </dependency>

            <!-- Kubernetes -->
            <dependency>
                <groupId>io.fabric8</groupId>
                <artifactId>kubernetes-client</artifactId>
                <version>${fabric8.kubernetes-client.version}</version>
            </dependency>

            <!-- Netflix Feign -->
            <dependency>
                <groupId>com.google.code.gson</groupId>
                <artifactId>gson</artifactId>
                <version>${gson.version}</version>
            </dependency>
            <dependency>
                <groupId>com.netflix.feign</groupId>
                <artifactId>feign-core</artifactId>
                <version>${netflix.feign.version}</version>
            </dependency>
            <dependency>
                <groupId>com.netflix.feign</groupId>
                <artifactId>feign-slf4j</artifactId>
                <version>${netflix.feign.version}</version>
            </dependency>
            <dependency>
                <groupId>com.netflix.feign</groupId>
                <artifactId>feign-gson</artifactId>
                <version>${netflix.feign.version}</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <defaultGoal>install</defaultGoal>

        <pluginManagement>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-eclipse-plugin</artifactId>
                    <version>2.10</version>
                    <configuration>
                        <outputDirectory>${basedir}/eclipse-classes</outputDirectory>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>true</downloadJavadocs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-services-maven-plugin</artifactId>
                    <version>${karaf.version}</version>
                    <executions>
                        <execution>
                            <id>service-metadata-generate</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>service-metadata-generate</goal>
                            </goals>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <groupId>org.apache.karaf.tooling</groupId>
                    <artifactId>karaf-maven-plugin</artifactId>
                    <version>${karaf.version}</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>maven-bundle-plugin</artifactId>
                    <version>5.1.9</version>
                    <extensions>true</extensions>
                    <configuration>
                        <instructions>
                            <_versionpolicy>${bnd.version.policy}</_versionpolicy>
                        </instructions>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-idea-plugin</artifactId>
                    <version>2.2.1</version>
                    <configuration>
                        <downloadSources>true</downloadSources>
                        <downloadJavadocs>true</downloadJavadocs>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.12</version>
                </plugin>
                <plugin>
                    <groupId>org.apache.servicemix.tooling</groupId>
                    <artifactId>depends-maven-plugin</artifactId>
                    <version>1.5.0</version>
                </plugin>
            </plugins>
        </pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-enforcer-plugin</artifactId>
                <executions>
                    <execution>
                        <id>enforce-maven</id>
                        <goals>
                            <goal>enforce</goal>
                        </goals>
                        <configuration>
                            <rules>
                                <requireMavenVersion>
                                    <version>[3,4)</version>
                                </requireMavenVersion>
                                <requireJavaVersion>
                                    <version>[1.8,)</version>
                                </requireJavaVersion>
                            </rules>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-remote-resources-plugin</artifactId>
                <executions>
                    <execution>
                        <goals>
                            <goal>process</goal>
                        </goals>
                        <configuration>
                            <resourceBundles>
                                <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
                            </resourceBundles>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <id>copy-notice</id>
                        <phase>generate-resources</phase>
                        <configuration>
                            <target>
                                <copy file="NOTICE" todir="target/maven-shared-archive-resources/META-INF" failonerror="false" overwrite="true" />
                            </target>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <!-- generate dependencies versions -->
            <plugin>
                <groupId>org.apache.servicemix.tooling</groupId>
                <artifactId>depends-maven-plugin</artifactId>
                <inherited>true</inherited>
                <executions>
                    <execution>
                        <id>generate-depends-file</id>
                        <goals>
                            <goal>generate-depends-file</goal>
                        </goals>
                        <phase>compile</phase>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>release</id>
            <build>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-enforcer-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>enforce-versions</id>
                                <goals>
                                    <goal>enforce</goal>
                                </goals>
                                <configuration>
                                    <rules>
                                        <requireMavenVersion>
                                            <version>[3,4)</version>
                                        </requireMavenVersion>
                                        <requireJavaVersion>
                                            <version>[11,21)</version>
                                        </requireJavaVersion>
                                    </rules>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
                    <!-- We want to deploy the artifact to a staging location for perusal -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-deploy-plugin</artifactId>
                        <inherited>true</inherited>
                        <configuration>
                            <altDeploymentRepository>${deploy.altRepository}</altDeploymentRepository>
                            <updateReleaseInfo>true</updateReleaseInfo>
                        </configuration>
                    </plugin>
                    <!-- We want to sign the artifact, the POM, and all attached artifacts -->
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>sign-artifacts</id>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-assembly-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>make-assembly</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>build-helper-maven-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-assemblies</id>
                                <phase>none</phase>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
        <profile>
            <id>deploy</id>
            <properties>
                <createSourcesJar>true</createSourcesJar>
            </properties>
            <build>
                <defaultGoal>deploy</defaultGoal>
                <plugins>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-source-plugin</artifactId>
                        <executions>
                            <execution>
                                <id>attach-sources</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                    <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-javadoc-plugin</artifactId>
                        <configuration>
                            <source>11</source>
                        </configuration>
                        <executions>
                            <execution>
                                <id>attach-javadocs</id>
                                <goals>
                                    <goal>jar</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>

</project>
