Joshua Root <j...@macports.org> wrote:

> On 24/2/2023 11:44, Nils Breunese wrote:
>> Latest LTS (currently openjdk17) could be reasonable, but ideally the 
>> fallback version should be verified to work. If that implicitly happens on 
>> CI, because there is never a pre-existing Java installation there, then I 
>> guess that’s could be ok, although I personally think it’s good to have 
>> explicitly set fallback versions.
> 
> Yes, it would need to be a dynamic default, taking into account the OS 
> version, build_arch, and java.version in order to pick a JDK port that will 
> work.

A specific fallback port provides a specific Java feature version. A Java 
fallback port should indeed support all archs supported by the port that is 
getting installed, but most of them support both x86_64 and arm64. But if 
necessary java.fallback could be set conditionally based on anything.

> I don't understand why having individual ports set their own fallback version 
> would be considered better in general, since it doesn't actually guarantee 
> that a specific JDK will be present. The portgroup's behaviour is to use any 
> installed JDK that meets the requirement given in java.version. Ports that 
> need a specific JDK need to explicitly declare a dependency on it either way.

If no Java version that meets the java.version requirement is present, then the 
java.fallback port will be installed. When that happens I think it should be a 
Java port that actually works for the port, not some default that ‘hopefully 
works’, so that is why I’m in favor of port maintainers setting a fallback Java 
port explicitly.

Nils.

Reply via email to