<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/4b51c00a9919826d4c22b752af59aeea418faec6">https://github.com/macports/macports-ports/commit/4b51c00a9919826d4c22b752af59aeea418faec6</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 4b51c00a9919826d4c22b752af59aeea418faec6
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Sun Nov 4 17:14:07 2018 +0000

<span style='display:block; white-space:pre;color:#404040;'>    java PortGroup: Support scenario required openjdk gets installed as dependency. Export java.home for ports to use as required.
</span>---
 _resources/port1.0/group/java-1.0.tcl | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/java-1.0.tcl b/_resources/port1.0/group/java-1.0.tcl
</span><span style='display:block; white-space:pre;color:#808080;'>index 9204806..a7b144d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/_resources/port1.0/group/java-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/java-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,9 +18,10 @@
</span> #
 # If the required Java cannot be found, an error will be thrown at pre-fetch.
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-options java.version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options java.version java.home
</span> 
 default java.version {}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+default java.home    {}
</span> 
 # allow PortGroup to be used inside a variant (e.g. octave)
 global java_version_not_found
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -28,8 +29,13 @@ set java_version_not_found no
</span> 
 pre-fetch {
     if { ${java_version_not_found} } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ui_error "${name} requires Java ${java.version} but no such installation could be found."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        return -code error "missing required Java version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # Check again, incase java became available, .e.g openjdk installed as a dependency
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        java_set_env
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # If still not present, error out
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if { ${java_version_not_found} } {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ui_error "${name} requires Java ${java.version} but no such installation could be found."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -code error "missing required Java version"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -37,13 +43,16 @@ pre-fetch {
</span> proc find_java_home {} {
     set home_value ""
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Default setting to found, until proved otherwise below
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global java_version_not_found
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set java_version_not_found no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    
</span>     global java.version
     if { ${java.version} ne "" } {
         if { [catch {set val [exec "/usr/libexec/java_home" "-f" "-v" ${java.version}]}] } {
             # Don't return an error because that would prevent the port from
             # even being indexed when the required Java is missing. Instead, set
             # a flag to be checked at pre-fetch.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-            global java_version_not_found
</span>             set java_version_not_found yes
         } else {
             set home_value $val
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -92,5 +101,6 @@ proc java_set_env {} {
</span>     configure.env-append   JAVA_HOME=${java_home}
     build.env-append       JAVA_HOME=${java_home}
     destroot.env-append    JAVA_HOME=${java_home}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    java.home ${java_home}
</span> }
 port::register_callback java_set_env
</pre><pre style='margin:0'>

</pre>