class Warbler::WebServer::Artifact
Public Instance Methods
cached_path()
click to toggle source
# File lib/warbler/web_server.rb, line 9 def cached_path @cached_path ||= File.join(local_repository, path_fragment) end
download_url()
click to toggle source
# File lib/warbler/web_server.rb, line 13 def download_url @download_url ||= "#{repo}/#{path_fragment}" #:nocov: end
local_path()
click to toggle source
# File lib/warbler/web_server.rb, line 17 def local_path unless File.exist?(cached_path) puts "Downloading #{artifact_id}-#{version}.jar" #:nocov: FileUtils.mkdir_p File.dirname(cached_path) #:nocov: require 'open-uri' #:nocov: begin open(download_url) do |stream| #:nocov: File.open(cached_path, "wb") do |f| #:nocov: while buf = stream.read(4096) #:nocov: f << buf #:nocov: end #:nocov: end #:nocov: end #:nocov: rescue => e e.message.concat " - #{download_url}" raise e end end cached_path end
local_repository()
click to toggle source
# File lib/warbler/web_server.rb, line 40 def local_repository @@local_repository ||= begin m2_home = File.join(user_home, '.m2') if File.exist?(settings = File.join(m2_home, 'settings.xml')) local_repo = detect_local_repository(settings) end if local_repo.nil? && mvn_home = ENV['M2_HOME'] || ENV['MAVEN_HOME'] if File.exist?(settings = File.join(mvn_home, 'conf/settings.xml')) local_repo = detect_local_repository(settings) end end local_repo || File.join(m2_home, 'repository') end end
path_fragment()
click to toggle source
# File lib/warbler/web_server.rb, line 5 def path_fragment @path_fragment ||= "#{group_id.gsub('.', '/')}/#{artifact_id}/#{version}/#{artifact_id}-#{version}.jar" end
Private Instance Methods
detect_local_repository(settings)
click to toggle source
# File lib/warbler/web_server.rb, line 67 def detect_local_repository(settings); require 'rexml/document' doc = REXML::Document.new( File.read( settings ) ) if local_repo = doc.root.elements['localRepository'] if ( local_repo = local_repo.first ) local_repo = local_repo.value local_repo = nil if local_repo.empty? end end local_repo end
user_home()
click to toggle source
# File lib/warbler/web_server.rb, line 57 def user_home ENV[ 'HOME' ] || begin user_home = Dir.home if Dir.respond_to?(:home) unless user_home user_home = ENV_JAVA[ 'user.home' ] if Object.const_defined?(:ENV_JAVA) end user_home end end