Class: JavaRequirement

Inherits:
Requirement show all
Defined in:
brew/Library/Homebrew/requirements/java_requirement.rb,
brew/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb,
brew/Library/Homebrew/extend/os/linux/requirements/java_requirement.rb

Defined Under Namespace

Classes: CaskSuggestion

Constant Summary

Constants included from Dependable

Dependable::RESERVED_TAGS

Instance Attribute Summary collapse

Attributes inherited from Requirement

#cask, #download, #name, #tags

Instance Method Summary collapse

Methods inherited from Requirement

#==, #env, env, #env_proc, expand, #fatal?, #hash, #mktemp, #modify_build_environment, #option_names, prune, prune?, #satisfied?, #satisfied_result_parent, satisfy

Methods included from BuildEnvironment::DSL

#env

Methods included from Dependable

#build?, #option_tags, #optional?, #options, #prune_from_option?, #prune_if_build_and_not_dependent?, #recommended?, #required?, #test?

Constructor Details

#initialize(tags = []) ⇒ JavaRequirement

Returns a new instance of JavaRequirement



30
31
32
33
34
# File 'brew/Library/Homebrew/requirements/java_requirement.rb', line 30

def initialize(tags = [])
  @version = tags.shift if /^\d/ =~ tags.first
  super(tags)
  @cask = suggestion.token
end

Instance Attribute Details

#java_homeObject (readonly)

Returns the value of attribute java_home



6
7
8
# File 'brew/Library/Homebrew/requirements/java_requirement.rb', line 6

def java_home
  @java_home
end

Instance Method Details

#display_sObject



47
48
49
50
51
52
53
54
55
56
57
58
# File 'brew/Library/Homebrew/requirements/java_requirement.rb', line 47

def display_s
  if @version
    if exact_version?
      op = "="
    else
      op = ">="
    end
    "#{name} #{op} #{version_without_plus}"
  else
    name
  end
end

#inspectObject



43
44
45
# File 'brew/Library/Homebrew/requirements/java_requirement.rb', line 43

def inspect
  "#<#{self.class.name}: #{tags.inspect} version=#{@version.inspect}>"
end

#messageObject



36
37
38
39
40
41
# File 'brew/Library/Homebrew/requirements/java_requirement.rb', line 36

def message
  version_string = " #{@version}" if @version
  s = "Java#{version_string} is required to install this formula.\n"
  s += suggestion
  s
end

#suggestionObject

A strict Java 8 requirement (1.8) should prompt the user to install an OpenJDK 1.8 distribution. Versions newer than Java 8 are not completely backwards compatible, and contain breaking changes such as strong encapsulation of JDK-internal APIs and a modified version scheme (.0 not 1.).



15
16
17
18
19
20
21
# File 'brew/Library/Homebrew/requirements/java_requirement.rb', line 15

def suggestion
  if fits_latest?
    JAVA_SUGGESTION_MAP.fetch(JAVA_SUGGESTION_MAP.keys.max)
  else
    JAVA_SUGGESTION_MAP.fetch("1.8")
  end
end