Class: Pod::Command::Repo::Lint
- Inherits:
-
Pod::Command::Repo
- Object
- CLAide::Command
- Pod::Command
- Pod::Command::Repo
- Pod::Command::Repo::Lint
- Defined in:
- lib/cocoapods/command/repo/lint.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(argv) ⇒ Lint
constructor
A new instance of Lint.
-
#run ⇒ Object
Run the command.
Methods inherited from Pod::Command::Repo
Methods included from Executable
capture_command, capture_command!, #executable, execute_command, which, which!
Methods inherited from Pod::Command
#ensure_master_spec_repo_exists!, ensure_not_root_or_allowed!, report_error, run
Methods included from Pod::Config::Mixin
Constructor Details
#initialize(argv) ⇒ Lint
Returns a new instance of Lint.
23 24 25 26 27 |
# File 'lib/cocoapods/command/repo/lint.rb', line 23 def initialize(argv) @name = argv.shift_argument @only_errors = argv.flag?('only-errors') super end |
Class Method Details
.options ⇒ Object
17 18 19 20 21 |
# File 'lib/cocoapods/command/repo/lint.rb', line 17 def self. [ ['--only-errors', 'Lint presents only the errors'], ].concat(super) end |
Instance Method Details
#run ⇒ Object
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.
Run the command
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/cocoapods/command/repo/lint.rb', line 36 def run sources = if @name if File.exist?(@name) [Source.new(Pathname(@name))] else config.sources_manager.sources([@name]) end else config.sources_manager.all end sources.each do |source| source.verify_compatibility! UI.puts "\nLinting spec repo `#{source.name}`\n".yellow validator = Source::HealthReporter.new(source.repo) validator.pre_check do |_name, _version| UI.print '.' end report = validator.analyze UI.puts UI.puts report.pods_by_warning.each do |, versions_by_name| UI.puts "-> #{}".yellow versions_by_name.each { |name, versions| UI.puts " - #{name} (#{versions * ', '})" } UI.puts end report.pods_by_error.each do |, versions_by_name| UI.puts "-> #{}".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 |