If the rule is that an API must be labeled forRemoval=true before it's really 
removed, then I cannot remove them in JDK 15.

--Max

> On Apr 11, 2020, at 5:44 PM, Peter Levart <peter.lev...@gmail.com> wrote:
> 
> 
> 
> On 4/10/20 11:45 AM, Weijun Wang wrote:
>> Hi Peter,
>> 
>> This is awkward but I've seen method that is marked deprecated for removal 
>> which simply throws an UnsupportedOperationException.
>> 
>> Suppose someone has an "enhanced" jarsigner that is also calling the 
>> JarSigner API. It might also support customized ContentSigner but is also 
>> used by no one. If the classes were removed the tool will not compile. If 
>> the classes remain but JarSigner no longer uses it, it will simply throws an 
>> UOE which is harmless to most people.
>> 
>> Maybe the tool maintainer has already added 
>> "@SuppressWarnings("deprecated")", but this time they will see a new warning 
>> on "[removal]", and they will know they need to remove it within a year.
>> 
>> --Max
> 
> Hi Max,
> 
> What I was trying to say is that even if you remove ContentSigner class(es) 
> from JDK 15, users will still be able to compile either the special 
> "enhanced" jarsigner or the ContentSigner implementations if they use 
> -release 14 option.  They will just not be able to run the "enhanced" 
> jarsigner with JDK 15. So removing a class from JDK 15 is not so bad as it 
> was before the -release option was available. At least from the standpoint of 
> compilation. So it makes a little difference if you remove the classes or not 
> when you also remove the options to use/run the classes with jarsigner. What 
> you choose is of course up to you. I see Sean is suggesting that you keep the 
> options in the jarsigner for JDK 15.
> 
> Regards, Peter
> 
>> 
>>> On Apr 10, 2020, at 5:22 PM, Peter Levart <peter.lev...@gmail.com> wrote:
>>> 
>>> Which brings me to this...
>>> 
>>> If it is a requirement to use -release option to compile ContentSigner 
>>> implementation class in order for them to be usable (with some older 
>>> release of jarsigner), then ContentSigner classes could as well be removed 
>>> from the JDK 15 API because their signature will still be available to the 
>>> javac with appropriate -release 14 or older option. So compilation would 
>>> still succeed.
>>> 
>>> Peter
>>> 
>>> On 4/10/20 11:07 AM, Peter Levart wrote:
>>>> What's the use of allowing compiling some classes if those classes can't 
>>>> be used anywhere? They would be unusable in the new release of jarsigner. 
>>>> Ok, they could be used in some older jarsigner if the classes were 
>>>> compiled with appropriate -release option. So the usecase for not removing 
>>>> the classes would be in a project that builds an implementation of 
>>>> ContentSigner and then publishes it to be used in a project that still 
>>>> uses an old jarsigner. Such ContentSigner project could then be upgraded 
>>>> to use the new JDK/javac with appropriate -release option for compiling 
>>>> ContentSigner implementation classes.
>>>> 
>>>> Peter
>>>> 
>>>> On 4/10/20 3:58 AM, Wang Weijun wrote:
>>>>> So the classes will be useless but at least old program still compiles. 
>>>>> I'll modify the CSR and see how Joe thinks of this.
>>>>> 
>>>>> Thanks,
>>>>> Max
>>>>> 
>>>>>> 在 2020年4月9日,22:58,Sean Mullan <sean.mul...@oracle.com> 写道:
>>>>>> 
>>>>>> On 4/9/20 10:52 AM, Weijun Wang wrote:
>>>>>>> All info for signing are passed into a ContentSigner through a 
>>>>>>> ContentSignerParameters object. In order to pass more info, I’ll need 
>>>>>>> to create new interface methods for it.
>>>>>> But you can just use your solution in JarSigner in the webrev below 
>>>>>> where you are calling PKCS7.generateSignedData instead of ContentSigner. 
>>>>>> Just because the ContentSigner APIs are still there doesn't mean you 
>>>>>> have to use it in jarsigner (unless I am missing something).
>>>>>> 
>>>>>> --Sean
>>>>>> 
>>>>>>> —Max
>>>>>>>>> 在 2020年4月9日,21:27,Sean Mullan <sean.mul...@oracle.com> 写道:
>>>>>>>> On 4/9/20 3:13 AM, Wang Weijun wrote:
>>>>>>>>> Oh, I'll then need to add new fields to it to support RSASSA-PSS and 
>>>>>>>>> EdDSA. Sigh.
>>>>>>>> Why would you need to do that if they are deprecated?
>>>>>>>> 
>>>>>>>> --Sean
>>>>>>>> 
>>>>>>>>> --Max
>>>>>>>>>>> 在 2020年4月9日,01:58,Sean Mullan <sean.mul...@oracle.com> 写道:
>>>>>>>>>> We never actually deprecated the com.sun.jarsigner package with a 
>>>>>>>>>> forRemoval=true flag, so while it may be very low-risk to remove 
>>>>>>>>>> these APIs, I feel that we should not remove it w/o prior notice.
>>>>>>>>>> 
>>>>>>>>>> I would suggest adding the forRemoval=true for this package/APIs 
>>>>>>>>>> instead, and plan on removing it in JDK 16 or 17.
>>>>>>>>>> 
>>>>>>>>>> I'm ok with removing the jarsigner options because the man page 
>>>>>>>>>> already warned that they may be removed.
>>>>>>>>>> 
>>>>>>>>>> --Sean
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>>> On 4/7/20 4:04 AM, Weijun Wang wrote:
>>>>>>>>>>> I am thinking about removing the `jarsigner -altsigner 
>>>>>>>>>>> -altsignerpath` options and underlying classes:
>>>>>>>>>>>              JBS : https://bugs.openjdk.java.net/browse/JDK-8242260
>>>>>>>>>>> Please review everything at:
>>>>>>>>>>>     Release note : https://bugs.openjdk.java.net/browse/JDK-8242261
>>>>>>>>>>>              CSR : https://bugs.openjdk.java.net/browse/JDK-8242262
>>>>>>>>>>>           webrev : 
>>>>>>>>>>> http://cr.openjdk.java.net/~weijun/8242260/webrev.00/
>>>>>>>>>>> The CSR "Problem" section has more info on why it's better to 
>>>>>>>>>>> remove it now.
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Max
> 

Reply via email to