<?xml version="1.0"?>
<!--
     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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache.felix.atomos.examples</groupId>
        <artifactId>org.apache.felix.atomos.examples</artifactId>
        <version>1.0.1-SNAPSHOT</version>
    </parent>
    <artifactId>org.apache.felix.atomos.examples.jaxrs</artifactId>
    <name>atomos.examples.jaxrs</name>
    <description>Atomos example using Aries JAX-RS</description>

    <properties>
        <jaxb.version>2.3.3</jaxb.version>
        <aries.jaxrs.version>1.0.9</aries.jaxrs.version>
    </properties>

    <profiles>
        <profile>
            <id>default-compile</id>
            <dependencies>
                <dependency>
                   <groupId>org.osgi</groupId>
                    <artifactId>osgi.core</artifactId>
                </dependency>
            </dependencies>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>equinox</id>
            <dependencies>
                <dependency>
                    <groupId>org.eclipse.platform</groupId>
                    <artifactId>org.eclipse.osgi</artifactId>
                </dependency>
            </dependencies>
        </profile>
        <profile>
            <id>felix</id>
            <dependencies>
                <dependency>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>org.apache.felix.framework</artifactId>
                </dependency>
                <dependency>
                    <groupId>org.apache.felix</groupId>
                    <artifactId>org.apache.felix.log</artifactId>
                </dependency>
            </dependencies>
        </profile>
    </profiles>

    <dependencies>
        <dependency>
            <groupId>org.apache.felix</groupId>
            <artifactId>org.apache.felix.atomos</artifactId>
            <version>1.0.1-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.apache.felix.atomos.examples</groupId>
            <artifactId>org.apache.felix.atomos.examples.webconsole.bom</artifactId>
            <version>1.0.1-SNAPSHOT</version>
            <type>pom</type>
        </dependency>
        <dependency>
            <groupId>org.apache.felix.atomos.examples</groupId>
            <artifactId>org.apache.felix.atomos.examples.jaxrs.bundle</artifactId>
            <version>1.0.1-SNAPSHOT</version>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <groupId>*</groupId>
                    <artifactId>*</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.sun.activation</groupId>
            <artifactId>jakarta.activation</artifactId>
            <version>1.2.2</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>com.sun.xml.bind</groupId>
            <artifactId>jaxb-osgi</artifactId>
            <version>2.3.3</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
            <version>${jaxb.version}</version>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <groupId>jakarta.activation</groupId>
                    <artifactId>jakarta.activation-api</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>jakarta.annotation</groupId>
                    <artifactId>jakarta.annotation-api</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>jakarta.xml.soap</groupId>
            <artifactId>jakarta.xml.soap-api</artifactId>
            <version>1.4.2</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>jakarta.xml.ws</groupId>
            <artifactId>jakarta.xml.ws-api</artifactId>
            <version>2.3.3</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.osgi</groupId>
            <artifactId>org.osgi.service.jaxrs</artifactId>
            <version>1.0.0</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.aries.jax.rs</groupId>
            <artifactId>org.apache.aries.jax.rs.whiteboard</artifactId>
            <version>${aries.jaxrs.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.aries.spifly</groupId>
            <artifactId>org.apache.aries.spifly.dynamic.framework.extension</artifactId>
            <version>1.3.0</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-annotation_1.3_spec</artifactId>
            <version>1.1</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jaxrs_2.1_spec</artifactId>
            <version>1.1</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-nop</artifactId>
            <version>1.7.2</version>
            <scope>runtime</scope>
        </dependency>

    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.felix</groupId>
                <artifactId>atomos-maven-plugin</artifactId>
                <version>0.9.1-SNAPSHOT</version>
                <configuration>
                    <nativeImage>
                        <debug>true</debug>
                        <additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.apache.felix.atomos</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>javax.servlet</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.apache.felix.service.command.Converter</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.eclipse.jetty.util.TypeUtil</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.eclipse.jetty.http.HttpTokens</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.eclipse.jetty.util.log.Log</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.eclipse.jetty.util.log.StdErrLog</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.eclipse.jetty.util.Uptime</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.eclipse.jetty.server.HttpOutput</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.slf4j</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.slf4j.impl</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.apache.cxf.bus.managers.DestinationFactoryManagerImpl</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.apache.cxf.bus.managers.ConduitInitiatorManagerImpl</additionalInitializeAtBuildTime>
                            <additionalInitializeAtBuildTime>org.apache.cxf.bus.managers.BindingFactoryManagerImpl</additionalInitializeAtBuildTime>
                        </additionalInitializeAtBuildTime>
                        <resourceConfigurationFiles>
                            <resourceConfigurationFile>additionalResourceConfig.json</resourceConfigurationFile>
                            <resourceConfigurationFile>resourceAgentConfig.json</resourceConfigurationFile>
                        </resourceConfigurationFiles>
                        <dynamicProxyConfigurationFiles>
                            <dynamicProxyConfigurationFile>proxy_config.json</dynamicProxyConfigurationFile>
                        </dynamicProxyConfigurationFiles>

                        <reflectionConfigurationFiles>
                            <reflectionConfigurationFile>reflectConfig_felix_atomos.json</reflectionConfigurationFile>
                            <reflectionConfigurationFile>reflectConfig_felix_gogo.json</reflectionConfigurationFile>
                            <reflectionConfigurationFile>reflectConfig_felix_web.json</reflectionConfigurationFile>
                            <reflectionConfigurationFile>reflectConfig_jdk.json</reflectionConfigurationFile>
                            <reflectionConfigurationFile>reflectConfig_jetty.json</reflectionConfigurationFile>
                            <reflectionConfigurationFile>reflectAgentConfig.json</reflectionConfigurationFile>
                        </reflectionConfigurationFiles>
                    </nativeImage>
                </configuration>
                <executions>
                    <execution>
                        <id>native-jaxrs-build</id>
                        <goals>
                            <goal>atomos-native-image</goal>
                        </goals>
                        <phase>package</phase>
                    </execution>
                    <execution>
                        <id>index-jaxrs-build</id>
                        <goals>
                            <goal>atomos-index</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>org.apache.felix.atomos.Atomos</mainClass>
                                </transformer>
                            </transformers>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
