Hi team! I’ve identified a significant shift in Gr...
# groovy
p
Hi team! I’ve identified a significant shift in Groovy 5 regarding “file truth” semantics (GROOVY-10949). In the new version, a
File
object evaluates to
false
if the file does not physically exist, whereas previously it only required the reference to be non-null. While this change impacts the Nextflow codebase, our primary concern is the broader ecosystem: • Critical External Impact: This change is a “silent breaker” for the thousands of third-party scripts and applications running on Nextflow. Users expecting legacy Groovy behavior will encounter unexpected logic failures that are notoriously difficult to debug in a pipeline context. • Internal Management: While we can refactor our own core codebase to accommodate the new semantics, we cannot realistically control or force a synchronized update across the entire community of external plugins and user-maintained pipelines. To mitigate this, I’ve submitted this PR to introduce a system option that allows reverting to the previous behavior. This ensures backward compatibility and provides a necessary safety net for the community as they transition. Hope you will consider this for merge!
👏 1