Sha256: 41a33b5748156bfee5d527fde3b4eb5f5e2064bc341509c6ecb17c4b1b7b5d33

Contents?: true

Size: 1.9 KB

Versions: 7

Compression:

Stored size: 1.9 KB

Contents

module Steep
  module Drivers
    class PrintProject
      attr_reader :stdout
      attr_reader :stderr

      include Utils::DriverHelper

      def initialize(stdout:, stderr:)
        @stdout = stdout
        @stderr = stderr
      end

      def run
        project = load_config()

        loader = Project::FileLoader.new(project: project)
        loader.load_sources([])
        loader.load_signatures()

        project.targets.each do |target|
          stdout.puts "Target:"
          stdout.puts "  #{target.name}:"
          stdout.puts "    sources:"
          stdout.puts "      patterns:"
          target.source_patterns.each do |pattern|
            stdout.puts "        - #{pattern}"
          end
          stdout.puts "      ignores:"
          target.ignore_patterns.each do |pattern|
            stdout.puts "        - #{pattern}"
          end
          stdout.puts "      files:"
          target.source_files.each_key do |path|
            stdout.puts "        - #{path}"
          end
          stdout.puts "    signatures:"
          stdout.puts "      patterns:"
          target.signature_patterns.each do |pattern|
            stdout.puts "        - #{pattern}"
          end
          stdout.puts "      files:"
          target.signature_files.each_key do |path|
            stdout.puts "        - #{path}"
          end
          stdout.puts "    libraries:"
          target.options.libraries.each do |lib|
            stdout.puts "      - #{lib}"
          end
          stdout.puts "    library dirs:"
          Project::Target.construct_env_loader(options: target.options).tap do |loader|
            loader.each_dir do |lib, path|
              case lib
              when :core
                stdout.puts "      - core: #{path}"
              else
                stdout.puts "      - #{lib.name}: #{path}"
              end
            end
          end
        end

        0
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
steep-0.41.0 lib/steep/drivers/print_project.rb
steep-0.40.0 lib/steep/drivers/print_project.rb
steep-0.39.0 lib/steep/drivers/print_project.rb
steep-0.38.0 lib/steep/drivers/print_project.rb
steep-0.37.0 lib/steep/drivers/print_project.rb
steep-0.36.0 lib/steep/drivers/print_project.rb
steep-0.35.0 lib/steep/drivers/print_project.rb