slachiewicz opened a new issue, #46: URL: https://github.com/apache/maven-executor/issues/46
### Affected version 1.0.0 ### Bug description `EmbeddedMavenExecutor` copies `System.getProperties()` once, in its constructor ([EmbeddedMavenExecutor.java:128-129](https://github.com/apache/maven-executor/blob/main/maven-executor/src/main/java/org/apache/maven/executor/embedded/EmbeddedMavenExecutor.java)), together with `System.out` and `System.err`, and restores that same snapshot in the `finally` block of every `execute()` (`:159-162`). Any change a caller makes to system properties between two executions on one long-lived executor is silently reverted after the next run. maven-verifier's `Embedded3xLauncher` snapshotted per run. The pattern that triggers it is the natural one for a test fixture: one `ExecutorHelper` per JVM, reused across hundreds of integration tests, some of which set a system property to drive the next build. Found while porting `maven-surefire`'s IT fixture (apache/maven-surefire#3484); the fixture now creates one executor per `Verifier` instance to avoid it. Proposal: take the snapshot at the start of each `execute()` rather than in the constructor. This is distinct from the thread-safety window in #16 item 8, which is about `System.setProperties(null)` during a run. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
