<?xml version="1.0" encoding="UTF-8"?>
<!--
 * IronJacamar, a Java EE Connector Architecture implementation
 * Copyright 2020, 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>

    <parent>
        <groupId>org.jboss.ironjacamar</groupId>
        <artifactId>ironjacamar-common-parent</artifactId>
        <version>1.5.3.Final</version>
        <relativePath>../pom.xml</relativePath>
    </parent>

    <artifactId>ironjacamar-common-impl</artifactId>

    <name>IronJacamar: Common Implementation</name>

    <dependencies>
        <dependency>
            <groupId>${ironjacamar.groupId}</groupId>
            <artifactId>ironjacamar-common-api</artifactId>
            <version>${ironjacamar.version}</version>
        </dependency>
        <dependency>
            <groupId>${ironjacamar.groupId}</groupId>
            <artifactId>ironjacamar-common-spi</artifactId>
            <version>${ironjacamar.version}</version>
        </dependency>

        <dependency>
            <groupId>jakarta.validation</groupId>
            <artifactId>jakarta.validation-api</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss</groupId>
            <artifactId>jandex</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-annotations</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.logging</groupId>
            <artifactId>jboss-logging-processor</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.logmanager</groupId>
            <artifactId>jboss-logmanager</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.shrinkwrap.descriptors</groupId>
            <artifactId>shrinkwrap-descriptors-ant</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.spec.javax.resource</groupId>
            <artifactId>jboss-connector-api_1.7_spec</artifactId>
        </dependency>
        <dependency>
            <groupId>org.jboss.spec.javax.transaction</groupId>
            <artifactId>jboss-transaction-api_1.3_spec</artifactId>
        </dependency>

        <dependency>
            <groupId>org.jboss</groupId>
            <artifactId>jboss-common-core</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-antrun-plugin</artifactId>
                <executions>
                    <execution>
                        <phase>generate-sources</phase>
                        <configuration>
                            <tasks>
                                <taskdef name="metadata-parser"
                                         classname="org.jboss.shrinkwrap.descriptor.extension.ant.task.MetadataParserTask"
                                         classpathref="maven.compile.classpath"/>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/dtd/connector_1_0.dtd"
                                                    nameSpace="j2ee"
                                                    packageApi="org.jboss.shrinkwrap.descriptor.api.connector10"
                                                    packageImpl="org.jboss.shrinkwrap.descriptor.impl.connector10"
                                                    descriptorName="ConnectorDescriptor"
                                                    elementName="connector"
                                                    elementType="j2ee:connector"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor
                                                pathToXsd="${project.basedir}/src/main/resources/schema/j2ee_1_4.xsd"
                                                nameSpace="j2ee"
                                                packageApi="org.jboss.shrinkwrap.descriptor.api.j2ee14"
                                                packageImpl="org.jboss.shrinkwrap.descriptor.impl.j2ee14"
                                                generateClasses="true"/>
                                        <descriptor
                                                pathToXsd="${project.basedir}/src/main/resources/schema/connector_1_5.xsd"
                                                nameSpace="j2ee"
                                                packageApi="org.jboss.shrinkwrap.descriptor.api.connector15"
                                                packageImpl="org.jboss.shrinkwrap.descriptor.impl.connector15"
                                                descriptorName="ConnectorDescriptor"
                                                elementName="connector"
                                                elementType="j2ee:connectorType">
                                            <namespaces>
                                                <property name="xmlns" value="http://java.sun.com/xml/ns/j2ee"/>
                                                <property name="xmlns:xsi"
                                                          value="http://www.w3.org/2001/XMLSchema-instance"/>
                                                <property name="xsi:schemaLocation"
                                                          value="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/connector_1_5.xsd"/>
                                            </namespaces>
                                        </descriptor>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
					    pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor
                                                pathToXsd="${project.basedir}/src/main/resources/schema/javaee_6.xsd"
                                                nameSpace="javaee"
                                                packageApi="org.jboss.shrinkwrap.descriptor.api.javaee6"
                                                packageImpl="org.jboss.shrinkwrap.descriptor.impl.javaee6"
                                                generateClasses="true"/>
                                        <descriptor
                                                pathToXsd="${project.basedir}/src/main/resources/schema/connector_1_6.xsd"
                                                nameSpace="javaee"
                                                packageApi="org.jboss.shrinkwrap.descriptor.api.connector16"
                                                packageImpl="org.jboss.shrinkwrap.descriptor.impl.connector16"
                                                descriptorName="ConnectorDescriptor"
                                                elementName="connector"
                                                elementType="javaee:connectorType">
                                            <namespaces>
                                                <property name="xmlns" value="http://java.sun.com/xml/ns/javaee"/>
                                                <property name="xmlns:xsi"
                                                          value="http://www.w3.org/2001/XMLSchema-instance"/>
                                                <property name="xsi:schemaLocation"
                                                          value="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/connector_1_6.xsd"/>
                                            </namespaces>
                                        </descriptor>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/javaee_7.xsd"
                                                    nameSpace="javaee"
                                                    packageApi="org.jboss.shrinkwrap.descriptor.api.javaee7"
                                                    packageImpl="org.jboss.shrinkwrap.descriptor.impl.javaee7"
                                                    generateClasses="true"/>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/connector_1_7.xsd"
                                                    nameSpace="javaee"
                                                    packageApi="org.jboss.shrinkwrap.descriptor.api.connector17"
                                                    packageImpl="org.jboss.shrinkwrap.descriptor.impl.connector17"
                                                    descriptorName="ConnectorDescriptor"
                                                    elementName="connector"
                                                    elementType="javaee:connectorType">
                                            <namespaces>
                                                <property name="xmlns" value="http://java.sun.com/xml/ns/javaee"/>
                                                <property name="xmlns:xsi" value="http://www.w3.org/2001/XMLSchema-instance"/>
                                                <property name="xsi:schemaLocation" value="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/connector_1_7.xsd"/>
                                            </namespaces>
                                        </descriptor>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/ironjacamar_1_0.xsd"
                                                    nameSpace="ironjacamar"
                                                    packageApi="org.jboss.jca.embedded.dsl.ironjacamar10.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.ironjacamar10.impl"
                                                    descriptorName="IronjacamarDescriptor"
                                                    elementName="ironjacamar"
                                                    elementType="ironjacamar:ironjacamarType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/ironjacamar_1_1.xsd"
                                                    nameSpace="ironjacamar"
                                                    packageApi="org.jboss.jca.embedded.dsl.ironjacamar11.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.ironjacamar11.impl"
                                                    descriptorName="IronjacamarDescriptor"
                                                    elementName="ironjacamar"
                                                    elementType="ironjacamar:ironjacamarType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/ironjacamar_1_2.xsd"
                                                    nameSpace="ironjacamar"
                                                    packageApi="org.jboss.jca.embedded.dsl.ironjacamar12.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.ironjacamar12.impl"
                                                    descriptorName="IronjacamarDescriptor"
                                                    elementName="ironjacamar"
                                                    elementType="ironjacamar:ironjacamarType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/ironjacamar_1_3.xsd"
                                                    nameSpace="ironjacamar"
                                                    packageApi="org.jboss.jca.embedded.dsl.ironjacamar13.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.ironjacamar13.impl"
                                                    descriptorName="IronjacamarDescriptor"
                                                    elementName="ironjacamar"
                                                    elementType="ironjacamar:ironjacamarType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/resource-adapters_1_0.xsd"
                                                    nameSpace="resource-adapters"
                                                    packageApi="org.jboss.jca.embedded.dsl.resourceadapters10.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.resourceadapters10.impl"
                                                    descriptorName="ResourceAdaptersDescriptor"
                                                    elementName="resource-adapters"
                                                    elementType="resource-adapters:resource-adaptersType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/resource-adapters_1_1.xsd"
                                                    nameSpace="resource-adapters"
                                                    packageApi="org.jboss.jca.embedded.dsl.resourceadapters11.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.resourceadapters11.impl"
                                                    descriptorName="ResourceAdaptersDescriptor"
                                                    elementName="resource-adapters"
                                                    elementType="resource-adapters:resource-adaptersType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/resource-adapters_1_2.xsd"
                                                    nameSpace="resource-adapters"
                                                    packageApi="org.jboss.jca.embedded.dsl.resourceadapters12.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.resourceadapters12.impl"
                                                    descriptorName="ResourceAdaptersDescriptor"
                                                    elementName="resource-adapters"
                                                    elementType="resource-adapters:resource-adaptersType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/resource-adapters_1_3.xsd"
                                                    nameSpace="resource-adapters"
                                                    packageApi="org.jboss.jca.embedded.dsl.resourceadapters13.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.resourceadapters13.impl"
                                                    descriptorName="ResourceAdaptersDescriptor"
                                                    elementName="resource-adapters"
                                                    elementType="resource-adapters:resource-adaptersType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/datasources_1_0.xsd"
                                                    nameSpace="datasources"
                                                    packageApi="org.jboss.jca.embedded.dsl.datasources10.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.datasources10.impl"
                                                    descriptorName="DatasourcesDescriptor"
                                                    elementName="datasources"
                                                    elementType="datasources:datasourcesType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/datasources_1_1.xsd"
                                                    nameSpace="datasources"
                                                    packageApi="org.jboss.jca.embedded.dsl.datasources11.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.datasources11.impl"
                                                    descriptorName="DatasourcesDescriptor"
                                                    elementName="datasources"
                                                    elementType="datasources:datasourcesType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/datasources_1_2.xsd"
                                                    nameSpace="datasources"
                                                    packageApi="org.jboss.jca.embedded.dsl.datasources12.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.datasources12.impl"
                                                    descriptorName="DatasourcesDescriptor"
                                                    elementName="datasources"
                                                    elementType="datasources:datasourcesType"/>
                                    </descriptors>
                                </metadata-parser>

                                <metadata-parser verbose="false"
                                                 classpathref="maven.compile.classpath">
                                    <path pathToApi="${project.build.directory}/generated-sources/descriptors"
                                          pathToImpl="${project.build.directory}/generated-sources/descriptors"
                                          pathToServices="${project.build.directory}/generated-resources/META-INF/services"/>
                                    <descriptors>
                                        <descriptor pathToXsd="${project.basedir}/src/main/resources/schema/datasources_1_3.xsd"
                                                    nameSpace="datasources"
                                                    packageApi="org.jboss.jca.embedded.dsl.datasources13.api"
                                                    packageImpl="org.jboss.jca.embedded.dsl.datasources13.impl"
                                                    descriptorName="DatasourcesDescriptor"
                                                    elementName="datasources"
                                                    elementType="datasources:datasourcesType"/>
                                    </descriptors>
                                </metadata-parser>

                            </tasks>
                        </configuration>
                        <goals>
                            <goal>run</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>build-helper-maven-plugin</artifactId>
                <executions>
                    <execution>
                        <id>generate-sources</id>
                        <phase>generate-sources</phase>
                        <goals>
                            <goal>add-source</goal>
                        </goals>
                        <configuration>
                            <sources>
                                <source>${project.build.directory}/generated-sources/descriptors</source>
                            </sources>
                        </configuration>
                    </execution>
                <execution>
                    <id>generate-resources</id>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>add-resource</goal>
                    </goals>
                    <configuration>
                        <resources>
                            <resource>
                                <directory>${project.build.directory}/generated-resources/</directory>
                            </resource>
                        </resources>
                    </configuration>
                </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

</project>
