Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1
-
None
-
Maven 2.2.1, Windows 7 (and NetBeans 6.9.1)
Description
If you have a multi language maven site and you'll try to build a pdf also with multiple locales only the default pdf.xml docDescriptor will be used for generating the pdfs.
Try following:
Create a directory layout like:
+- src/ +- site/ +- xdoc/ | +- index.xml (some default language content) | +- help.xml (some default language content) | +- foo.xml (some default language content) | +- de/ | +- xdoc/ | +- index.xml (some different content than default language) | +- help.xml (some different content than default language) | +- foo.xml (some different content than default language) +- site.xml (Default site descriptor) +- site_de.xml (German site descriptor) +- pdf.xml (Default pdf descriptor) +- pdf_de.xml (German pdf descriptor)
Content of pdf.xml:
see attachment pdf.xml
Content of pdf_de.xml:
see attachment pdf_de.xml
Content of pom.xml:
... <build> ... <plugins> ... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>2.2</version> <configuration> <locales>en,de</locales> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pdf-plugin</artifactId> <version>1.1</version> <configuration> <outputDirectory>${project.reporting.outputDirectory}</outputDirectory> <includeReports>false</includeReports> <aggregate>true</aggregate> <locales>en,de</locales> </configuration> <executions> <execution> <id>pdf</id> <phase>site</phase> <goals> <goal>pdf</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
If you now execute
mvn site
or
mvn pdf:pdf
and compare the two generated pdfs you'll see that the table of contents is the one from the pdf.xml in both pdfs. I guess in this case the file pdf_de.xml isn't used at anytime during the build, because the build (mvn site or mvn pdf:pdf) is also successful if you have syntax errors in the pdf_de.xml file, e.g. leave a item tag open in that file and build again.