Thu, 08 Jun 2017 13:45:15 -0700
Merge
.hgtags | file | annotate | diff | comparison | revisions |
1.1 --- a/.hgtags Tue Dec 13 12:53:03 2016 -0800 1.2 +++ b/.hgtags Thu Jun 08 13:45:15 2017 -0700 1.3 @@ -667,11 +667,44 @@ 1.4 b353281f73db9617d993353e468342d3420c29f1 jdk8u112-b14 1.5 6116c6644be0c85556931aaeb9b4f2dbc9c79157 jdk8u112-b15 1.6 ee37eafc48cb6fb20cb6c1e31cfecfe1ccc800da jdk8u112-b16 1.7 +de1c3df992adb0c704005583210d1ed6dac758cd jdk8u112-b31 1.8 5710d574a99aeff3600c49a4aed34fa1b373f7b8 jdk8u121-b00 1.9 ab5d32d8cf5f6d81482692f801385a869b2d83c1 jdk8u121-b01 1.10 e260d46661d2da3ede78aae434d5420acce99950 jdk8u121-b02 1.11 0acfd50d67d98259a25fbd51129b763bab56d068 jdk8u121-b03 1.12 29a08aff06088cad98dafddef7628b51e324fcae jdk8u121-b04 1.13 +a933635275c33e37c9403767d600a12b9ee71df7 jdk8u121-b05 1.14 +dc1dd2e6cf8e094c4a8437d54ebc7bac1f7ab964 jdk8u121-b06 1.15 +6cd0cd4078e9ec8ad9fa167cabf9c671ed21fc66 jdk8u121-b07 1.16 +8efc10efbfe137ed5de6bf55875fdafd25bb6a1b jdk8u121-b08 1.17 +57a26fe61f2b435332c0697e92965a22246cd143 jdk8u121-b09 1.18 +53c94a674d6076ff390c62a7682ea0e87a893cdc jdk8u121-b10 1.19 +b634abfcd98fb8b201da9208e398ea17cabd2b32 jdk8u121-b11 1.20 +7fc347da372c8c4e5530a7fa32084b5dbc4ee8b6 jdk8u121-b12 1.21 +f634736433d9fc1cffbdc55611f97ecb2cd44059 jdk8u121-b13 1.22 8b331e7199f74a2dea8a8a866f0d7f1977f146ee jdk8u131-b00 1.23 +0d04068f82fe680c65619e08ef012ead7483873b jdk8u131-b01 1.24 +452448c6347af8f7bd827dd4632ac06c991a15b8 jdk8u131-b02 1.25 +38ea0481f6438a6379941d5c6cfc3078ab384027 jdk8u131-b03 1.26 +f85da82b8218301a785ef925f8f3d8a59d6d3345 jdk8u131-b04 1.27 +5a4e3151102973a2e0420272b044d1db94337e74 jdk8u131-b05 1.28 +dd55d0995340fa86eb7e8bb41a7205dd724a4883 jdk8u131-b06 1.29 +bc4f253725f93d9b832ec60d521cd5426a9489ea jdk8u131-b07 1.30 +3a62189765a88f393a51923f98020ad7b2d4fc7d jdk8u131-b08 1.31 +2f2c4931d13c44bb6a0f808809e723de0677e302 jdk8u131-b09 1.32 +676a07884de49a7c60379da8ac892fe1403de6b6 jdk8u131-b10 1.33 +5162417b51bdf68b95696198181f2e662a14ff8a jdk8u131-b11 1.34 1175fac90fdbbd864f7b1f306397644d26eb9781 jdk8u141-b00 1.35 +bb163efa3276e129c69bad28299a6283b869caa3 jdk8u141-b01 1.36 +5864e3781953daa69efd54b329a358a568229268 jdk8u141-b02 1.37 +4378c8e874a5c13409b651a47b4b388f17904da1 jdk8u141-b03 1.38 +d89ea3127a93d7ea6f2b89ee3adc673136833933 jdk8u141-b04 1.39 +b8e0348df792b1c5f95cd7d77d5c05da1d435d32 jdk8u141-b05 1.40 +13b638c8e005d48be437db11835a63721ca10086 jdk8u141-b06 1.41 +4d04a70e3207dcb46b71e6f9ad04bf0e130cf389 jdk8u141-b07 1.42 +e2abef6f10b9b2946ce8f5f851af67a764bbe57d jdk8u141-b08 1.43 +1df48afb34a0778df6c97a2c96c483a177135431 jdk8u141-b09 1.44 +479c13a68ca457526d49d8e2c7034a365bf0233d jdk8u141-b10 1.45 +2cc58a0fdfd6e7e2d21a254f6830ba51c2b3612f jdk8u141-b11 1.46 +b5259d2465fa61256f485860f986bd575f13fe92 jdk8u141-b12 1.47 4d69601f88c30e9f05e3b56c6d38a2f3eb47d477 jdk8u151-b00
2.1 --- a/THIRD_PARTY_README Tue Dec 13 12:53:03 2016 -0800 2.2 +++ b/THIRD_PARTY_README Thu Jun 08 13:45:15 2017 -0700 2.3 @@ -3318,12 +3318,12 @@ 2.4 2.5 ------------------------------------------------------------------------------- 2.6 2.7 -%% This notice is provided with respect to zlib v1.2.8, which may be included 2.8 +%% This notice is provided with respect to zlib v1.2.11, which may be included 2.9 with JRE 8, JDK 8, and OpenJDK 8. 2.10 2.11 --- begin of LICENSE --- 2.12 2.13 - version 1.2.8, April 28th, 2013 2.14 + version 1.2.11, January 15th, 2017 2.15 2.16 Copyright (C) 1995-2013 Jean-loup Gailly and Mark Adler 2.17
3.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties Tue Dec 13 12:53:03 2016 -0800 3.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_ja.properties Thu Jun 08 13:45:15 2017 -0700 3.3 @@ -27,6 +27,7 @@ 3.4 doclet.Building_Tree=\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u3068\u30AF\u30E9\u30B9\u306E\u968E\u5C64\u30C4\u30EA\u30FC\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059... 3.5 doclet.Building_Index=\u5168\u30D1\u30C3\u30B1\u30FC\u30B8\u3068\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059... 3.6 doclet.Building_Index_For_All_Classes=\u5168\u30AF\u30E9\u30B9\u306E\u30A4\u30F3\u30C7\u30C3\u30AF\u30B9\u3092\u4F5C\u6210\u3057\u3066\u3044\u307E\u3059... 3.7 +doclet.JavaScript_in_option={0}\u306E\u5F15\u6570\u306BJavaScript\u304C\u542B\u307E\u308C\u3066\u3044\u307E\u3059\u3002\n--allow-script-in-comments\u3092\u4F7F\u7528\u3057\u3066\u3001JavaScript\u306E\u4F7F\u7528\u3092\u8A31\u53EF\u3057\u3066\u304F\u3060\u3055\u3044\u3002 3.8 doclet.sourcetab_warning=-sourcetab\u306E\u5F15\u6570\u306F0\u3088\u308A\u5927\u304D\u3044\u6574\u6570\u3067\u3042\u308B\u5FC5\u8981\u304C\u3042\u308A\u307E\u3059\u3002 3.9 doclet.Packages=\u30D1\u30C3\u30B1\u30FC\u30B8 3.10 doclet.Profiles=\u30D7\u30ED\u30D5\u30A1\u30A4\u30EB
4.1 --- a/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties Tue Dec 13 12:53:03 2016 -0800 4.2 +++ b/src/share/classes/com/sun/tools/doclets/internal/toolkit/resources/doclets_zh_CN.properties Thu Jun 08 13:45:15 2017 -0700 4.3 @@ -27,6 +27,7 @@ 4.4 doclet.Building_Tree=\u6B63\u5728\u6784\u5EFA\u6240\u6709\u7A0B\u5E8F\u5305\u548C\u7C7B\u7684\u6811... 4.5 doclet.Building_Index=\u6B63\u5728\u6784\u5EFA\u6240\u6709\u7A0B\u5E8F\u5305\u548C\u7C7B\u7684\u7D22\u5F15... 4.6 doclet.Building_Index_For_All_Classes=\u6B63\u5728\u6784\u5EFA\u6240\u6709\u7C7B\u7684\u7D22\u5F15... 4.7 +doclet.JavaScript_in_option={0} \u7684\u53C2\u6570\u5305\u542B JavaScript\u3002\n\u4F7F\u7528 --allow-script-in-comments \u53EF\u5141\u8BB8\u4F7F\u7528 JavaScript\u3002 4.8 doclet.sourcetab_warning=-sourcetab \u7684\u53C2\u6570\u5FC5\u987B\u662F\u5927\u4E8E 0 \u7684\u6574\u6570\u3002 4.9 doclet.Packages=\u7A0B\u5E8F\u5305 4.10 doclet.Profiles=\u914D\u7F6E\u6587\u4EF6
5.1 --- a/src/share/classes/com/sun/tools/javac/code/Types.java Tue Dec 13 12:53:03 2016 -0800 5.2 +++ b/src/share/classes/com/sun/tools/javac/code/Types.java Thu Jun 08 13:45:15 2017 -0700 5.3 @@ -1067,7 +1067,7 @@ 5.4 List<Type> argtypes = msym.type.getParameterTypes(); 5.5 return (msym.flags_field & NATIVE) != 0 && 5.6 msym.owner == syms.methodHandleType.tsym && 5.7 - argtypes.tail.tail == null && 5.8 + argtypes.length() == 1 && 5.9 argtypes.head.hasTag(TypeTag.ARRAY) && 5.10 msym.type.getReturnType().tsym == syms.objectType.tsym && 5.11 ((ArrayType)argtypes.head).elemtype.tsym == syms.objectType.tsym;
6.1 --- a/src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties Tue Dec 13 12:53:03 2016 -0800 6.2 +++ b/src/share/classes/com/sun/tools/javadoc/resources/javadoc_ja.properties Thu Jun 08 13:45:15 2017 -0700 6.3 @@ -1,5 +1,5 @@ 6.4 # 6.5 -# Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. 6.6 +# Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. 6.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6.8 # 6.9 # This code is free software; you can redistribute it and/or modify it 6.10 @@ -81,6 +81,7 @@ 6.11 javadoc.Body_missing_from_html_file=HTML\u306Bbody\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093 6.12 javadoc.End_body_missing_from_html_file=HTML\u30D5\u30A1\u30A4\u30EB\u306Bbody\u306E\u9589\u3058\u30BF\u30B0\u304C\u3042\u308A\u307E\u305B\u3093 6.13 javadoc.Multiple_package_comments=\u30D1\u30C3\u30B1\u30FC\u30B8"{0}"\u306B\u8907\u6570\u306E\u30D1\u30C3\u30B1\u30FC\u30B8\u30FB\u30B3\u30E1\u30F3\u30C8\u306E\u30BD\u30FC\u30B9\u304C\u691C\u51FA\u3055\u308C\u307E\u3057\u305F 6.14 +javadoc.JavaScript_in_comment=\u30C9\u30AD\u30E5\u30E1\u30F3\u30C8\u30FB\u30B3\u30E1\u30F3\u30C8\u306BJavaScript\u304C\u898B\u3064\u304B\u308A\u307E\u3057\u305F\u3002\n--allow-script-in-comments\u3092\u4F7F\u7528\u3057\u3066\u3001JavaScript\u306E\u4F7F\u7528\u3092\u8A31\u53EF\u3057\u3066\u304F\u3060\u3055\u3044\u3002 6.15 javadoc.class_not_found=\u30AF\u30E9\u30B9{0}\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3002 6.16 javadoc.error=\u30A8\u30E9\u30FC 6.17 javadoc.warning=\u8B66\u544A
7.1 --- a/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Tue Dec 13 12:53:03 2016 -0800 7.2 +++ b/src/share/classes/com/sun/tools/javadoc/resources/javadoc_zh_CN.properties Thu Jun 08 13:45:15 2017 -0700 7.3 @@ -1,5 +1,5 @@ 7.4 # 7.5 -# Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. 7.6 +# Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. 7.7 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 7.8 # 7.9 # This code is free software; you can redistribute it and/or modify it 7.10 @@ -81,6 +81,7 @@ 7.11 javadoc.Body_missing_from_html_file=HTML \u6587\u4EF6\u4E2D\u7F3A\u5C11\u4E3B\u4F53\u6807\u8BB0 7.12 javadoc.End_body_missing_from_html_file=HTML \u6587\u4EF6\u4E2D\u7F3A\u5C11\u4E3B\u4F53\u7ED3\u675F\u6807\u8BB0 7.13 javadoc.Multiple_package_comments=\u627E\u5230\u7A0B\u5E8F\u5305 "{0}" \u7684\u591A\u4E2A\u7A0B\u5E8F\u5305\u6CE8\u91CA\u6E90 7.14 +javadoc.JavaScript_in_comment=\u6587\u6863\u6CE8\u91CA\u4E2D\u53D1\u73B0 JavaScript\u3002\n\u4F7F\u7528 --allow-script-in-comments \u53EF\u5141\u8BB8\u4F7F\u7528 JavaScript\u3002 7.15 javadoc.class_not_found=\u627E\u4E0D\u5230\u7C7B{0}\u3002 7.16 javadoc.error=\u9519\u8BEF 7.17 javadoc.warning=\u8B66\u544A
8.1 --- a/src/share/classes/com/sun/tools/jdeps/ClassFileReader.java Tue Dec 13 12:53:03 2016 -0800 8.2 +++ b/src/share/classes/com/sun/tools/jdeps/ClassFileReader.java Thu Jun 08 13:45:15 2017 -0700 8.3 @@ -1,5 +1,5 @@ 8.4 /* 8.5 - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. 8.6 + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. 8.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 8.8 * 8.9 * This code is free software; you can redistribute it and/or modify it 8.10 @@ -34,8 +34,10 @@ 8.11 import java.nio.file.SimpleFileVisitor; 8.12 import java.nio.file.attribute.BasicFileAttributes; 8.13 import java.util.*; 8.14 +import java.util.jar.Attributes; 8.15 import java.util.jar.JarEntry; 8.16 import java.util.jar.JarFile; 8.17 +import java.util.jar.Manifest; 8.18 8.19 /** 8.20 * ClassFileReader reads ClassFile(s) of a given path that can be 8.21 @@ -154,6 +156,8 @@ 8.22 } 8.23 } 8.24 8.25 + public boolean isMultiReleaseJar() throws IOException { return false; } 8.26 + 8.27 public String toString() { 8.28 return path.toString(); 8.29 } 8.30 @@ -290,6 +294,16 @@ 8.31 } 8.32 }; 8.33 } 8.34 + 8.35 + @Override 8.36 + public boolean isMultiReleaseJar() throws IOException { 8.37 + Manifest mf = this.jarfile.getManifest(); 8.38 + if (mf != null) { 8.39 + Attributes atts = mf.getMainAttributes(); 8.40 + return "true".equalsIgnoreCase(atts.getValue("Multi-Release")); 8.41 + } 8.42 + return false; 8.43 + } 8.44 } 8.45 8.46 class JarFileIterator implements Iterator<ClassFile> {
9.1 --- a/src/share/classes/com/sun/tools/jdeps/JdepsTask.java Tue Dec 13 12:53:03 2016 -0800 9.2 +++ b/src/share/classes/com/sun/tools/jdeps/JdepsTask.java Thu Jun 08 13:45:15 2017 -0700 9.3 @@ -1,5 +1,5 @@ 9.4 /* 9.5 - * Copyright (c) 2012, 2014, Oracle and/or its affiliates. All rights reserved. 9.6 + * Copyright (c) 2012, 2017, Oracle and/or its affiliates. All rights reserved. 9.7 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 9.8 * 9.9 * This code is free software; you can redistribute it and/or modify it 9.10 @@ -515,6 +515,13 @@ 9.11 // add all classpath archives to the source locations for reporting 9.12 sourceLocations.addAll(classpaths); 9.13 9.14 + // warn about Multi-Release jars 9.15 + for (Archive a : sourceLocations) { 9.16 + if (a.reader().isMultiReleaseJar()) { 9.17 + warning("warn.mrjar.usejdk9", a.getPathName()); 9.18 + } 9.19 + } 9.20 + 9.21 // Work queue of names of classfiles to be searched. 9.22 // Entries will be unique, and for classes that do not yet have 9.23 // dependencies in the results map.
10.1 --- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties Tue Dec 13 12:53:03 2016 -0800 10.2 +++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps.properties Thu Jun 08 13:45:15 2017 -0700 10.3 @@ -99,6 +99,10 @@ 10.4 Please modify your code to eliminate dependency on any JDK internal APIs.\n\ 10.5 For the most recent update on JDK internal API replacements, please check:\n\ 10.6 {0} 10.7 +warn.mrjar.usejdk9=\ 10.8 +{0} is a multi-release jar file.\n\ 10.9 +All versioned entries are analyzed. To analyze the entries for a specific\n\ 10.10 +version, use a newer version of jdeps (JDK 9 or later) \"--multi-release\" option. 10.11 10.12 artifact.not.found=not found 10.13 jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
11.1 --- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties Tue Dec 13 12:53:03 2016 -0800 11.2 +++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps_ja.properties Thu Jun 08 13:45:15 2017 -0700 11.3 @@ -46,6 +46,7 @@ 11.4 warn.invalid.arg=\u7121\u52B9\u306A\u30AF\u30E9\u30B9\u540D\u307E\u305F\u306F\u30D1\u30B9\u540D\u304C\u5B58\u5728\u3057\u307E\u305B\u3093: {0} 11.5 warn.split.package=\u30D1\u30C3\u30B1\u30FC\u30B8{0}\u306F{1} {2}\u3067\u5B9A\u7FA9\u3055\u308C\u3066\u3044\u307E\u3059 11.6 warn.replace.useJDKInternals=JDK\u5185\u90E8API\u306F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u304A\u3089\u305A\u3001JDK\u5B9F\u88C5\u5C02\u7528\u3067\u3059\u304C\u3001\u4E92\u63DB\u6027\u306A\u3057\u3067\n\u524A\u9664\u307E\u305F\u306F\u5909\u66F4\u3055\u308C\u308B\u5834\u5408\u304C\u3042\u308A\u3001\u30A2\u30D7\u30EA\u30B1\u30FC\u30B7\u30E7\u30F3\u3092\u4E2D\u65AD\u3055\u305B\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\u3002\nJDK\u5185\u90E8API\u306E\u4F9D\u5B58\u6027\u3092\u524A\u9664\u3059\u308B\u3088\u3046\u30B3\u30FC\u30C9\u3092\u5909\u66F4\u3057\u3066\u304F\u3060\u3055\u3044\u3002\nJDK\u5185\u90E8API\u306E\u7F6E\u63DB\u306B\u95A2\u3059\u308B\u6700\u65B0\u306E\u66F4\u65B0\u306B\u3064\u3044\u3066\u306F\u3001\u6B21\u3092\u78BA\u8A8D\u3057\u3066\u304F\u3060\u3055\u3044:\n{0} 11.7 +warn.mrjar.usejdk9={0}\u306F\u30DE\u30EB\u30C1\u30EA\u30EA\u30FC\u30B9jar\u30D5\u30A1\u30A4\u30EB\u3067\u3059\u3002\n\u3059\u3079\u3066\u306E\u30D0\u30FC\u30B8\u30E7\u30CB\u30F3\u30B0\u6E08\u30A8\u30F3\u30C8\u30EA\u3092\u5206\u6790\u3057\u307E\u3059\u3002\u7279\u5B9A\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306E\u30A8\u30F3\u30C8\u30EA\u3092\u5206\u6790\u3059\u308B\u306B\u306F\u3001\n\u65B0\u3057\u3044\u30D0\u30FC\u30B8\u30E7\u30F3\u306Ejdeps (JDK 9\u4EE5\u964D)\u306E"--multi-release"\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3057\u307E\u3059\u3002 11.8 11.9 artifact.not.found=\u898B\u3064\u304B\u308A\u307E\u305B\u3093 11.10 jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
12.1 --- a/src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Tue Dec 13 12:53:03 2016 -0800 12.2 +++ b/src/share/classes/com/sun/tools/jdeps/resources/jdeps_zh_CN.properties Thu Jun 08 13:45:15 2017 -0700 12.3 @@ -46,6 +46,7 @@ 12.4 warn.invalid.arg=\u7C7B\u540D\u65E0\u6548\u6216\u8DEF\u5F84\u540D\u4E0D\u5B58\u5728: {0} 12.5 warn.split.package=\u5DF2\u5728{1} {2}\u4E2D\u5B9A\u4E49\u7A0B\u5E8F\u5305{0} 12.6 warn.replace.useJDKInternals=\u4E0D\u652F\u6301 JDK \u5185\u90E8 API, \u5B83\u4EEC\u4E13\u7528\u4E8E\u901A\u8FC7\u4E0D\u517C\u5BB9\u65B9\u5F0F\u6765\u5220\u9664\n\u6216\u66F4\u6539\u7684 JDK \u5B9E\u73B0, \u53EF\u80FD\u4F1A\u635F\u574F\u60A8\u7684\u5E94\u7528\u7A0B\u5E8F\u3002\n\u8BF7\u4FEE\u6539\u60A8\u7684\u4EE3\u7801, \u6D88\u9664\u4E0E\u4EFB\u4F55 JDK \u5185\u90E8 API \u7684\u76F8\u5173\u6027\u3002\n\u6709\u5173 JDK \u5185\u90E8 API \u66FF\u6362\u7684\u6700\u65B0\u66F4\u65B0, \u8BF7\u67E5\u770B:\n{0} 12.7 +warn.mrjar.usejdk9={0} \u662F\u591A\u53D1\u884C\u7248 jar \u6587\u4EF6\u3002\n\u5DF2\u5206\u6790\u6240\u6709\u7248\u672C\u5316\u6761\u76EE\u3002\u8981\u5206\u6790\u67D0\u4E2A\u7279\u5B9A\u7248\u672C\u7684\u6761\u76EE,\n\u8BF7\u4F7F\u7528\u66F4\u65B0\u7248\u672C\u7684 jdeps (JDK 9 \u6216\u66F4\u9AD8\u7248\u672C) "--multi-release" \u9009\u9879\u3002 12.8 12.9 artifact.not.found=\u627E\u4E0D\u5230 12.10 jdeps.wiki.url=https://wiki.openjdk.java.net/display/JDK8/Java+Dependency+Analysis+Tool
13.1 --- a/src/share/classes/com/sun/tools/jdeps/resources/jdkinternals.properties Tue Dec 13 12:53:03 2016 -0800 13.2 +++ b/src/share/classes/com/sun/tools/jdeps/resources/jdkinternals.properties Thu Jun 08 13:45:15 2017 -0700 13.3 @@ -1,22 +1,45 @@ 13.4 // No translation needed 13.5 com.sun.crypto.provider.SunJCE=Use java.security.Security.getProvider(provider-name) @since 1.3 13.6 -com.sun.image.codec=Use javax.imageio @since 1.4 13.7 com.sun.org.apache.xml.internal.security=Use java.xml.crypto @since 1.6 13.8 com.sun.org.apache.xml.internal.security.utils.Base64=Use java.util.Base64 @since 1.8 13.9 +com.sun.org.apache.xml.internal.resolver=Use javax.xml.catalog @since 9 13.10 com.sun.net.ssl=Use javax.net.ssl @since 1.4 13.11 com.sun.net.ssl.internal.ssl.Provider=Use java.security.Security.getProvider(provider-name) @since 1.3 13.12 com.sun.rowset=Use javax.sql.rowset.RowSetProvider @since 1.7 13.13 +com.sun.tools.doclets.standard=Use jdk.javadoc.doclets.StandardDoclet @since 9. 13.14 com.sun.tools.javac.tree=Use com.sun.source @since 1.6 13.15 com.sun.tools.javac=Use javax.tools and javax.lang.model @since 1.6 13.16 -sun.awt.image.codec=Use javax.imageio @since 1.4 13.17 -sun.misc.BASE64Encoder=Use java.util.Base64 @since 1.8 13.18 -sun.misc.BASE64Decoder=Use java.util.Base64 @since 1.8 13.19 -sun.misc.Cleaner=Use java.lang.ref.PhantomReference @since 1.2 13.20 -sun.misc.Service=Use java.util.ServiceLoader @since 1.6 13.21 +java.awt.peer=Should not use. See https://bugs.openjdk.java.net/browse/JDK-8037739 13.22 +java.awt.dnd.peer=Should not use. See https://bugs.openjdk.java.net/browse/JDK-8037739 13.23 +jdk.internal.ref.Cleaner=Use java.lang.ref.PhantomReference @since 1.2 or java.lang.ref.Cleaner @since 9 13.24 +sun.awt.CausedFocusEvent=Use java.awt.event.FocusEvent::getCause @since 9 13.25 +sun.font.FontUtilities=See java.awt.Font.textRequiresLayout @since 9 13.26 +sun.reflect.Reflection=See http://openjdk.java.net/jeps/260 13.27 +sun.reflect.ReflectionFactory=See http://openjdk.java.net/jeps/260 13.28 +sun.misc.Unsafe=See http://openjdk.java.net/jeps/260 13.29 +sun.misc.Signal=See http://openjdk.java.net/jeps/260 13.30 +sun.misc.SignalHandler=See http://openjdk.java.net/jeps/260 13.31 sun.security.action=Use java.security.PrivilegedAction @since 1.1 13.32 sun.security.krb5=Use com.sun.security.jgss 13.33 sun.security.provider.PolicyFile=Use java.security.Policy.getInstance("JavaPolicy", new URIParameter(uri)) @since 1.6 13.34 sun.security.provider.Sun=Use java.security.Security.getProvider(provider-name) @since 1.3 13.35 +sun.security.util.HostnameChecker=Use javax.net.ssl.SSLParameters.setEndpointIdentificationAlgorithm("HTTPS") @since 1.7\n\ 13.36 +or javax.net.ssl.HttpsURLConnection.setHostnameVerifier() @since 1.4 13.37 sun.security.util.SecurityConstants=Use appropriate java.security.Permission subclass @since 1.1 13.38 sun.security.x509.X500Name=Use javax.security.auth.x500.X500Principal @since 1.4 13.39 -sun.tools.jar=Use java.util.jar or jar tool @since 1.2 13.40 +sun.tools.jar=Use java.util.jar @since 1.2 13.41 +sun.tools.jar.Main=Use java.util.spi.ToolProvider @since 9 13.42 +# Internal APIs removed in JDK 9 13.43 +com.apple.eawt=Use java.awt.Desktop @since 9. See http://openjdk.java.net/jeps/272 13.44 +com.apple.concurrent=Removed in JDK 9. See https://bugs.openjdk.java.net/browse/JDK-8148187 13.45 +com.sun.image.codec.jpeg=Use javax.imageio @since 1.4 13.46 +sun.awt.image.codec=Use javax.imageio @since 1.4 13.47 +sun.misc.BASE64Encoder=Use java.util.Base64 @since 1.8 13.48 +sun.misc.BASE64Decoder=Use java.util.Base64 @since 1.8 13.49 +sun.misc.ClassLoaderUtil=Use java.net.URLClassLoader.close() @since 1.7 13.50 +sun.misc.Cleaner=Use java.lang.ref.PhantomReference @since 1.2 or java.lang.ref.Cleaner @since 9.\n\ 13.51 +See http://openjdk.java.net/jeps/260. 13.52 +sun.misc.Service=Use java.util.ServiceLoader @since 1.6 13.53 +sun.misc=Removed in JDK 9. See http://openjdk.java.net/jeps/260 13.54 +sun.reflect=Removed in JDK 9. See http://openjdk.java.net/jeps/260 13.55 +
14.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2 +++ b/test/tools/javac/meth/BadPolySig.java Thu Jun 08 13:45:15 2017 -0700 14.3 @@ -0,0 +1,37 @@ 14.4 +/* 14.5 + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 14.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 14.7 + * 14.8 + * This code is free software; you can redistribute it and/or modify it 14.9 + * under the terms of the GNU General Public License version 2 only, as 14.10 + * published by the Free Software Foundation. Oracle designates this 14.11 + * particular file as subject to the "Classpath" exception as provided 14.12 + * by Oracle in the LICENSE file that accompanied this code. 14.13 + * 14.14 + * This code is distributed in the hope that it will be useful, but WITHOUT 14.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 14.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14.17 + * version 2 for more details (a copy is included in the LICENSE file that 14.18 + * accompanied this code). 14.19 + * 14.20 + * You should have received a copy of the GNU General Public License version 14.21 + * 2 along with this work; if not, write to the Free Software Foundation, 14.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 14.23 + * 14.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 14.25 + * or visit www.oracle.com if you need additional information or have any 14.26 + * questions. 14.27 + */ 14.28 + 14.29 +/* 14.30 + * @test 14.31 + * @bug 8168774 14.32 + * @summary Polymorhic signature method check crashes javac 14.33 + * @compile BadPolySig.java 14.34 + */ 14.35 + 14.36 +package java.lang.invoke; 14.37 + 14.38 +class MethodHandle { 14.39 + native Object m(); 14.40 +}
15.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 15.2 +++ b/test/tools/jdeps/MRJarWarning.java Thu Jun 08 13:45:15 2017 -0700 15.3 @@ -0,0 +1,169 @@ 15.4 +/* 15.5 + * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. 15.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 15.7 + * 15.8 + * This code is free software; you can redistribute it and/or modify it 15.9 + * under the terms of the GNU General Public License version 2 only, as 15.10 + * published by the Free Software Foundation. 15.11 + * 15.12 + * This code is distributed in the hope that it will be useful, but WITHOUT 15.13 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 15.14 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15.15 + * version 2 for more details (a copy is included in the LICENSE file that 15.16 + * accompanied this code). 15.17 + * 15.18 + * You should have received a copy of the GNU General Public License version 15.19 + * 2 along with this work; if not, write to the Free Software Foundation, 15.20 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 15.21 + * 15.22 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 15.23 + * or visit www.oracle.com if you need additional information or have any 15.24 + * questions. 15.25 + */ 15.26 + 15.27 +/* 15.28 + * @test 15.29 + * @bug 8176329 15.30 + * @summary Test for jdeps warning when it encounters a multi-release jar 15.31 + * @run testng MRJarWarning 15.32 + */ 15.33 + 15.34 +import java.io.IOException; 15.35 +import java.io.OutputStream; 15.36 +import java.io.PrintWriter; 15.37 +import java.io.StringWriter; 15.38 +import java.nio.file.Files; 15.39 +import java.nio.file.Path; 15.40 +import java.nio.file.Paths; 15.41 +import java.util.Arrays; 15.42 +import java.util.Collections; 15.43 +import java.util.List; 15.44 +import java.util.Locale; 15.45 +import java.util.jar.Attributes; 15.46 +import java.util.jar.JarEntry; 15.47 +import java.util.jar.JarOutputStream; 15.48 +import java.util.jar.Manifest; 15.49 +import org.testng.Assert; 15.50 +import org.testng.annotations.BeforeSuite; 15.51 +import org.testng.annotations.DataProvider; 15.52 +import org.testng.annotations.Test; 15.53 + 15.54 +public class MRJarWarning { 15.55 + private static final String WARNING = " is a multi-release jar file"; 15.56 + private static final String MRJAR_ATTR = "Multi-Release"; 15.57 + 15.58 + Path mrjar1; 15.59 + Path mrjar2; 15.60 + Path nonMRjar; 15.61 + Path mrjarAllCaps; 15.62 + 15.63 + private Attributes defaultAttributes; 15.64 + 15.65 + @BeforeSuite 15.66 + public void setup() throws IOException { 15.67 + defaultAttributes = new Attributes(); 15.68 + defaultAttributes.putValue("Manifest-Version", "1.0"); 15.69 + defaultAttributes.putValue("Created-By", "1.8.0-internal"); 15.70 + 15.71 + mrjar1 = Paths.get("mrjar1.jar"); 15.72 + mrjar2 = Paths.get("mrjar2.jar"); 15.73 + nonMRjar = Paths.get("nonMRjar.jar"); 15.74 + mrjarAllCaps = Paths.get("mrjarAllCaps.jar"); 15.75 + 15.76 + Attributes mrJarAttrs = new Attributes(defaultAttributes); 15.77 + mrJarAttrs.putValue(MRJAR_ATTR, "true"); 15.78 + 15.79 + build(mrjar1, mrJarAttrs); 15.80 + build(mrjar2, mrJarAttrs); 15.81 + build(nonMRjar, defaultAttributes); 15.82 + 15.83 + // JEP 238 - "Multi-Release JAR Files" states that the attribute name 15.84 + // and value are case insensitive. Try with all caps to ensure that 15.85 + // jdeps still recognizes a multi-release jar. 15.86 + Attributes allCapsAttrs = new Attributes(defaultAttributes); 15.87 + allCapsAttrs.putValue(MRJAR_ATTR.toUpperCase(), "TRUE"); 15.88 + build(mrjarAllCaps, allCapsAttrs); 15.89 + } 15.90 + 15.91 + @DataProvider(name="provider") 15.92 + private Object[][] args() { 15.93 + // jdeps warning messages may be localized. 15.94 + // This test only checks for the English version. Return an empty 15.95 + // array (skip testing) if the default language is not English. 15.96 + String language = Locale.getDefault().getLanguage(); 15.97 + System.out.println("Language: " + language); 15.98 + 15.99 + if ("en".equals(language)) { 15.100 + return new Object[][] { 15.101 + // one mrjar arg 15.102 + { Arrays.asList(mrjar1.toString()), 15.103 + Arrays.asList(mrjar1)}, 15.104 + // two mrjar args 15.105 + { Arrays.asList(mrjar1.toString(), mrjar2.toString()), 15.106 + Arrays.asList(mrjar1, mrjar2)}, 15.107 + // one mrjar arg, with mrjar on classpath 15.108 + { Arrays.asList("-cp", mrjar2.toString(), mrjar1.toString()), 15.109 + Arrays.asList(mrjar1, mrjar2)}, 15.110 + // non-mrjar arg, with mrjar on classpath 15.111 + { Arrays.asList("-cp", mrjar1.toString(), nonMRjar.toString()), 15.112 + Arrays.asList(mrjar1)}, 15.113 + // mrjar arg with jar attribute name/value in ALL CAPS 15.114 + { Arrays.asList(mrjarAllCaps.toString()), 15.115 + Arrays.asList(mrjarAllCaps)}, 15.116 + // non-mrjar arg 15.117 + { Arrays.asList(nonMRjar.toString()), 15.118 + Collections.emptyList()} 15.119 + }; 15.120 + } else { 15.121 + System.out.println("Non-English language \""+ language + 15.122 + "\"; test passes superficially"); 15.123 + return new Object[][]{}; 15.124 + } 15.125 + } 15.126 + 15.127 + /* Run jdeps with the arguments given in 'args', and confirm that a warning 15.128 + * is issued for each Multi-Release jar in 'expectedMRpaths'. 15.129 + */ 15.130 + @Test(dataProvider="provider") 15.131 + public void checkWarning(List<String> args, List<Path> expectedMRpaths) { 15.132 + StringWriter sw = new StringWriter(); 15.133 + PrintWriter pw = new PrintWriter(sw); 15.134 + 15.135 + int rc = com.sun.tools.jdeps.Main.run(args.toArray(new String[args.size()]), pw); 15.136 + pw.close(); 15.137 + 15.138 + expectedMRJars(sw.toString(), expectedMRpaths); 15.139 + Assert.assertEquals(rc, 0, "non-zero exit code from jdeps"); 15.140 + } 15.141 + 15.142 + /* Confirm that warnings for the specified paths are in the output (or that 15.143 + * warnings are absent if 'paths' is empty). 15.144 + * Doesn't check for extra, unexpected warnings. 15.145 + */ 15.146 + private static void expectedMRJars(String output, List<Path> paths) { 15.147 + if (paths.isEmpty()) { 15.148 + Assert.assertFalse(output.contains(WARNING), 15.149 + "Expected no mrjars, but found:\n" + output); 15.150 + } else { 15.151 + for (Path path : paths) { 15.152 + String expect = "Warning: " + path.toString() + WARNING; 15.153 + Assert.assertTrue(output.contains(expect), 15.154 + "Did not find:\n" + expect + "\nin:\n" + output + "\n"); 15.155 + } 15.156 + } 15.157 + } 15.158 + 15.159 + /* Build a jar at the expected path, containing the given attributes */ 15.160 + private static void build(Path path, Attributes attributes) throws IOException { 15.161 + try (OutputStream os = Files.newOutputStream(path); 15.162 + JarOutputStream jos = new JarOutputStream(os)) { 15.163 + 15.164 + JarEntry me = new JarEntry("META-INF/MANIFEST.MF"); 15.165 + jos.putNextEntry(me); 15.166 + Manifest manifest = new Manifest(); 15.167 + manifest.getMainAttributes().putAll(attributes); 15.168 + manifest.write(jos); 15.169 + jos.closeEntry(); 15.170 + } 15.171 + } 15.172 +}