mirror of
https://github.com/chromebrew/chromebrew.git
synced 2026-01-06 22:24:12 -05:00
63 lines
1.9 KiB
Ruby
63 lines
1.9 KiB
Ruby
require 'package'
|
|
Dir["#{CREW_PACKAGES_PATH}/openjdk*.rb"].each do |openjdk_file|
|
|
next unless openjdk_file =~ /openjdk(\d+).rb/
|
|
|
|
openjdk_name = File.basename(openjdk_file, '.rb')
|
|
require_relative openjdk_name
|
|
end
|
|
|
|
class Openjdk < Package
|
|
description 'The JDK is a development environment for building applications, applets, and components using the Java programming language.'
|
|
homepage 'https://openjdk.org/'
|
|
key = 1
|
|
@openjdk_versions = []
|
|
Dir["#{CREW_PACKAGES_PATH}/openjdk*.rb"].each do |openjdk_file|
|
|
next unless openjdk_file =~ /openjdk(\d+).rb/
|
|
|
|
openjdk_name = File.basename(openjdk_file, '.rb')
|
|
openjdk_ver = Object.const_get(openjdk_name.capitalize).version.to_s.gsub(/-(\d+)/, '')
|
|
@openjdk_versions.push [key, openjdk_name, openjdk_ver]
|
|
key += 1
|
|
end
|
|
versions = @openjdk_versions.map do |openjdk_ver|
|
|
openjdk_ver[2]
|
|
end
|
|
versions.sort!
|
|
version "#{versions.first}-#{versions.last}"
|
|
license 'GPL-2'
|
|
compatibility 'all'
|
|
|
|
is_fake
|
|
|
|
def self.preflight
|
|
if ARGV.include?('install')
|
|
puts "\n Select version:"
|
|
@openjdk_versions.each do |openjdk_ver|
|
|
option = " #{openjdk_ver[0]} = Openjdk #{openjdk_ver[2]}"
|
|
if File.file? "#{CREW_META_PATH}/#{openjdk_ver[1]}.filelist"
|
|
puts option.lightgreen
|
|
else
|
|
puts option
|
|
end
|
|
end
|
|
puts ' 0 = Cancel'
|
|
|
|
while (version = $stdin.gets.chomp.downcase.to_i)
|
|
version = 0 if version.negative? || version > @openjdk_versions.length
|
|
key = version - 1
|
|
case version
|
|
when @openjdk_versions[key][0]
|
|
if File.file? "#{CREW_META_PATH}/#{@openjdk_versions[key][1]}.filelist"
|
|
abort "Package #{@openjdk_versions[key][1]} already installed.".lightgreen
|
|
else
|
|
depends_on @openjdk_versions[key][1]
|
|
end
|
|
break
|
|
when 0
|
|
abort
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|