<!--
   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.felix</groupId>
       <artifactId>felix-parent</artifactId>
       <version>7</version>
       <relativePath>../pom/pom.xml</relativePath>
   </parent>

   <artifactId>org.apache.felix.webconsole</artifactId>
   <packaging>bundle</packaging>
   <version>4.9.10</version>

   <name>Apache Felix Web Management Console</name>
   <description>
       Web Based Management Console for OSGi Frameworks. See
       http://felix.apache.org/site/apache-felix-web-console.html for more
       information on this bundle.
   </description>

   <properties>
       <webconsole.exports>
           org.apache.felix.webconsole;provide:=true,
           org.apache.felix.webconsole.bundleinfo;provide:=true,
           org.apache.felix.webconsole.i18n;provide:=true,
           org.apache.felix.webconsole.servlet,
           org.apache.felix.webconsole.spi
       </webconsole.exports>
       <servlet.api>5.0.0</servlet.api>
   </properties>

   <scm>
       <connection>scm:git:https://github.com/apache/felix-dev.git</connection>
       <developerConnection>scm:git:https://github.com/apache/felix-dev.git</developerConnection>
       <url>https://gitbox.apache.org/repos/asf?p=felix-dev.git</url>
     <tag>org.apache.felix.webconsole-4.9.10</tag>
 </scm>

   <build>
       <resources>
           <!-- default resources (may be removed when compat is removed) -->
           <resource>
               <directory>${basedir}/src/main/resources</directory>
           </resource>
           <resource>
               <targetPath>META-INF</targetPath>
               <directory>${basedir}</directory>
               <includes>
                   <include>LICENSE</include>
                   <include>NOTICE</include>
                   <include>DEPENDENCIES</include>
                   <include>changelog.txt</include>
               </includes>
           </resource>
           <!-- CSS and images for backwards compatibility -->
           <resource>
               <directory>${basedir}/src/main/compat</directory>
           </resource>
       </resources>
       <plugins>
           <!-- translate UTF-8 encoded properties files to ISO-8859-1 -->
           <plugin>
               <groupId>org.codehaus.mojo</groupId>
               <artifactId>native2ascii-maven-plugin</artifactId>
               <version>1.0-beta-1</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>native2ascii</goal>
                       </goals>
                       <configuration>
                           <encoding>UTF-8</encoding>
                       </configuration>
                   </execution>
               </executions>
           </plugin>
           <plugin>
               <groupId>org.apache.felix</groupId>
               <artifactId>maven-bundle-plugin</artifactId>
               <version>5.1.9</version>
               <extensions>true</extensions>
               <configuration>
                   <instructions>
                       <Bundle-SymbolicName>
                           ${project.artifactId}
                       </Bundle-SymbolicName>
                       <Bundle-Vendor>
                           The Apache Software Foundation
                       </Bundle-Vendor>
                       <Bundle-DocURL>
                           http://felix.apache.org/site/apache-felix-web-console.html
                       </Bundle-DocURL>
                       <Bundle-Activator>
                           org.apache.felix.webconsole.internal.OsgiManagerActivator
                       </Bundle-Activator>
                       <Export-Package>
                           ${webconsole.exports}
                       </Export-Package>
                       <!-- Import-Package header is also used for the all bundle -->
                       <Import-Package>
                           javax.servlet.*;version="[3,5)",
                           !javax.portlet,
                           !jakarta.servlet,
                           !jakarta.servlet.http,
                           !org.apache.felix.http.javaxwrappers,
                           !org.apache.felix.http.jakartawrappers,
                           !org.apache.felix.bundlerepository,
                           !org.osgi.service.obr,
                           !org.osgi.service.cm,
                           !org.osgi.service.condpermadmin,
                           !org.osgi.service.log,
                           !org.osgi.service.metatype,
                           !org.osgi.service.permissionadmin,
                           !org.osgi.service.prefs,
                           !org.osgi.service.wireadmin,
                           *
                       </Import-Package>
                       <!-- DynamicImport-Package header is also used for the all bundle -->
                       <DynamicImport-Package>
                           org.apache.felix.bundlerepository;version="[2.0,3)",
                           org.osgi.service.obr;version="[1.0,2)",
                           org.osgi.service.cm;version="[1.5,2)",
                           org.osgi.service.condpermadmin;version="[1.0,2)",
                           org.osgi.service.log;version="[1.3,2)",
                           org.osgi.service.metatype;version="[1.4,2)",
                           org.osgi.service.permissionadmin;version="[1.2,2)",
                           org.osgi.service.prefs;version="[1.1,2)",
                           org.osgi.service.wireadmin;version="[1.0,2)",
                           jakarta.servlet;version="[5,7)",
                           jakarta.servlet.http;version="[5,7)",
                           org.apache.felix.http.javaxwrappers;version="[1,2)",
                           org.apache.felix.http.jakartawrappers;version="[1,2)"
                       </DynamicImport-Package>
                       <Embed-Dependency>
                           org.apache.felix.utils;inline=org/apache/felix/utils/manifest/**,
                           org.apache.felix.utils;inline=org/apache/felix/utils/json/**
                       </Embed-Dependency>
                       <_removeheaders>
                           Embed-Dependency,Private-Package,Include-Resource
                       </_removeheaders>
                   </instructions>
               </configuration>
               <executions>
                   <execution>
                       <id>baseline</id>
                       <goals>
                           <goal>baseline</goal>
                       </goals>
                   </execution>
               </executions>
           </plugin>
           <plugin>
               <artifactId>maven-javadoc-plugin</artifactId>
               <configuration>
                   <excludePackageNames>
                       *.internal.*:*.internal
                   </excludePackageNames>
               </configuration>
           </plugin>
           <plugin>
               <groupId>org.apache.rat</groupId>
               <artifactId>apache-rat-plugin</artifactId>
               <configuration>
                   <includes>
                       <include>src/**</include>
                   </includes>
                   <excludes>
                       <exclude>src/main/appended-resources/**</exclude>
                       <exclude>src/main/resources/res/lib/jquery-3.6.1.js</exclude>
                       <exclude>src/main/resources/res/lib/jquery-migrate-3.4.0.js</exclude>
                       <exclude>src/main/resources/res/lib/jquery-ui-1.13.2.js</exclude>
                       <exclude>src/main/resources/res/lib/jquery-ui-i18n-1.12.1.js</exclude>
                       <exclude>src/main/resources/res/lib/autosize.min.js</exclude>
                       <exclude>src/main/resources/res/lib/jquery.cookies-2.2.0.js</exclude>
                       <exclude>src/main/resources/res/lib/jquery.multifile-1.4.6.js</exclude>
                       <exclude>src/main/resources/res/lib/jquery.tablesorter-2.0.3.js</exclude>
                       <exclude>src/main/resources/res/lib/reset-min.css</exclude>
                       <exclude>src/main/resources/res/lib/themes/**</exclude>
                       <exclude>src/main/resources/res/ui/ui.tabs.paging.js</exclude>
                       <exclude>src/main/resources/templates/*.html</exclude>
                       <exclude>src/main/debug-resources/res/lib/**</exclude>
                   </excludes>
               </configuration>
           </plugin>
       </plugins>
   </build>

  <profiles>
      <!--
          The "all-in-one-bundle" profile builds a bundle including certain
          3rd party libraries and classes, namely: Commons IO (needed by
          Commons FileUpload), Commons FileUpload.
          The "all-in-one-bundle" can be used in deployments where these
          dependencies need not be deployed separately.
      -->
      <profile>
          <id>all-in-one-bundle</id>
          <activation><activeByDefault>true</activeByDefault></activation>
          <build>
              <plugins>
                  <plugin>
                      <groupId>org.apache.felix</groupId>
                      <artifactId>maven-bundle-plugin</artifactId>
                      <executions>
                          <execution>
                              <id>all-in-one-bundle</id>
                              <goals>
                                  <goal>bundle</goal>
                              </goals>
                              <configuration>
                                  <classifier>all</classifier>
                                  <instructions>
                                      <Bundle-Name>
                                          ${project.name} (All In One)
                                      </Bundle-Name>
                                      <Bundle-Version>
                                          ${project.version}-all
                                      </Bundle-Version>
                                      <Export-Package>
                                          org.apache.commons.fileupload,
                                          org.apache.commons.fileupload.disk,
                                          org.apache.commons.fileupload.servlet,
                                          org.apache.commons.fileupload.util,
                                          org.apache.commons.io.*,
                                          org.apache.felix.inventory,
                                          ${webconsole.exports}
                                      </Export-Package>
                                      <Embed-Dependency>
                                          <!-- Import/Export-Package parsing -->
                                          org.apache.felix.utils;inline=org/apache/felix/utils/manifest/**,
                                          org.apache.felix.utils;inline=org/apache/felix/utils/json/**,
                                          org.apache.felix.inventory;inline=true,
                                          commons-fileupload;inline=true,
                                          commons-io;inline=true
                                      </Embed-Dependency>
                                      <_removeheaders>
                                          Embed-Dependency,Private-Package,Include-Resource
                                      </_removeheaders>
                                  </instructions>
                              </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>
                 -->
              </plugins>
           </build>
           <dependencies>
               <dependency>
                   <groupId>org.apache.felix</groupId>
                   <artifactId>org.apache.felix.inventory</artifactId>
                   <version>1.1.0</version>
                   <scope>provided</scope>
               </dependency>
           </dependencies>
       </profile>

      <!--
          The "debug" profile builds a bundle using the non-minified
          JQuery libraries and CSS files instead to make debugging
          JQuery related issues easier.
      -->
      <profile>
          <id>debug-bundle</id>
          <activation><activeByDefault>true</activeByDefault></activation>
          <build>
              <plugins>
                  <plugin>
                      <groupId>org.apache.felix</groupId>
                      <artifactId>maven-bundle-plugin</artifactId>
                      <executions>
                          <execution>
                              <id>debug-bundle</id>
                              <goals>
                                  <goal>bundle</goal>
                              </goals>
                              <configuration>
                                  <classifier>debug</classifier>
                                  <instructions>
                                      <Bundle-Name>
                                          ${project.name} (JQuery Debug)
                                      </Bundle-Name>
                                      <Bundle-Version>
                                          ${project.version}-debug
                                      </Bundle-Version>
                                      <Include-Resource>
                                          {maven-resources},
                                          res=src/main/debug-resources/res
                                      </Include-Resource>
                                  </instructions>
                              </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>
                 -->
              </plugins>
           </build>
       </profile>
   </profiles>

   <dependencies>
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.annotation.versioning</artifactId>
           <version>1.1.0</version>
           <scope>provided</scope>
       </dependency>

       <dependency>
           <groupId>javax.servlet</groupId>
           <artifactId>javax.servlet-api</artifactId>
           <version>3.1.0</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>jakarta.servlet</groupId>
           <artifactId>jakarta.servlet-api</artifactId>
           <version>${servlet.api}</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.apache.felix</groupId>
           <artifactId>org.apache.felix.http.wrappers</artifactId>
           <version>1.0.0</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>commons-fileupload</groupId>
           <artifactId>commons-fileupload</artifactId>
           <version>1.5</version>
           <scope>provided</scope>
       </dependency>

       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.11.0</version>
           <scope>provided</scope>
       </dependency>

       <dependency>
           <groupId>org.owasp.encoder</groupId>
           <artifactId>encoder</artifactId>
           <version>1.2.3</version>
           <scope>provided</scope>
       </dependency>

       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.service.log</artifactId>
           <version>1.3.0</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>osgi.core</artifactId>
           <version>7.0.0</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.service.http.whiteboard</artifactId>
           <version>1.1.1</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.service.cm</artifactId>
           <version>1.6.0</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.service.metatype</artifactId>
           <version>1.4.1</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.service.prefs</artifactId>
           <version>1.1.2</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.osgi</groupId>
           <artifactId>org.osgi.service.wireadmin</artifactId>
           <version>1.0.2</version>
           <scope>provided</scope>
       </dependency>

       <dependency>
           <groupId>org.apache.felix</groupId>
           <artifactId>org.apache.felix.shell</artifactId>
           <version>1.0.0</version>
           <scope>provided</scope>
       </dependency>

       <!--  Parsing Import/Export-Package headers -->
       <dependency>
           <groupId>org.apache.felix</groupId>
           <artifactId>org.apache.felix.utils</artifactId>
           <version>1.11.4</version>
           <scope>provided</scope>
           <optional>true</optional>
       </dependency>

       <!-- OSGi and Apache Felix OBR API -->
       <dependency>
           <groupId>org.apache.felix</groupId>
           <artifactId>org.osgi.service.obr</artifactId>
           <version>1.0.2</version>
           <scope>provided</scope>
       </dependency>
       <dependency>
           <groupId>org.apache.felix</groupId>
           <artifactId>org.apache.felix.bundlerepository</artifactId>
           <version>1.6.0</version>
           <scope>provided</scope>
           <optional>true</optional>
       </dependency>
       <dependency>
           <groupId>junit</groupId>
           <artifactId>junit</artifactId>
           <version>4.13.2</version>
           <scope>test</scope>
       </dependency>
       <dependency>
           <groupId>org.mockito</groupId>
           <artifactId>mockito-core</artifactId>
           <version>5.4.0</version>
           <scope>test</scope>
       </dependency>
   </dependencies>
</project>