Sha256: 00b0d23bb0235536dc6b274f362a7ada90495932ebed6978d3ceff9c5e975014

Contents?: true

Size: 1.51 KB

Versions: 1

Compression:

Stored size: 1.51 KB

Contents

module Physique
  class NugetConfig
    self.extend Albacore::ConfigDSL

    attr_path :exe,               # Path to nuget executable
              :restore_location,  # Path where nuget packages will be downloaded
              :build_location,    # Path where nuget packages will be built
              :disable_restore    # Disable the restore step

    # Disable metadata analysis (sets -NoPackageAnalysis flag)
    def disable_package_analysis
      @disable_package_analysis = true
    end

    def disable_restore
      @disable_restore = true
    end

    def initialize
      @exe = 'src/.nuget/NuGet.exe'
      @restore_location = 'src/packages'
      @build_location = 'build/packages'
    end

    def opts
      Map.new({
        exe: @exe,
        restore_location: @restore_location,
        build_location: @build_location,
        disable_package_analysis: !!@disable_package_analysis,
        disable_restore: !!@disable_restore
      })
    end
  end

  class NugetTasksBuilder < TasksBuilder
    def build_tasks
      add_restore_task
    end

    private

    def add_restore_task
      desc 'Restores all nugets as per the packages.config files'
      if solution.nuget.disable_restore
        task :restore do
          puts 'Nuget package restore skipped via configuration.'
        end
      else
        nugets_restore :restore do |r|
          r.out = solution.nuget.restore_location
          r.exe = solution.nuget.exe
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
physique-0.4.0 lib/physique/task_builders/nuget.rb