<?xml version="1.0" encoding="UTF-8"?>

<!--
  ~ JBoss, Home of Professional Open Source.
  ~ Copyright 2010, Red Hat, Inc., and individual contributors
  ~ as indicated by the @author tags. See the copyright.txt file in the
  ~ distribution for a full listing of individual contributors.
  ~
  ~ This is free software; you can redistribute it and/or modify it
  ~ under the terms of the GNU Lesser General Public License as
  ~ published by the Free Software Foundation; either version 2.1 of
  ~ the License, or (at your option) any later version.
  ~
  ~ This software is distributed in the hope that it will be useful,
  ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
  ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  ~ Lesser General Public License for more details.
  ~
  ~ You should have received a copy of the GNU Lesser General Public
  ~ License along with this software; if not, write to the Free
  ~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  ~ 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  -->

<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">
  <modelVersion>4.0.0</modelVersion>

  <groupId>org.jboss.eap</groupId>
  <version>${PROJECT_VERSION}</version>
  <artifactId>wildfly-ee-aggregate-javadocs</artifactId>
  
  <name>WildFly: Build-aggregate-javadocs</name>
  
  <packaging>jar</packaging>

    <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <ee.maven.groupId>org.jboss.eap</ee.maven.groupId>
        <full.maven.groupId>org.jboss.eap</full.maven.groupId>
        <ee.maven.version>${project.version}</ee.maven.version>
        <full.maven.version>${project.version}</full.maven.version>
        <version.org.bitbucket.jose4j>0.9.3.redhat-00002</version.org.bitbucket.jose4j>
      </properties>

  <licenses>
      <license>
          <name>GNU Lesser General Public License v2.1 or later</name>
          <url>http://repository.jboss.org/licenses/lgpl-2.1.txt</url>
          <distribution>repo</distribution>
      </license>
  </licenses>

  <profiles>
    <profile>
      <id>javadocPomGen</id>
      <build>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <executions>
              <execution>
                <id>javadoc-pomgen</id>
                <phase>validate</phase>
                <configuration>
                  <target>
                    <echo message="Start to generate javadoc pom."/>
                    <!-- see org.wildfly.javadocs.pomgen.Main java doc for detail -->
                    <exec executable="java">
                      <arg value="org.wildfly.javadocs.pomgen.Main" />
                      <arg value="${wildfly-dist-dir}" />
                      <arg value="${wildfly-source-dir}"/>
                      <arg value="${wildfly-core-source-dir}"/>
                      <arg value="template-pom.xml" />
                    </exec>
                    <echo message="Finished generating javadoc pom."/>
                  </target>
                </configuration>
                <goals>
                  <goal>run</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>
    <profile>
      <id>javadocDist</id>
      <properties>
        <javadoc.branding>WildFly public API - ${project.version}</javadoc.branding>
      </properties>
      <build>
        <plugins>
          <plugin><!-- copy additional javadoc resources - LICENSE.txt -->
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-resources-plugin</artifactId>
           <executions>
             <execution>
               <id>copy-license-file</id>
               <phase>prepare-package</phase>
               <goals>
                 <goal>copy-resources</goal>
               </goals>
               <configuration>
                 <outputDirectory>${project.build.directory}/apidocs</outputDirectory>
                 <resources>
                   <resource>
                     <directory>${basedir}</directory>
                     <includes>
                       <include>LICENSE.txt</include>
                       <filter>false</filter>
                     </includes>
                   </resource>
                 </resources>
               </configuration>
             </execution>
          </executions>
          </plugin>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>${version.javadoc.plugin}</version>
            <executions>
              <execution>
                <id>javadocs-dist</id>
                <goals>
                  <goal>aggregate-jar</goal>
                </goals>
                <phase>package</phase>
                <configuration>
                  <archive>
                    <index>true</index>
                    <manifest>
                      <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
                      <addDefaultImplementationEntries>true</addDefaultImplementationEntries>
                    </manifest>
                    <manifestEntries>
                      <Implementation-URL>${project.url}</Implementation-URL>
                      <Java-Version>${java.version}</Java-Version>
                      <Java-Vendor>${java.vendor}</Java-Vendor>
                      <Os-Name>${os.name}</Os-Name>
                      <Os-Arch>${os.arch}</Os-Arch>
                      <Os-Version>${os.version}</Os-Version>
                      <Scm-Url>${jboss.as.scm.url}</Scm-Url>
                      <Scm-Connection>${project.scm.connection}</Scm-Connection>
                      <Scm-Revision>${buildNumber}</Scm-Revision>
                    </manifestEntries>
                  </archive>                  
                  <doclint>none</doclint>                  
                  <debug>true</debug>
                  <verbose>true</verbose>
                  <maxmemory>2400m</maxmemory>
                  <!-- To prevent problems with author names written in non-UTF-8:
                  -->
                  <encoding>UTF-8</encoding>

                  <windowtitle>${javadoc.branding} public API</windowtitle>
                  <doctitle>${javadoc.branding} public API</doctitle>
                  <header>${javadoc.branding}</header>
                  <footer>${javadoc.branding}</footer>

                  <dependencySourceFilesExcludes>
                    <!--<filesExclude>module-info.java</filesExclude>-->
                    <filesExclude>META-INF/versions/**/**.*</filesExclude>
                  </dependencySourceFilesExcludes>

                  <includeDependencySources>true</includeDependencySources>
                  <dependencySourceIncludes>
                    <!-- Filled by a script during creation of Javadoc. -->
                    <!--<include>commons-configuration:commons-configuration</include>-->
                  </dependencySourceIncludes>

                  <dependencySourceExcludes>
                    <!-- Filled by a script during creation of Javadoc. -->
                    <!-- manual exclusion for current -->
                    <!--<exclude>org.jboss.resteasy:resteasy-jaxrs</exclude>-->
                    <!--<exclude>joda-time:joda-time</exclude>-->
                    <!--<exclude>io.netty:netty-all</exclude>--> <!-- maven javadoc plugin fails if not exclude -->
                    <!--<exclude>org.jboss.narayana:jbosstxbridge</exclude>-->
                    <!--<exclude>dom4j:dom4j</exclude>-->
                    <!--<exclude>com.h2database:h2</exclude>-->
                    <!--<exclude>org.hornetq:hornetq-jms-server</exclude>-->
                    <!--<exclude>org.hibernate:hibernate-validator</exclude>-->
                    <!--<exclude>org.hibernate:hibernate-core</exclude>-->
                    <!--<exclude>org.bouncycastle:bcprov-jdk15on</exclude>-->
                    <!--<exclude>org.apache.wss4j:wss4j-ws-security-common</exclude>-->
                    <!--<exclude>org.apache.qpid:proton-j-impl</exclude>-->
                    <!--<exclude>org.opensaml:xmltooling</exclude>-->
                    <!--<exclude>org.opensaml:opensaml</exclude>-->
                    <!--<exclude>org.opensaml:openws</exclude>-->
                    <!--<exclude>org.jgroups:jgroups</exclude>-->
                    <!--<exclude>org.jboss.eap:jipijapa-eclipselink</exclude>-->
                    <exclude>org.jboss.eap:jipijapa-hibernate4-1</exclude> <!-- cause class file for org.hibernate.jpa.boot.archive.internal.StandardArchiveDescriptorFactory not found -->
                    <exclude>org.jboss.eap:jipijapa-hibernate4-3</exclude>
                    <!--<exclude>org.jboss.eap:jipijapa-openjpa</exclude>-->
                    <!--<exclude>org.apache.cxf:cxf-core</exclude>-->
                    <!--<exclude>org.jboss.openjdk-orb:openjdk-orb</exclude>-->
                    <!--<exclude>org.jboss.weld:weld-api</exclude>-->
                    <!--<exclude>org.jboss.weld:weld-core-impl</exclude>-->
                    <!--<exclude>org.wildfly.core:wildfly-controller-client</exclude>-->
                    <!--<exclude>org.wildfly.core:wildfly-core-security-api</exclude>-->
                    <!--<exclude>org.wildfly.core:wildfly-io</exclude>-->
                    <!--<exclude>org.wildfly.core:wildfly-request-controller</exclude>-->
                    <!--<exclude>org.wildfly.core:wildfly-self-contained</exclude>-->
                    <!--<exclude>com.github.spullara.mustache.java:compiler</exclude>-->
                    <!--<exclude>net.shibboleth.utilities:java-support</exclude>-->
                    <!--<exclude>org.apache.activemq:artemis-cli</exclude>-->
                    <!--<exclude>org.jboss:jboss-dmr</exclude>-->
                    <!--<exclude>io.undertow:undertow-core</exclude>-->
                    <exclude>org.eclipse.jdt.core.compiler:ecj</exclude> <!-- maven javadoc plugin fails if not exclude -->
                    <exclude>org.jboss.xnio:xnio-api</exclude> <!-- maven javadoc plugin fails if not exclude -->

                    <!-- Add manual exclusions to avoid Javadocs error in GA -->
                    <exclude>org.hibernate.orm:hibernate-core</exclude>
                    <exclude>org.jboss.openjdk-orb:openjdk-orb</exclude>
                    <exclude>org.infinispan:infinispan-query</exclude>
                    <exclude>org.infinispan:infinispan-core-jakarta</exclude>                                    
                    <!-- end manual exclusion -->

                  </dependencySourceExcludes>

                  <groups>
                    <!-- Filled by a script during creation of Javadoc. -->
                    <!--
                    <group>
                      <title>Module org.jboss.as.controller</title>
                      <packages>org.jboss.as.controller:org.jboss.as.controller.access</packages>
                    </group>
