Top Level Namespace

Defined Under Namespace

Modules: MavenCentral Classes: CommandLine, MavenCentralRepo

Constant Summary collapse

MAVEN_CENTRAL_HOST =
"http://search.maven.org"
MAVEN_CENTRAL_REMOTE_CONTENT =
"#{MAVEN_CENTRAL_HOST}/remotecontent"
MAVEN_CENTRAL_SEARCH =
"#{MAVEN_CENTRAL_HOST}/solrsearch/select"

Instance Method Summary collapse

Instance Method Details

#check_dependencies(lib_name) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/mvn-get/cli.rb', line 28

def check_dependencies(lib_name)
  repo = select_one_library(lib_name, true)
  if repo != nil
    puts "Select library '#{repo.id}'"
    puts "Check dependencies..."
    deps = repo.recursive_dependencies
    if deps.empty?
      puts "Doesn't have any dependencies"
    else
      puts "#{deps.size} Dependencies:"
      deps.each{|x| puts "\t#{x.id}"}
    end
  end
  repo
end

#select_one_library(lib_name, show_notice) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mvn-get/cli.rb', line 7

def select_one_library(lib_name, show_notice)
  search_result = MavenCentral.search(lib_name)
  if search_result["candidates"].map{|x| x.gsub(/(.*):(.*):(.*)/, '\1:\1')  }.uniq.size == 1 and search_result["suggestions"].size == 0
    return MavenCentralRepo.new(search_result["candidates"][0])
  elsif show_notice
    if search_result["candidates"].size > 0
      puts "Please specify a library, for example: "
      search_result["candidates"].each {|x| puts "\t#{x}"}
    else
      puts "No available library call #{lib_name}"
    end

    if search_result["suggestions"].size > 0
      print "\nOr... " if search_result["candidates"].size > 0
      puts "Did you mean:"
      search_result["suggestions"].each {|x| puts "\t#{x}"}
    end
  end
  nil
end