class Pod::Command::RepoSvn::Lint
Public Class Methods
new(argv)
click to toggle source
Calls superclass method
# File lib/pod/command/repo_svn/lint.rb, line 21 def initialize(argv) @name = argv.shift_argument @only_errors = argv.flag?('only-errors') super end
options()
click to toggle source
Calls superclass method
# File lib/pod/command/repo_svn/lint.rb, line 17 def self.options [["--only-errors", "Lint presents only the errors"]].concat(super) end
Public Instance Methods
run()
click to toggle source
@todo Part of this logic needs to be ported to cocoapods-core so web
services can validate the repo.
@todo add UI.print and enable print statements again.
# File lib/pod/command/repo_svn/lint.rb, line 32 def run if @name dirs = File.exists?(@name) ? [ Pathname.new(@name) ] : [ dir ] else dirs = config.repos_dir.children.select {|c| c.directory?} end dirs.each do |dir| # SourcesManager.check_version_information(dir) #todo: test me Config.instance.sources_manager.sources([dir.basename.to_s]).each(&:verify_compatibility!) #todo: TEST ME UI.puts "\nLinting spec repo `#{dir.realpath.basename}`\n".yellow validator = Source::HealthReporter.new(dir) validator.pre_check do |name, version| UI.print '.' end report = validator.analyze UI.puts UI.puts report.pods_by_warning.each do |message, versions_by_name| UI.puts "-> #{message}".yellow versions_by_name.each { |name, versions| UI.puts " - #{name} (#{versions * ', '})" } UI.puts end report.pods_by_error.each do |message, versions_by_name| UI.puts "-> #{message}".red versions_by_name.each { |name, versions| UI.puts " - #{name} (#{versions * ', '})" } UI.puts end UI.puts "Analyzed #{report.analyzed_paths.count} podspecs files.\n\n" if report.pods_by_error.count.zero? UI.puts "All the specs passed validation.".green << "\n\n" else raise Informative, "#{report.pods_by_error.count} podspecs failed validation." end end end