[MJAVADOC-544] - Changed behaviour of Javadoc for temporary files encoding (options, argfile, ...) by michael-st · Pull Request #10 · apache/maven-javadoc-plugin (original) (raw)
too bad...
The error message occurs when compiling the file "/src/test/resources/unit/argfileumlautencoding-test/argfileumlautencoding/test/Appäöü�.java".
The compiler complains about a name mismatch between class "Appäöüß" and the filename "AppäöüÃ�.java".
This is a charset-problem, which occurs only in the linux environment.
I tried to reproduce the problem:
The build passes when I execute the maven build in a docker container (image: maven:3-jdk-9-slim) in which the LANG is set to C.UTF-8.
If I change the LANG-environment variable in the container ("export LANG=en_US.ISO-8859-1") - the build fails.
FROM maven:3-jdk-9-slim
RUN echo $LANG
> C.UTF-8
RUN apt update && apt install -y git && echo dirty no cleanup of apt
RUN git clone https://github.com/michael-st/maven-javadoc-plugin.git
RUN cd maven-javadoc-plugin
RUN git checkout MJAVADOC-544
RUN mvn -Dtest=org.apache.maven.plugins.javadoc.JavadocReportTest#testArgfileUmlautEncoding clean test
> build passes
RUN export LANG=en_US.ISO-8859-1
RUN echo $LANG
> en_US.ISO-8859-1
RUN mvn -Dtest=org.apache.maven.plugins.javadoc.JavadocReportTest#testArgfileUmlautEncoding clean test
> build fails
I tried to convert the file itself and the corresponding .xml-file to ISO-8859-1, but that did not go well either.
At the moment I'm out of ideas and I don't think that I can find a working solution for this (besides setting the LANG to ...UTF-8 in the build environment).
My initial problem was only related to the options file, which would be fixed with this pull request.
For this all tests should pass (hopefully).
So, for this issue, I have removed the special handling for argfile, which would only be needed if someone is using special characters in java class names.
I also modified the commit message to reflect this change.
Is this course of action okay?