This commit enhances the Windows RSS memory retrieval functionality in OsUtils
to provide better compatibility and reliability across different Windows versions.
Key improvements:
- Added multiple fallback strategies for Windows RSS retrieval:
1. PowerShell approach (modern, Windows 7+ with PowerShell 2.0+)
2. WMIC approach (fallback for older systems)
3. Tasklist approach (final fallback, most compatible from XP to Win11)
- Enhanced error handling with debug-level logging for memory queries
to avoid log spam while maintaining visibility for debugging
- Added robust CSV parsing for tasklist output with proper handling
of quoted fields and comma-separated numbers (e.g., '1,234 K')
- Improved regex pattern matching for memory values that handles
various formats returned by Windows commands
- Refactored code structure by separating Unix and Windows logic
into dedicated methods for better maintainability
These changes ensure reliable RSS memory retrieval across all supported
Windows versions while maintaining backward compatibility and improving
error handling.
Co-authored-by: Guillaume Nodet <gnodet@gmail.com>
Fixing terminal on Windows.
changes:
* added missing jline-native to dist
* up GraalVM to 22
* introduce `--diag` on client
* up SVM version, cleanup of GraalVM params
Fixes#1032
And use JNI (and FFM) instead.
Changes:
* use DefaultClient from master (thanks @gnodet !)
* drop jansi (as DefaultClient should not depend on it)
* introduce two new jline3 terminal backends: jni and ffm (used on Java 22+)
* tested/verified (thanks @wendigo )
Changes:
* no source changes
* (build) expel all versions from child modules: they must be all top level depMgmt or pluginMgmt
* (build) Top POM contains GAVs while child modules GA+scope. This tremendously simplifies maintenance.
* (javadoc) fix Javadoc errors
Updates:
* use latest Maven 3.9.8-SNAPSHOT (TS locked version, controlled deploy by me)
* AssertJ 3.26.0
* Takari Smart Builder 0.6.6
* Sisu 0.9.0.M3
* maven wrapper 3.3.2 w/ scripts
This brings mvnd-1.x in "releasable" state (once Maven 3.9.8 is out).
Changes:
* parent POM 42
* unset release where needed (makes com.sun pkg unreachable)
* explicitly index as parent disables "implicit" AP
* remove redundtant stuff
* update dependabot to take care of workflow as well (as mvnd uses own)
* fix typo in method names
* add a test for the other *toHumanReadable method
* replace StringBuilder usage with simple concatenation
where applicable (for fixed length strings)
This is mostly for the integration tests of the Gradle Enterprise Maven extension,
which heavily test dependency resolution and reuse the same GAVs in many test,
e.g. a🅱️1.0. It would be a lot of effort to rewrite all those tests and a shame
to restart the daemon every time. So I wanted to ask if you'd consider this flag
to disable the caching altogether.
Use the plexus Launcher to start the daemon server, just like we would
launch a normal Maven process.
This improves compatibility with any extensions or plugins that assume that
their ClassLoader is a ClassRealm.