| <?xml version="1.0" encoding="UTF-8"?> | |
| <!-- | |
| Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved. | |
| This program and the accompanying materials are made available under the | |
| terms of the Eclipse Public License v. 2.0, which is available at | |
| http://www.eclipse.org/legal/epl-2.0. | |
| This Source Code may also be made available under the following Secondary | |
| Licenses when the conditions for such availability set forth in the | |
| Eclipse Public License v. 2.0 are satisfied: GNU General Public License, | |
| version 2 with the GNU Classpath Exception, which is available at | |
| https://www.gnu.org/software/classpath/license.html. | |
| SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0 | |
| --> | |
| <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.glassfish.main.appclient</groupId> | |
| <artifactId>client</artifactId> | |
| <version>6.2.6-SNAPSHOT</version> | |
| </parent> | |
| <artifactId>acc-config</artifactId> | |
| <packaging>glassfish-jar</packaging> | |
| <name>ACC Config Classes (JAXB)</name> | |
| <developers> | |
| <developer> | |
| <id>tjquinn</id> | |
| <name>Tim Quinn</name> | |
| <url>http://blogs.sun.com/quinn</url> | |
| <organization>Oracle, Inc.</organization> | |
| <roles> | |
| <role>lead</role> | |
| <role>developer</role> | |
| </roles> | |
| </developer> | |
| </developers> | |
| <!-- | |
| This module contains classes for the app client configuration XML, | |
| generated using JAXB from sun-application-client-container_x_y.dtd. | |
| --> | |
| <properties> | |
| <extracted-dtd-root>target/extracted</extracted-dtd-root> | |
| <extracted-dtd-top-level-directory>${extracted-dtd-root}/glassfish</extracted-dtd-top-level-directory> | |
| <extracted-dtd-directory>${extracted-dtd-top-level-directory}/lib/dtds</extracted-dtd-directory> | |
| <dtd-for-jaxb-compilation>glassfish-application-client-container_1_3.dtd</dtd-for-jaxb-compilation> | |
| <config-dtd-file>*-application-client-container*.dtd</config-dtd-file> | |
| <added-test-classpath>${project.basedir}/${extracted-dtd-root}</added-test-classpath> | |
| <findbugs.exclude>${project.basedir}/exclude.xml</findbugs.exclude> | |
| </properties> | |
| <dependencies> | |
| <!-- | |
| We depend on the deployment/dtds module which contains the sun-application-client-container_1_2.dtd | |
| and glassfish-application-client-container_1_3.dtd. | |
| We use that for generating JAXB classes but we do not want to package the DTD with the ACC module, nor | |
| do we want the ACC module depending on the deploymenet/dtds module at runtime. | |
| Note the scope is "provided" to indicate this. | |
| --> | |
| <dependency> | |
| <groupId>org.glassfish.main.deployment</groupId> | |
| <artifactId>appserver-dtds</artifactId> | |
| <version>${project.version}</version> | |
| <type>zip</type> | |
| <scope>provided</scope> | |
| </dependency> | |
| <dependency> | |
| <groupId>jakarta.xml.bind</groupId> | |
| <artifactId>jakarta.xml.bind-api</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>com.sun.xml.bind</groupId> | |
| <artifactId>jaxb-osgi</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.junit.jupiter</groupId> | |
| <artifactId>junit-jupiter-engine</artifactId> | |
| </dependency> | |
| <dependency> | |
| <groupId>org.hamcrest</groupId> | |
| <artifactId>hamcrest</artifactId> | |
| </dependency> | |
| </dependencies> | |
| <build> | |
| <resources> | |
| <resource> | |
| <directory>src/main/java</directory> | |
| <includes> | |
| <include>**/*.properties</include> | |
| </includes> | |
| </resource> | |
| </resources> | |
| <plugins> | |
| <!-- Extracts the DTD(s) from the deployment/dtds module into | |
| a temp file. The "generate" phase will use it to create JAXB classes. Unit | |
| tests use both DTDs for parse testing. --> | |
| <plugin> | |
| <artifactId>maven-dependency-plugin</artifactId> | |
| <executions> | |
| <execution> | |
| <id>unpack-dtd</id> | |
| <phase>initialize</phase> <!-- make sure this is before generate --> | |
| <goals> | |
| <goal>unpack</goal> | |
| </goals> | |
| <configuration> | |
| <artifactItems> | |
| <artifactItem> | |
| <groupId>org.glassfish.main.deployment</groupId> | |
| <artifactId>appserver-dtds</artifactId> | |
| <version>${project.version}</version> | |
| <type>zip</type> | |
| <includes>**/${config-dtd-file}</includes> | |
| <overWrite>true</overWrite> | |
| <outputDirectory>${extracted-dtd-root}</outputDirectory> | |
| </artifactItem> | |
| </artifactItems> | |
| </configuration> | |
| </execution> | |
| </executions> | |
| </plugin> | |
| <!-- Generates JAXB classes based on the ACC configuration file | |
| DTD. --> | |
| <!-- | |
| XXX: no maven plugin for jakarta xml binding impl exists, | |
| so we have to stick with Ant | |
| and attach source root to the build ourselves... | |
| --> | |
| <plugin> | |
| <artifactId>maven-antrun-plugin</artifactId> | |
| <dependencies> | |
| <dependency> | |
| <groupId>com.sun.xml.bind</groupId> | |
| <artifactId>jaxb-xjc</artifactId> | |
| <version>${jakarta.jaxb-impl.version}</version> | |
| </dependency> | |
| </dependencies> | |
| <executions> | |
| <execution> | |
| <id>xjc-gen-for-glassfish-acc</id> | |
| <phase>generate-sources</phase> | |
| <goals> | |
| <goal>run</goal> | |
| </goals> | |
| <configuration> | |
| <target> | |
| <taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="maven.plugin.classpath"/> | |
| <property name="dest" location="${project.build.directory}/generated-sources/xjc"/> | |
| <mkdir dir="${dest}"/> | |
| <xjc destdir="${dest}" fork="true" | |
| schema="${project.basedir}/${extracted-dtd-directory}/${dtd-for-jaxb-compilation}" | |
| package="org.glassfish.appclient.client.acc.config"> | |
| <binding dir="${project.basedir}/src/main/resources" includes="configBindings.xml"/> | |
| <arg value="-dtd"/> | |
| <jvmarg value="-DenableExternalEntityProcessing=true"/> | |
| </xjc> | |
| </target> | |
| </configuration> | |
| </execution> | |
| </executions> | |
| </plugin> | |
| <plugin> | |
| <groupId>org.codehaus.mojo</groupId> | |
| <artifactId>build-helper-maven-plugin</artifactId> | |
| <executions> | |
| <execution> | |
| <id>add-sources</id> | |
| <phase>generate-sources</phase> | |
| <goals> | |
| <goal>add-source</goal> | |
| </goals> | |
| <configuration> | |
| <sources> | |
| <source>${project.build.directory}/generated-sources/xjc</source> | |
| </sources> | |
| </configuration> | |
| </execution> | |
| </executions> | |
| </plugin> | |
| <plugin> | |
| <artifactId>maven-surefire-plugin</artifactId> | |
| <configuration> | |
| <additionalClasspathElements> | |
| <additionalClasspathElement>${added-test-classpath}</additionalClasspathElement> | |
| </additionalClasspathElements> | |
| </configuration> | |
| </plugin> | |
| </plugins> | |
| </build> | |
| </project> |