On 2022-02-07, Jaikiran Pai wrote: > So the launch scripts (the Linux one and the .bat for Windows one) > have both been updated to set this system property only for Java 18 > and 19. I expect this to be a temporary thing till the new API is > available. Once the new API is available, I think we should just get > rid of this setting of system property even for Java 18 and 19 (since > I don't expect many to be using these releases once the newer versions > are available).
You are more optimistic than me WRT a replacement API. :-) If you believe this is just going to be an issue for two or three releases then I can live with a lenghty if. I want to avoid that we need to cut a new release with every new Java EA just because the replacement API still hasn't been added. > Now coming to the actual implementation of this, it took me multiple > weekends to get the .bat version to correctly work. Mainly due to lack > of easy access to a Windows setup plus my general lack of knowledge of > bat scripting and some gotchas when it comes to .bat parsing and the > "errorlevel" values. I'm sorry to hear that. And I must admit my .bat programming skills are no more exhaustive than yours, most probably even less so. > Ultimately the one I committed ant.bat now launches the Java command > twice and expects it to dump certain property values, which are then > used by "find" to see if the version is 18 or 19. Ouch Would jrunscript -e "print(java.lang.System.getProperty('java.specification.version'))" work? TBH I'm not sure jrunscript is available in a JRE rather than a JDK for versions where there actually is a difference. Also findstr[1] looks as if you could use it to bring the number of extra jvm executions down to one as it should allow regexes so find "java.specification.version = 1[89]" may work - unless Java 20 still comes without the replacement API as it looks as if the regex subset supported by findstr doesn't include alternatives. > With these changes the CI builds which run Ant tests against Java 18, > 19 and previous version like Java 17 now work fine. However, like I > said my scripting skills are minimal, so if any of these changes in > these scripts can be done in a better way, please feel free to do > so. I would do it myself, but it's going to take me trial and error > methods to get it right :) It would be completely unfair to place the burden on you. I can live with the current solution even though I'm not happy with it. I might find a bit of time to experiment this week, but I can't promise anything. Stefan [1] https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/findstr --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org