-->
                  </groups>
                  <sourceFileExcludes>
                    <!--<sourceFileExclude>**/module-info.java</sourceFileExclude>-->
                    <sourceFileExclude>**/META-INF/versions/**</sourceFileExclude>
                  </sourceFileExcludes>
                </configuration>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>org.jboss.eap</groupId>
            <artifactId>wildfly-elytron-oidc-client-subsystem</artifactId>
            <version>${full.maven.version}</version>
          </dependency>
          <dependency>
            <groupId>org.bitbucket.b_c</groupId>
            <artifactId>jose4j</artifactId>
            <version>${version.org.bitbucket.jose4j}</version>
          </dependency>
          <dependency>
            <groupId>${ee.maven.groupId}</groupId>
            <artifactId>wildfly-standard-ee-bom</artifactId>
            <version>${ee.maven.version}</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
          <dependency>
            <groupId>org.jboss.eap</groupId>
            <artifactId>jboss-eap-parent</artifactId>
            <version>${ee.maven.version}</version>
            <type>pom</type>
            <scope>import</scope>
          </dependency>
          <dependency>
            <groupId>jakarta.xml.bind</groupId>
            <artifactId>jakarta.xml.bind-api</artifactId>
            <version>3.0.1</version>
          </dependency>
          <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-linux-ppc64le</artifactId>
            <version>2.2.2.Final-redhat-00002</version>
          </dependency>
          <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-linux-rhel6-x86_64</artifactId>
            <version>2.2.2.Final-redhat-00002</version>
          </dependency>
          <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-linux-rhel7-x86_64</artifactId>
            <version>2.2.2.Final-redhat-00002</version>
          </dependency>
          <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-linux-rhel8-x86_64</artifactId>
            <version>2.2.2.Final-redhat-00002</version>
          </dependency>
          <dependency>
            <groupId>org.wildfly.openssl</groupId>
            <artifactId>wildfly-openssl-linux-rhel9-x86_64</artifactId>
            <version>2.2.2.Final-redhat-00002</version>
          </dependency>
        </dependencies>
      </dependencyManagement>
      <dependencies>
        <!-- Filled by a script during creation of Javadoc. -->
        <dependency>
          <groupId>com.oracle.substratevm</groupId>
          <artifactId>svm</artifactId>
          <version>1.0.0-rc9</version>
        </dependency>
        <dependency>
          <groupId>org.jboss</groupId>
          <artifactId>jdk-misc</artifactId>
          <version>3.Final</version>
        </dependency>
        <dependency>
          <groupId>ch.randelshofer</groupId>
          <artifactId>fastdoubleparser</artifactId>
          <version>0.9.0</version>
        </dependency>
        <dependency>
          <groupId>org.apache.lucene</groupId>
          <artifactId>lucene-highlighter</artifactId>
          <version>9.7.0</version>
        </dependency>
        <dependency>
          <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-log-annotation-processor</artifactId>
          <version>2.28.0</version>
        </dependency>
        <dependency>
          <groupId>javax.xml.bind</groupId>
          <artifactId>jaxb-api</artifactId>
          <version>2.3.0</version>
        </dependency>
        <dependency>
          <groupId>io.micrometer</groupId>
          <artifactId>micrometer-core</artifactId>
          <version>1.11.1</version>
        </dependency>
        <dependency>
          <groupId>org.kohsuke.metainf-services</groupId>
          <artifactId>metainf-services</artifactId>
          <version>1.9</version>
        </dependency>
        <dependency>
          <groupId>org.postgresql</groupId>
          <artifactId>postgresql</artifactId>
          <version>42.2.5</version>
        </dependency>
        <dependency>
          <groupId>org.osgi</groupId>
          <artifactId>org.osgi.service.component.annotations</artifactId>
          <version>1.4.0</version>
        </dependency>
        <dependency>
          <groupId>io.netty</groupId>
          <artifactId>netty-transport-native-kqueue</artifactId>
          <version>4.1.17.Final</version>
        </dependency>
        <dependency>
          <groupId>org.apache.qpid</groupId>
          <artifactId>qpid-jms-client</artifactId>
          <version>0.20.0</version>
        </dependency>
        <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-configuration2</artifactId>
          <version>2.7</version>
        </dependency>
        <dependency>
          <groupId>org.apache.ant</groupId>
          <artifactId>ant</artifactId>
          <version>1.9.9</version>
        </dependency>
        <dependency>
          <groupId>org.graalvm.sdk</groupId>
          <artifactId>graal-sdk</artifactId>
          <version>22.3.0</version>
        </dependency>
        <dependency>
          <groupId>javax.money</groupId>
          <artifactId>money-api</artifactId>
          <version>1.1</version>
        </dependency>
        <dependency>
          <groupId>org.jgroups</groupId>
          <artifactId>jgroups-raft</artifactId>
          <version>1.0.11.Final</version>
        </dependency>
        <dependency>
          <groupId>io.projectreactor.tools</groupId>
          <artifactId>blockhound</artifactId>
          <version>1.0.8.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>org.javassist</groupId>
          <artifactId>javassist</artifactId>
          <version>3.29.2-GA</version>
        </dependency>
        <dependency>
          <groupId>org.infinispan.protostream</groupId>
          <artifactId>protostream-processor</artifactId>
          <version>14.0.0.CR2</version>
        </dependency>
        <dependency>
          <groupId>org.hdrhistogram</groupId>
          <artifactId>HdrHistogram</artifactId>
          <version>2.1.12</version>
        </dependency>
        <dependency>
          <groupId>org.apache.commons</groupId>
          <artifactId>commons-jexl3</artifactId>
          <version>3.1</version>
        </dependency>
        <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-frontend-jaxrs</artifactId>
          <version>4.0.2</version>
        </dependency>
        <dependency>
          <groupId>com.hazelcast</groupId>
          <artifactId>hazelcast</artifactId>
          <version>5.3.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/commons-httpclient/commons-httpclient -->
        <dependency>
          <groupId>commons-httpclient</groupId>
          <artifactId>commons-httpclient</artifactId>
          <version>3.1</version>
        </dependency>
        <dependency>
          <groupId>io.airlift</groupId>
          <artifactId>airline</artifactId>
          <version>0.9</version>
        </dependency>
        <dependency>
          <groupId>io.undertow</groupId>
          <artifactId>undertow-parser-generator</artifactId>
          <version>2.3.7.Final</version>
        </dependency>
        <dependency>
          <groupId>io.opentelemetry</groupId>
          <artifactId>opentelemetry-context</artifactId>
          <version>1.27.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.mashona/mashona-logwriting -->
        <dependency>
          <groupId>io.mashona</groupId>
          <artifactId>mashona-logwriting</artifactId>
          <version>1.1.0</version>
        </dependency>
        <dependency>
          <groupId>io.netty.incubator</groupId>
          <artifactId>netty-incubator-transport-native-io_uring</artifactId>
          <version>0.0.21.Final</version>
        </dependency>
        <dependency>
          <groupId>com.thoughtworks.paranamer</groupId>
          <artifactId>paranamer</artifactId>
          <version>2.8</version>
        </dependency>
        <dependency>
          <groupId>io.opentelemetry</groupId>
          <artifactId>opentelemetry-api</artifactId>
          <version>1.27.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.infinispan/infinispan-logging-annotations -->
        <dependency>
          <groupId>org.infinispan</groupId>
          <artifactId>infinispan-logging-annotations</artifactId>
          <version>14.0.5.Final</version>
        </dependency>
        <dependency>
          <groupId>org.openjfx</groupId>
          <artifactId>javafx-base</artifactId>
          <version>11</version>
        </dependency>
        <dependency>
          <groupId>com.sun.xml.dtd-parser</groupId>
          <artifactId>dtd-parser</artifactId>
          <version>1.5.0</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-context</artifactId>
          <version>4.2.9.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>org.springframework</groupId>
          <artifactId>spring-beans</artifactId>
          <version>3.1.0.RELEASE</version>
        </dependency>
        <dependency>
          <groupId>com.sun.xml.bind</groupId>
          <artifactId>jaxb-extra-osgi</artifactId>
          <version>2.3.0</version>
        </dependency>
        <dependency>
          <groupId>org.jvnet</groupId>
          <artifactId>mimepull</artifactId>
          <version>1.6</version>
        </dependency>
        <dependency>
          <groupId>org.springframework.ldap</groupId>
          <artifactId>spring-ldap-core</artifactId>
          <version>2.4.1</version>
        </dependency>
        <dependency>
          <groupId>io.micrometer</groupId>
          <artifactId>micrometer-registry-prometheus</artifactId>
          <version>1.11.1</version>
        </dependency>
        <dependency>
          <groupId>javax.transaction</groupId>
          <artifactId>javax.transaction-api</artifactId>
          <version>1.3</version>
        </dependency>
        <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-rs-security-jose</artifactId>
          <version>4.0.2</version>
        </dependency>
        <dependency>
          <groupId>cglib</groupId>
          <artifactId>cglib</artifactId>
          <version>3.3.0</version>
        </dependency>
        <dependency>
          <groupId>com.sun.xml.bind</groupId>
          <artifactId>jaxb1-impl</artifactId>
          <version>2.2.5.1</version>
        </dependency>
        <dependency>
          <groupId>ch.qos.logback</groupId>
          <artifactId>logback-classic</artifactId>
          <version>1.4.8</version>
        </dependency>
        <dependency>
          <groupId>org.ehcache</groupId>
          <artifactId>ehcache</artifactId>
          <version>3.10.8</version>
        </dependency>
        <dependency>
          <groupId>xalan</groupId>
          <artifactId>xalan</artifactId>
          <version>2.7.3</version>
        </dependency>
        <dependency> <!-- need to add bcel -->
          <groupId>org.apache.bcel</groupId>
          <artifactId>bcel</artifactId>
          <version>5.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.annotation/javax.annotation-api -->
        <dependency>
          <groupId>javax.annotation</groupId>
          <artifactId>javax.annotation-api</artifactId>
          <version>1.3.2</version>
        </dependency>
        <dependency>
          <groupId>org.jboss.logging</groupId>
          <artifactId>jboss-logging-annotations</artifactId>
          <version>2.2.1.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/log4j/log4j -->
        <dependency>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
          <version>1.2.17</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/io.undertow/undertow-parser-generator -->
        <dependency>
          <groupId>io.undertow</groupId>
          <artifactId>undertow-parser-generator</artifactId>
          <version>2.2.19.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.eclipse.jetty.alpn/alpn-api -->
        <dependency>
          <groupId>org.eclipse.jetty.alpn</groupId>
          <artifactId>alpn-api</artifactId>
          <version>1.0.0</version>
        </dependency>
        <dependency>
          <groupId>org.osgi</groupId>
          <artifactId>org.osgi.framework</artifactId>
          <version>1.10.0</version>
        </dependency>
        <dependency>
          <groupId>javax.servlet</groupId>
          <artifactId>servlet-api</artifactId>
          <version>2.5</version>
      </dependency>
      </dependencies>
    </profile>

  </profiles>

</project>
