| <?xml version="1.0" encoding="UTF-8" standalone="no"?> |
| <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"> |
| <!-- KNOWN ISSUES: |
| "Production" tgz/zip files need to be copied to ant-like build/ |
| xalan-test integration |
| |
| Footnote: To get dependency tree from a multi-module project, use the |
| command "mvn compile dependency:tree" so everything is in scope. |
| --> |
| <packaging>pom</packaging> |
| |
| <modelVersion>4.0.0</modelVersion> |
| <groupId>xalan</groupId> |
| <artifactId>xalan-project</artifactId> |
| <version>2.7.3</version> |
| |
| <properties> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <stylebook.classpath> |
| "stylebook/stylebook-1.0-b3_xalan-2.jar${path.separator}serializer/target/classes${path.separator}xalan/target/classes${path.separator}" |
| </stylebook.classpath> |
| <maven-compiler-plugin.version>3.11.0</maven-compiler-plugin.version> |
| <exec-maven-plugin.version>3.1.0</exec-maven-plugin.version> |
| </properties> |
| |
| <modules> |
| <module>serializer</module> |
| <module>xalan</module> |
| <module>samples</module> |
| <!-- The binary mode of maven-assembly-plugin needs to run after all the |
| other modules have created their artifacts. Standard solution to |
| achieve this sequencing is to make it a separate module which |
| depends on all the others. See |
| https://maven.apache.org/plugins/maven-assembly-plugin/faq.html#module-binaries |
| --> |
| <module>distribution</module> |
| </modules> |
| |
| <profiles> |
| <profile> |
| <id>jdk8</id> |
| <activation> |
| <jdk>[,9)</jdk> |
| </activation> |
| <properties> |
| <xalan.taglet.artifactId>xalan2jtaglet</xalan.taglet.artifactId> |
| </properties> |
| <modules> |
| <module>xalan2jtaglet</module> |
| </modules> |
| </profile> |
| <profile> |
| <id>jdk9+</id> |
| <activation> |
| <jdk>[9,)</jdk> |
| </activation> |
| <properties> |
| <xalan.taglet.artifactId>xalan2jtaglet_jdk9</xalan.taglet.artifactId> |
| </properties> |
| <modules> |
| <module>xalan2jtaglet_jdk9</module> |
| </modules> |
| </profile> |
| <profile> |
| <id>create-docs</id> |
| <activation> |
| <!-- |
| Activate by default. Workaround for 'activeByDefault', which is broken |
| by design, see https://issues.apache.org/jira/browse/MNG-4917. |
| --> |
| <jdk>[1,)</jdk> |
| </activation> |
| <build> |
| <plugins> |
| <!-- StyleBook processing. |
| NOTE: Stylebook as it has been calls System.exit() on its way out. |
| That means running exec:java will malfunction since it'll blow out |
| the entire Maven process. Workaround is to invoke Stylebook from |
| the command line with exec:exec. Proper fix is to remove that |
| behavior from Stylebook's code and have it exit more cleanly, |
| or to have exec optionally fork a process for java. |
| The latter is in development. |
| --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>exec-maven-plugin</artifactId> |
| <version>${exec-maven-plugin.version}</version> |
| <inherited>false</inherited> <!-- Run only in xalan-project parent --> |
| <executions> |
| <execution> |
| <id>Xalan2 design documentation</id> |
| <phase>package</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>java</executable> |
| <commandlineArgs>-cp ${stylebook.classpath} org.apache.stylebook.StyleBook |
| loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./target/site/design/ |
| ./stylebook/sources/xalandesign.xml ./stylebook/style</commandlineArgs> |
| </configuration> |
| </execution> |
| |
| <execution> |
| <id>Xalan2 compiled (xsltc) documentation</id> |
| <phase>package</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>java</executable> |
| <commandlineArgs>-cp ${stylebook.classpath} org.apache.stylebook.StyleBook |
| loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./target/site/xsltc/ |
| ./stylebook/sources/xsltc.xml ./stylebook/style</commandlineArgs> |
| </configuration> |
| </execution> |
| <execution> |
| <id>Xalan2 interpretive documentation</id> |
| <phase>package</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>java</executable> |
| <commandlineArgs>-cp ${stylebook.classpath} org.apache.stylebook.StyleBook |
| loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./target/site/xalan |
| ./stylebook/sources/xalan-jsite.xml ./stylebook/style</commandlineArgs> |
| </configuration> |
| </execution> |
| |
| <!-- Diff tells me that the -jlocal output is almost |
| identical to the -jsite output despite the slight |
| difference in the .xml files used as their |
| sources. (The only effective difference appears to be |
| that -jlocal doesn't produce the index or charter |
| documents.) I'm not convinced that's enough difference |
| to merit generating both, but until I better grok why |
| this duplication was done in the first place I'm |
| hesitant to remove it. (jkesselm, 20231105) --> |
| <execution> |
| <id>Xalan2 interpretive documentation, local</id> |
| <phase>package</phase> |
| <goals> |
| <goal>exec</goal> |
| </goals> |
| <configuration> |
| <executable>java</executable> |
| <commandlineArgs>-cp ${stylebook.classpath} org.apache.stylebook.StyleBook |
| loaderConfig=sbk:/style/loaderdesign.xml targetDirectory=./target/site/xalan/local |
| ./stylebook/sources/xalan-jlocal.xml ./stylebook/style</commandlineArgs> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>integration-tests</id> |
| <activation> |
| <!-- |
| Activate by default. Workaround for 'activeByDefault', which is broken |
| by design, see https://issues.apache.org/jira/browse/MNG-4917. |
| --> |
| <jdk>[1,)</jdk> |
| </activation> |
| <modules> |
| <module>integration-tests</module> |
| </modules> |
| </profile> |
| </profiles> |
| |
| <build> |
| <pluginManagement> |
| <!-- Standardized configuration for plugins used by child modules, |
| though not invoked by parent module --> |
| <plugins> |
| <!-- Copy produced jarfile up to xalan-java/build/, |
| renaming to remove the version number, for |
| backward compatibility with things build for the |
| Ant builds. |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>3.6.1</version> |
| <executions> |
| <execution> |
| <id>copy-artifact</id> |
| <phase>package</phase> |
| <goals> |
| <goal>copy</goal> |
| </goals> |
| <configuration> |
| <artifactItems> |
| <artifactItem> |
| <!-- Copy built artifact to ../build --> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>${project.artifactId}</artifactId> |
| <version>${project.version}</version> |
| <type>${project.packaging}</type> |
| </artifactItem> |
| <artifactItem> |
| <!-- Also copy without the "-${project.version}" suffix |
| (but with the filetype), for backward compatibility |
| with Ant build's behavior |
| --> |
| <groupId>${project.groupId}</groupId> |
| <artifactId>${project.artifactId}</artifactId> |
| <version>${project.version}</version> |
| <type>${project.packaging}</type> |
| <!-- stripVersion does not seem to do what's needed, so: --> |
| <destFileName>${project.artifactId}.${project.packaging}</destFileName> |
| </artifactItem> |
| </artifactItems> |
| <outputDirectory>${rootlocation}/build</outputDirectory> |
| </configuration> |
| </execution> |
| <execution> |
| <id>copy-dependencies</id> |
| <phase>package</phase> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${rootlocation}/lib</outputDirectory> |
| <overWriteReleases>false</overWriteReleases> |
| <overWriteSnapshots>false</overWriteSnapshots> |
| <overWriteIfNewer>true</overWriteIfNewer> |
| <!-- Our own artifacts are in 'build' already --> |
| <excludeGroupIds>xalan</excludeGroupIds> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>${maven-compiler-plugin.version}</version> |
| <configuration> |
| <source>1.8</source> |
| <target>1.8</target> |
| </configuration> |
| </plugin> |
| <!-- Unit tests --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>3.2.2</version> |
| </plugin> |
| <!-- Integration tests using our own packaged JARs --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-invoker-plugin</artifactId> |
| <version>3.6.0</version> |
| </plugin> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>3.5.0</version> |
| <executions> |
| <execution> |
| <id>root-location</id> |
| <goals> |
| <goal>rootlocation</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| |
| <sourceDirectory>src/main/java</sourceDirectory> |
| <resources> |
| <resource> |
| <directory>META-INF</directory> |
| <includes> |
| <include>LICENSE.txt</include> |
| <include>NOTICE.txt</include> |
| </includes> |
| </resource> |
| <resource> |
| <directory>resources</directory> |
| <includes> |
| <include>**/*.properties</include> |
| </includes> |
| </resource> |
| </resources> |
| <plugins> |
| |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-site-plugin</artifactId> |
| <version>3.7.1</version> |
| </plugin> |
| |
| <!-- Maven finds this without assistance, but grumbles about |
| unspecified plugin version, so... --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-project-info-reports-plugin</artifactId> |
| <version>3.4.5</version> |
| </plugin> |
| |
| <!-- During cleaning phase, empty directories ./build and ./lib, which |
| are normally not present except in the parent module. |
| --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>3.3.2</version> |
| <configuration> |
| <filesets> |
| <fileset> |
| <directory>./build</directory> |
| <followSymlinks>false</followSymlinks> |
| </fileset> |
| <fileset> |
| <directory>./lib</directory> |
| <followSymlinks>false</followSymlinks> |
| </fileset> |
| </filesets> |
| </configuration> |
| </plugin> |
| |
| <!-- Two more files to copy to the site directory --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-resources-plugin</artifactId> |
| <version>3.0.2</version> |
| <executions> |
| <execution> |
| <id>copy-resources</id> |
| <phase>package</phase> |
| <goals> |
| <goal>copy-resources</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${basedir}/target/site/xsltc</outputDirectory> |
| <resources> |
| <resource> |
| <directory>stylebook/sources/xsltc</directory> |
| <includes> |
| <include>README.x*</include> |
| </includes> |
| </resource> |
| </resources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| </plugin> |
| |
| </plugins> |
| </build> |
| |
| <dependencyManagement> |
| <dependencies> |
| |
| <!-- Our own modules --> |
| <dependency> |
| <groupId>xalan</groupId> |
| <artifactId>serializer</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>xalan</groupId> |
| <artifactId>xalan</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>xalan</groupId> |
| <artifactId>samples</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| |
| <!-- Test dependencies --> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-engine</artifactId> |
| <version>5.10.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.junit.jupiter</groupId> |
| <artifactId>junit-jupiter-params</artifactId> |
| <version>5.10.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-core</artifactId> |
| <version>5.7.0</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-junit-jupiter</artifactId> |
| <version>5.7.0</version> |
| <scope>test</scope> |
| </dependency> |
| |
| </dependencies> |
| </dependencyManagement> |
| |
| <reporting> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.6.0</version> |
| <configuration> |
| |
| <!-- Mute "missing" javadoc errors. We have lots of 'em, and |
| they're a distraction from simply getting the Maven |
| build up and running. Open a jira task to fix this |
| later. GONK. --> |
| <doclint>none</doclint> |
| |
| <groups> |
| <group> |
| <title>XPath</title> |
| <packages>org.apache.xpath*</packages> |
| </group> |
| <group> |
| <title>Document Table Model (DTM)</title> |
| <packages>org.apache.xml.dtm*</packages> |
| </group> |
| <group> |
| <title>Utilities</title> |
| <packages>org.apache.xml.utils*</packages> |
| </group> |
| <group> |
| <title>Xalan Other</title> |
| <packages>org.apache.xalan.client:org:org.apache.xalan.extensions:org.apache.xalan.res:org.apache.xalan.stree:org.apache.xalan.trace:org.apache.xalan.xslt</packages> |
| </group> |
| <group> |
| <title>Xalan Extensions</title> |
| <packages>org.apache.xalan.lib*</packages> |
| </group> |
| <group> |
| <title>Serializers</title> |
| <packages>org.apache.xml.serialize*:org.apache.xalan.serialize</packages> |
| </group> |
| <group> |
| <title>SAX 2</title> |
| <packages>org.xml.sax*</packages> |
| </group> |
| <group> |
| <title>DOM 2</title> |
| <packages>org.w3c.dom*</packages> |
| </group> |
| <group> |
| <title>XSLTC Core</title> |
| <packages>org.apache.xalan.xsltc*</packages> |
| </group> |
| </groups> |
| |
| <!-- Locally provided taglet; see xalan2jtaglet and |
| xalan2jtaglet_jdk9 modules |
| --> |
| <taglets> |
| <taglet> |
| <tagletClass>xalan2jtaglet.XSLUsageTag</tagletClass> |
| </taglet> |
| </taglets> |
| <tagletArtifact> |
| <groupId>xalan</groupId> |
| <artifactId>${xalan.taglet.artifactId}</artifactId> |
| <version>${project.version}</version> |
| </tagletArtifact> |
| |
| <!-- FIXME: Without this exclude, the build only works if module |
| 'xalan2jtaglet' was first installed locally or deployed to |
| a remote repository. I.e., we have to use something like |
| 'mvn clean install site', at least for the taglet module. |
| 'mvn clean package site' on top level is not enough for a |
| build when the local Maven repo is clean. |
| --> |
| <excludePackageNames>xalan2jtaglet</excludePackageNames> |
| <!-- Necessary when building on JDK 9+ --> |
| <source>1.8</source> |
| </configuration> |
| |
| <reportSets> |
| <reportSet> |
| <id>aggregate</id> |
| <inherited>false</inherited> |
| <reports> |
| <report>aggregate</report> |
| </reports> |
| </reportSet> |
| <reportSet> |
| <id>default</id> |
| <reports> |
| <report>javadoc</report> |
| </reports> |
| </reportSet> |
| </reportSets> |
| </plugin> |
| </plugins> |
| </reporting> |
| |
| </project> |