Class: Packaging::Configuration

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/packaging/configuration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



26
27
28
29
30
31
32
33
34
# File 'lib/packaging/configuration.rb', line 26

def initialize
  @exclude_files = []
  @include_files = []
  @obs_api = "https://api.opensuse.org/"
  @obs_target = "openSUSE_Factory"
  @skip_license_check = []
  @maintenance_mode = false
  @documentation_minimal = 0
end

Instance Attribute Details

#documentation_minimalObject

Minimal documentation coverage to pass check:doc Default value is 0.



64
65
66
# File 'lib/packaging/configuration.rb', line 64

def documentation_minimal
  @documentation_minimal
end

#exclude_filesObject

array of files excluded for packaging



43
44
45
# File 'lib/packaging/configuration.rb', line 43

def exclude_files
  @exclude_files
end

#include_filesObject

Note:

recommended way is to generate in spec and not before package

array of files included for packaging (useful for e.g. for generated file not in git

Examples:

generate css from sass (where sass:update is task to generate it)

Packaging::Configuration.instance.include_files './**/*.css'
Rake::Task(:'package-local').prerequisites << "sass:update"


49
50
51
# File 'lib/packaging/configuration.rb', line 49

def include_files
  @include_files
end

#maintenance_modeObject

Specify if project is in maintenance mode. If so, then it create maintenance request instead of pull request



61
62
63
# File 'lib/packaging/configuration.rb', line 61

def maintenance_mode
  @maintenance_mode
end

#obs_apiObject

path to OBS api, useful if package is build in own instance of build service. By default api.opensuse.org



55
56
57
# File 'lib/packaging/configuration.rb', line 55

def obs_api
  @obs_api
end

#obs_projectObject

project name in OBS



51
52
53
# File 'lib/packaging/configuration.rb', line 51

def obs_project
  @obs_project
end

#obs_sr_projectObject

Project name in BS where submit request should go



53
54
55
# File 'lib/packaging/configuration.rb', line 53

def obs_sr_project
  @obs_sr_project
end

#obs_targetObject

obs build target, by default opensuse factory



57
58
59
# File 'lib/packaging/configuration.rb', line 57

def obs_target
  @obs_target
end

#package_dirObject



70
71
72
# File 'lib/packaging/configuration.rb', line 70

def package_dir
  @package_dir ||= "package"
end

#package_nameObject



66
67
68
# File 'lib/packaging/configuration.rb', line 66

def package_name
  @package_name ||= Dir.pwd.split("/").last
end

#skip_license_checkObject

additional list of regex to skip license check



59
60
61
# File 'lib/packaging/configuration.rb', line 59

def skip_license_check
  @skip_license_check
end

#versionObject



74
75
76
77
78
79
80
# File 'lib/packaging/configuration.rb', line 74

def version
  return @version if @version
  # try find version file
  versions = Dir.glob("version", File::FNM_CASEFOLD)
  return @version = File.read(versions.first).strip unless versions.empty?
  raise "cannot find version" #TODO more heuristic
end