| 
									
										
										
										
											2015-02-26 22:36:04 +08:00
										 |  |  | module Language | 
					
						
							|  |  |  |   module Java | 
					
						
							| 
									
										
										
										
											2018-11-27 11:52:30 -08:00
										 |  |  |     def self.java_home_cmd(_ = nil) | 
					
						
							|  |  |  |       # macOS provides /usr/libexec/java_home, but Linux does not. | 
					
						
							|  |  |  |       raise NotImplementedError | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def self.java_home(version = nil) | 
					
						
							|  |  |  |       req = JavaRequirement.new [*version] | 
					
						
							|  |  |  |       raise UnsatisfiedRequirements, req.message unless req.satisfied? | 
					
						
							|  |  |  |       req.java_home | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     # @private | 
					
						
							|  |  |  |     def self.java_home_shell(version = nil) | 
					
						
							|  |  |  |       java_home(version).to_s | 
					
						
							| 
									
										
										
										
											2015-03-12 23:35:24 +08:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  |     def self.java_home_env(version = nil) | 
					
						
							| 
									
										
										
										
											2018-11-27 11:52:30 -08:00
										 |  |  |       { JAVA_HOME: java_home_shell(version) } | 
					
						
							| 
									
										
										
										
											2015-03-12 23:35:24 +08:00
										 |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-03 13:09:07 +01:00
										 |  |  |     def self.overridable_java_home_env(version = nil) | 
					
						
							| 
									
										
										
										
											2018-11-27 11:52:30 -08:00
										 |  |  |       { JAVA_HOME: "${JAVA_HOME:-#{java_home_shell(version)}}" } | 
					
						
							| 
									
										
										
										
											2015-02-26 22:36:04 +08:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end | 
					
						
							| 
									
										
										
										
											2018-11-27 11:52:30 -08:00
										 |  |  | 
 | 
					
						
							|  |  |  | require "extend/os/language/java" |