Skip to content

Migrate to JDK 21 unix sockets - #9597

Open
mbien wants to merge 1 commit into
apache:masterfrom
mbien:unixsocket-cleanup
Open

Migrate to JDK 21 unix sockets#9597
mbien wants to merge 1 commit into
apache:masterfrom
mbien:unixsocket-cleanup

Conversation

@mbien

@mbien mbien commented Sep 3, 2026

Copy link
Copy Markdown
Member

The recent felix / jgit cleanups should allow us to update jsch which was a blocker for removal of ide/libs.c.kohlschutter.junixsocket. The secondary blocker was lack of lower bound JDK 21.

This is also in context of #9594 (comment) which reminded me on this.

com.jcraft.jsch is used in

php/php.project (/php/project/connections/sftp/SftpClient.java)
ide/libs.jsch.agentproxy
ide/dlight.nativeexecution

not well tested - testing help appreciated.

@mbien mbien added Code cleanup Label for cleanup done on the Netbeans IDE PHP [ci] enable extra PHP tests (php/php.editor) Upgrade Library Library (Dependency) Upgrade ci:all-tests [ci] enable all tests Docker ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) Need Squashing labels Sep 3, 2026
@mbien mbien added this to the NB32 milestone Sep 3, 2026
@mbien
mbien force-pushed the unixsocket-cleanup branch from 4ae03b4 to a682108 Compare September 3, 2026 21:45
@mbien
mbien marked this pull request as ready for review September 3, 2026 22:47
@mbien mbien removed the ci:all-tests [ci] enable all tests label Sep 3, 2026

@matthiasblaesing matthiasblaesing left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Upload of files in PHP projects still works without asking for passwords, so jsch works and agent integration is also active.

A terminal connection to a remote system was possible, so I suspect dlight is also happy.

The change to docker is breaking the module (suggestion for fix is in the inline comment).

If I understand this correctly: norrisjeremy/jsch@1cd3980 the jzlib libraries were integrated into jsch. We can drop the dependency of com.jcraft.jsch on com.jcraft.jzlib. ide/c.jcraft.jzlib is then a candatidate for removal.

Comment thread ide/docker.api/src/org/netbeans/modules/docker/api/DockerAction.java Outdated
 - jsch lib update
 - and JDK 21 baseline allows kohlschutter-junixsocket removal
 - migrated docker.api to JDK api
 - fix BundleException by setting Bundle-ManifestVersion=2
 - removed jzlib wrapper since it is now shipped with jsch
 - adjust module-auto-deps and other configs to the new situation

Co-authored-by: =?UTF-8?q?Matthias=20Bl=C3=A4sing?= <mblaesing@doppel-helix.eu>
@mbien
mbien force-pushed the unixsocket-cleanup branch from a682108 to ab99234 Compare September 5, 2026 17:54
@mbien

mbien commented Sep 5, 2026

Copy link
Copy Markdown
Member Author

removed jzlib and updated occurrences in

  • ide/ide.kit/module-auto-deps.xml
  • extide/o.apache.tools.ant.module/src/org/apache/tools/ant/module/resources/AntModuleLayer.xml
  • ide/c.jcraft.jsch/build.xml

@matthiasblaesing matthiasblaesing left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks sane to me. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci:dev-build [ci] produce a dev-build zip artifact (7 days expiration, see link on workflow summary page) Code cleanup Label for cleanup done on the Netbeans IDE Docker Need Squashing PHP [ci] enable extra PHP tests (php/php.editor) Upgrade Library Library (Dependency) Upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants