Sha256: c619f4064d688402b34434b90bb40f1e6125719e52ede327971f8eaed42c439b

Contents?: true

Size: 1.5 KB

Versions: 208

Compression:

Stored size: 1.5 KB

Contents

require 'travis/cli'

module Travis
  module CLI
    class Lint < ApiCommand
      description 'display warnings for a .travis.yml'
      on '-q', '--[no-]quiet',     'does not print anything'
      on '-x', '--[no-]exit-code', 'sets the exit code to 1 if there are warning'

      def run(file = nil)
        file ||= '.travis.yml' if $stdin.tty? or $stdin.eof?

        if file and file != '-'
          debug "reading #{file}"
          error "file does not exist: #{color(file, :bold)}" unless File.exist? file
          error "cannot read #{color(file, :bold)}"          unless File.readable? file
          content = File.read(file)
        else
          debug "reading stdin"
          file    = 'STDIN'
          content = $stdin.read
        end

        lint = session.lint(content)

        unless quiet?
          if lint.ok?
            say "valid", color("Hooray, #{file} looks %s :)", :success)
          else
            say "Warnings for #{color(file, :info)}:"
            lint.warnings.each do |warning|
              say color('[x]', [:red, :bold]) + " "
              if warning.key.any?
                say [
                  color('in ', :info),
                  color(warning.key.join('.'), [:info, :bold, :underline]),
                  color(' section:', :info), ' '
                ].join
              end
              say warning.message.gsub(/"(.*?)"/) { color($1, [:info, :important]) }
            end
          end
        end

        exit 1 if lint.warnings? and exit_code?
      end
    end
  end
end

Version data entries

208 entries across 208 versions & 3 rubygems

Version Path
travis-1.8.14.travis.1160.9 lib/travis/cli/lint.rb
travis-1.8.13 lib/travis/cli/lint.rb
travis-1.8.14.travis.1156.9 lib/travis/cli/lint.rb
travis-1.8.14.travis.1155.9 lib/travis/cli/lint.rb
travis-1.8.13.travis.1152.9 lib/travis/cli/lint.rb
travis-1.8.13.travis.1148.9 lib/travis/cli/lint.rb
travis-1.8.12 lib/travis/cli/lint.rb
travis-1.8.13.travis.1141.9 lib/travis/cli/lint.rb
travis-1.8.12.travis.1136.9 lib/travis/cli/lint.rb
travis-1.8.12.travis.1135.9 lib/travis/cli/lint.rb
travis-1.8.12.travis.1125.9 lib/travis/cli/lint.rb
travis-1.8.12.pre.rc1 lib/travis/cli/lint.rb
travis-1.8.12.travis.1116.9 lib/travis/cli/lint.rb
travis-1.8.12.travis.1111.9 lib/travis/cli/lint.rb
travis-1.8.12.travis.1101.9 lib/travis/cli/lint.rb
travis-1.8.11 lib/travis/cli/lint.rb
travis-1.8.11.travis.1098.9 lib/travis/cli/lint.rb
travis-1.8.11.travis.1081.9 lib/travis/cli/lint.rb
travis-1.8.11.travis.1059.11 lib/travis/cli/lint.rb
travis-1.8.11.travis.1058.11 lib/travis/cli/lint.rb