|
Ran
|
Jobs
11
|
Files
1758
|
Run time
3min
|
Badge
README BADGES
|
push
github
Support configuring nailgun server jar and add support for java agent implemention (#23405) Nailgun is deprecated and will not work for Java versions past 17. This is because the SecurityManager API has been deprecated and removed from recent Java versions, which is used for a fundamental mechanism in Nailgun to avoid exiting the server when user code exits. Some previous mentions on this issue: https://github.com/pantsbuild/pants/issues/20603 https://github.com/pantsbuild/pants/issues/22580 https://github.com/pantsbuild/pants/pull/22533 I went ahead and forked Nailgun over at https://github.com/soundtrackyourbrand/nailgun and reworked the deprecated mechanism which adds support for all modern Java versions without requiring any structural changes to the client side in Pants. The fork uses a light weight Java Agent that rewrites the bytecode to trap exit calls, which allows removing all use of the SecurityManager. However, instead of just swapping over, it would make sense to be able to test it out for a while. So I've suggested adding some options here to make it configurable which nailgun-server to use. It also includes an option to run a Java Agent with the nailgun server which is required for the fixed implementation of nailgun itself. I've made the fork public, but it's only on GitHub packages at the moment. To make use of it in Pants there is some configuration needed ``` [jvm] nailgun_enable_agent = true nailgun_group = "com.soundtrackyourbrand" nailgun_artifact = "nailgun-server" nailgun_version = "1.1.0" nailgun_main_class = "com.facebook.nailgun.NGServer" nailgun_sha256 = "8c70e8a81189833aff8e4c1595f60d3cd" nailgun_size = 203910 [coursier] repos = [ ... "https://maven.pkg.github.com/soundtrackyourbrand/nailgun", ] ``` If it turns out looking good I'm thinking it could be published to Maven Central and be more of a default replacement.
64 of 65 new or added lines in 3 files covered. (98.46%)
93261 of 100495 relevant lines covered (92.8%)
3.69 hits per line
| Lines | Coverage | ∆ | File |
|---|---|---|---|
| 1 |
94.26 |
-0.4% | src/python/pants/jvm/jdk_rules.py |
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | test_python_linux_x86_64_0/10 - 28336942568.1 | 1224 |
56.16 |
GitHub Action Run | |
| 2 | test_python_linux_x86_64_6/10 - 28336942568.2 | 1200 |
49.46 |
GitHub Action Run | |
| 3 | test_python_linux_x86_64_5/10 - 28336942568.3 | 1221 |
59.18 |
GitHub Action Run | |
| 4 | test_python_linux_x86_64_4/10 - 28336942568.4 | 1239 |
59.01 |
GitHub Action Run | |
| 5 | test_python_linux_x86_64_7/10 - 28336942568.5 | 1210 |
50.99 |
GitHub Action Run | |
| 6 | test_python_linux_arm64 - 28336942568.6 | 1188 |
51.95 |
GitHub Action Run | |
| 7 | test_python_linux_x86_64_9/10 - 28336942568.7 | 1216 |
53.62 |
GitHub Action Run | |
| 8 | test_python_linux_x86_64_2/10 - 28336942568.8 | 1209 |
58.54 |
GitHub Action Run | |
| 9 | test_python_linux_x86_64_1/10 - 28336942568.9 | 1204 |
49.21 |
GitHub Action Run | |
| 10 | test_python_linux_x86_64_3/10 - 28336942568.10 | 1206 |
53.68 |
GitHub Action Run | |
| 11 | test_python_linux_x86_64_8/10 - 28336942568.11 | 1207 |
52.97 |
GitHub Action Run |
| Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line |
|---|