<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>