Hi Ichiroh, Yes, moving SimpleEUCEncoder.java to sun.nio.cs package would leave build tools untouched. But, I think that for platforms other than AIX, SimpleEUCEncoder.java in java.base module would not add any value.
- Bhaktavatsal -----Ichiroh Takiguchi <taki...@linux.vnet.ibm.com> wrote: ----- To: Bhaktavatsal R Maram/India/IBM@IBMIN From: Ichiroh Takiguchi <taki...@linux.vnet.ibm.com> Date: 05/11/2018 06:31AM Cc: Java Core Libs <core-libs-dev@openjdk.java.net> Subject: Re: [AIX] Add charset IBM-964 (default charset for zh_TW.IBM-eucTW) to stdcs Hello Bhaktavatsal. I think we should move from src/jdk.charsets/share/classes/sun/nio/cs/ext/SimpleEUCEncoder.java to src/java.base/share/classes/sun/nio/cs/SimpleEUCEncoder.java instead of moving to src/jdk.charsets/share/classes/sun/nio/cs/ext/SimpleEUCEncoder.java.template Then we don't need to touch following files make/jdk/src/classes/build/tools/charsetmapping/Main.java make/jdk/src/classes/build/tools/charsetmapping/SRC.java I think SimpleEUCEncoder.java is not large file, so it can be moved to java.base module. What do you think ? On 2018-05-10 22:35, Bhaktavatsal R Maram wrote: > Hi All, > > In bug 8201540 (Extend the set of supported charsets in java.base on > AIX)[1] we moved default charsets that are available in OpenJDK to > java.base module except to IBM964. Charset IBM964 is bit tricky. Its > Encoder is extended from sun.nio.cs.ext.SimpleEUCEncoder. So, > SimpleEUCEncoder also should be moved along with IBM964 to sun.nio.cs. > However, there is another charset IBM33722 which should always in > sun.nio.cs.ext whose encoder also extends SimpleEUCEncoder. > > Hence, the challenge is that sun.nio.cs.ext.IBM33722 should import > SimpleEUCEncoder from either sun.nio.cs or sun.nio.cs.ext based on the > location of IBM964. > > On AIX, following should be the package locations > sun.nio.cs.IBM964 > sun.nio.cs.SimpleEUCEncoder > sun.nio.cs.ext.IBM33722 imports sun.nio.cs.SimpleEUCEncoder > > On Linux (and other platforms), following should be the package > locations > sun.nio.cs.ext.IBM964 > sun.nio.cs.ext.SimpleEUCEncoder > sun.nio.cs.ext.IBM33722 imports sun.nio.cs.ext.SimpleEUCEncoder > > To achieve this, I've changed all source files involved to templates. > And, I also modified build tools to check if IBM964 is moved to stdcs > or not and handled import statement of SimpleEUCEncoder in > sun.nio.cs.ext.IBM33722 accordingly. > > Patch can be found here [2]. Please review. After jira bug is opened, > I'll host it again with bug ID. > > With this change, java -version is successful on locale > zh_TW.IBM-eucTW. > > -bash-4.4$ LANG=zh_TW.IBM-eucTW > ~/openjdk/jdk11/build/aix-ppc64-normal-server-release/jdk/bin/java > -version > openjdk version "11-internal" 2018-09-25 > OpenJDK Runtime Environment (build 11-internal+0-adhoc.bhamaram.jdk11) > OpenJDK 64-Bit Server VM (build 11-internal+0-adhoc.bhamaram.jdk11, > mixed mode) > > > [1] https://bugs.openjdk.java.net/browse/JDK-8201540 > [2] http://cr.openjdk.java.net/~aleonard/AIXIBM964/webrev.01/ > > Thanks, > Bhaktavatsal Reddy