Skip to content

Conversation

mbien
Copy link
Member

@mbien mbien commented Aug 23, 2025

  • module isn't used by NB itself and was already deprecated before NB was donated to apache (19y ago)
  • uses java.beans.beancontext which is deprecated-for-removal since JDK 23
  • it is still shipped in the zip and maven artifacts generating warnings
  • even though its not in class path at runtime, it is still hooked into the test class path across the project. Shrinking cp size helps to avoid issues like 15cbc0a

meta issue #8256

@mbien mbien added Code cleanup Platform [ci] enable platform tests (platform/*) ci:all-tests [ci] enable all tests ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) labels Aug 23, 2025
@mbien mbien force-pushed the remove-openide-options branch from dfedfba to 3ac9b1d Compare August 23, 2025 03:43
@mbien mbien removed the ci:all-tests [ci] enable all tests label Aug 23, 2025
@mbien mbien force-pushed the remove-openide-options branch from 3ac9b1d to bbd1b4e Compare August 23, 2025 04:27
Comment on lines 243 to +244
# List of old and deprecated APIs for building complete javadoc
config.javadoc.deprecated=\
openide.options
config.javadoc.deprecated=
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

had to update the code in nbbuild/antsrc/org/netbeans/nbbuild/SetApidocClustersConfig.java since it expected an non-empty list

@BradWalker BradWalker self-requested a review August 23, 2025 21:51
@BradWalker BradWalker marked this pull request as ready for review August 23, 2025 21:52
@BradWalker
Copy link
Member

Looks good. Maybe duplicate the title into the body so that it's not empty?

@jtulach
Copy link
Contributor

jtulach commented Aug 29, 2025

  • Keep the module for backward compatibility reasons
  • at least that's what I'd do to follow the original NetBeans Platform compatibility visions.
  • it just lies around causing no harm
  • 3rd party applications can get it from Maven central
  • there is (almost) no cost associated to the module being around

Copy link
Member

@neilcsmith-net neilcsmith-net left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • Keep the module for backward compatibility reasons
  • at least that's what I'd do to follow the original NetBeans Platform compatibility visions.
  • it just lies around causing no harm

@jtulach full backwards compatibility is a nice ideal, but it's certainly not been a reality with the platform in at least the 15+ years I've worked with it. It should not be used to make things unnecessarily more difficult. This is going to come up more and more over the coming year or two as the ecosystem we rely on moves on while various features of the IDE and platform are lying around without getting necessary updates. It's not true to say this just causes no harm - see the linked issues eg. #8256 If you wish to propose changes to this module to meet those issues instead, then feel free if you have the time and inclination - because I'm not sure anyone else does.

@mbien
Copy link
Member Author

mbien commented Sep 6, 2025

  • Keep the module for backward compatibility reasons
  • at least that's what I'd do to follow the original NetBeans Platform compatibility visions.
  • it just lies around causing no harm
  • 3rd party applications can get it from Maven central

older versions up to NB 27 of this module are on maven central and the deprecation happened 19y ago with the commit msg: "Marking module deprecated to remind people not to use it.". Stopping to release it is just the next step to remind people to not use it.

  • there is (almost) no cost associated to the module being around

I disagree. Dead code has cumulative maintenance costs associated with it. Security team has to respond to exploit notifications and javac, code scanners and vulnerability scanners produce extra noise which is in the way every time a real issue is investigated.

And as mentioned, the module uses JDK API which is deprecated for removal. We shouldn't wait for things to break before we have to react in a hurry, we pushed our luck with the security manager removal once, we don't have to do this every time.

@mbien mbien removed the ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) label Sep 7, 2025
@mbien mbien added this to the NB28 milestone Sep 7, 2025
@mbien mbien added ci:all-tests [ci] enable all tests JavaDoc [ci] enable java/javadoc tests and build-javadoc target tests labels Sep 7, 2025
@mbien
Copy link
Member Author

mbien commented Sep 7, 2025

rebasing and running all tests before integration.

edit: all green except javadoc link checker, will try to find the reference I overlooked

@mbien mbien force-pushed the remove-openide-options branch from bbd1b4e to a127d7e Compare September 7, 2025 20:35
@mbien mbien removed the ci:all-tests [ci] enable all tests label Sep 7, 2025
@mbien mbien force-pushed the remove-openide-options branch 2 times, most recently from 6c7af2b to 6dd9890 Compare September 8, 2025 00:11
 - module isn't used by NB itself and was already deprecated before NB
   was donated to apache (19y ago)
 - uses java.beans.beancontext which is deprecated-for-removal since
   JDK 23
 - it is still shipped in the zip and maven artifacts generating
   warnings
 - even though its not in classpath at runtime, it is still hooked into
   the test class path across the project. Shrinking the cp helps
   to avoid windows specific arg length limits CI hit a few times
   already.
@mbien mbien force-pushed the remove-openide-options branch from 6dd9890 to 8b5d968 Compare September 8, 2025 01:51
@mbien
Copy link
Member Author

mbien commented Sep 8, 2025

all green, made only minor updates to resolve the javadoc link check problems since approval.

Checked the thread on the private list and it had no new comments regarding this PR -> merging.

thanks for the reviews!

@mbien mbien merged commit e34fedd into apache:master Sep 8, 2025
61 of 62 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Code cleanup JavaDoc [ci] enable java/javadoc tests and build-javadoc target Platform [ci] enable platform tests (platform/*) tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants