Skip to content
  • pwendler's avatar
    Prepare for Java 18 and JEP 400 (https://openjdk.java.net/jeps/400) · 59e4fbb5
    pwendler authored
    JEP 400 changes the result of Charset.defaultCharset()
    from the system's default encoding to UTF-8.
    This has no effect on most Linux systems,
    and I think it is fine for CPAchecker if its textual output files
    are always in UTF-8.
    However, this also changes what encoding is used when communicating
    with other processes via stdin/stdout
    (on non-UTF-8 systems like Windows, at least)
    and this might be a problem, because other tools likely expect the
    system's default encoding to be used for stdin/stdout.
    Of course, the problem is likely to be small for CPAchecker
    because non-ASCII characters are expected to occur rarely,
    but it is still better to be safe.
    
    This change mainly updates SoSy-Lab Common to a version
    where ProcessExecutor always uses the system's default encoding,
    even on Java 18.
    Furthermore, we add a warning if users manually fiddle with encoding
    settings, because this would mean that output files would no longer be
    consistently in UTF-8 as they are supposed to be when using Java 18.
    
    For more information about this cf. https://openjdk.java.net/jeps/400.
    
    git-svn-id: https://svn.sosy-lab.org/software/cpachecker/trunk@39743 4712c6d2-40bb-43ae-aa4b-fec3f1bdfe4c
    59e4fbb5
To find the state of this project's repository at the time of any of these versions, check out the tags.