Class: Albacore::NugetsPack::Config

Inherits:
Object
  • Object
show all
Extended by:
ConfigDSL
Includes:
CmdConfig
Defined in:
lib/albacore/task_types/nugets_pack.rb

Overview

This tasktype allows you to quickly package project files to nuget packages.

Point files to the project files, that should be in MsBuild XML.

Examples

nugets_pack :pack => ['build/pkg', :versioning] do |p|
  p.files   = FileList['src/**/*.csproj']
  p.out     = 'build/pkg'
  p.exe     = 'buildsupport/NuGet.exe'
  p. do |m|
    m.version = ENV['NUGET_VERSION']
  end
  p.gen_symbols
  p.no_project_dependencies
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from ConfigDSL

attr_path, attr_path_accessor

Methods included from CmdConfig

#add_parameter, #parameters

Methods included from Logging

#debug, #err, #error, #fatal, #info, #puts, #trace, #warn

Constructor Details

#initializeConfig

Returns a new instance of Config.



125
126
127
128
129
130
131
132
# File 'lib/albacore/task_types/nugets_pack.rb', line 125

def initialize
  @package = Albacore::NugetModel::Package.new
  @target  = 'net40'
  @symbols = false
  @project_dependencies = true
  @leave_nuspec = false
  fill_required
end

Instance Attribute Details

#configuration=(value) ⇒ Object (writeonly)

sets the MsBuild configuration that is used to produce the output into <OutputPath>…</OutputPath>



123
124
125
# File 'lib/albacore/task_types/nugets_pack.rb', line 123

def configuration=(value)
  @configuration = value
end

#files=(value) ⇒ Object (writeonly)

sets the files to search



119
120
121
# File 'lib/albacore/task_types/nugets_pack.rb', line 119

def files=(value)
  @files = value
end

#target=(value) ⇒ Object (writeonly)

the .net target (e.g. net40, mono20, mono3, etc)



116
117
118
# File 'lib/albacore/task_types/nugets_pack.rb', line 116

def target=(value)
  @target = value
end

Instance Method Details

#gen_symbolsObject

generate symbols for the nugets: just call this method to enable generation



145
146
147
# File 'lib/albacore/task_types/nugets_pack.rb', line 145

def gen_symbols
  @symbols = true
end

#leave_nuspecObject

leave the nuspec behind, don’t delete it after generating it



151
152
153
# File 'lib/albacore/task_types/nugets_pack.rb', line 151

def leave_nuspec
  @leave_nuspec = true
end

#no_project_dependenciesObject

call this if you want to cancel ‘smart’ scanning of the *proj file for its dependencies



157
158
159
# File 'lib/albacore/task_types/nugets_pack.rb', line 157

def no_project_dependencies
  @project_dependencies = false
end

#optsObject

gets the options specified for the task, used from the task



162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
# File 'lib/albacore/task_types/nugets_pack.rb', line 162

def opts
  files = @files.respond_to?(:each) ? @files : [@files]

  [:authors, :description, :version].each do |required|
    warn "metadata##{required} is missing from nugets_pack [nugets pack: config]" if @package..send(required) == 'MISSING' 
  end
  
  Map.new({
    :out           => @out,
    :exe           => @exe,
    :symbols       => @symbols,
    :package       => @package,
    :target        => @target,
    :files         => @files,
    :configuration => @configuration,
    :project_dependencies => @project_dependencies,
    :original_path => FileUtils.pwd,
    :leave_nuspec  => @leave_nuspec
  })
end

#with_metadata {|@package.metadata| ... } ⇒ Object

Yields:

  • (@package.metadata)


134
135
136
# File 'lib/albacore/task_types/nugets_pack.rb', line 134

def  &block
  yield @package.
end

#with_package {|@package| ... } ⇒ Object

configure the package with a block

Yields:

  • (@package)


139
140
141
# File 'lib/albacore/task_types/nugets_pack.rb', line 139

def with_package &block
  yield @package
end