Class: Packaging::Configuration
- Inherits:
-
Object
- Object
- Packaging::Configuration
- Includes:
- Singleton
- Defined in:
- lib/packaging/configuration.rb
Instance Attribute Summary collapse
-
#documentation_minimal ⇒ Object
Minimal documentation coverage to pass check:doc Default value is 0.
-
#exclude_files ⇒ Object
array of files excluded for packaging.
-
#include_files ⇒ Object
array of files included for packaging (useful for e.g. for generated file not in git.
-
#maintenance_mode ⇒ Object
Specify if project is in maintenance mode.
-
#obs_api ⇒ Object
path to OBS api, useful if package is build in own instance of build service.
-
#obs_project ⇒ Object
project name in OBS.
-
#obs_sr_project ⇒ Object
Project name in BS where submit request should go.
-
#obs_target ⇒ Object
obs build target, by default opensuse factory.
- #package_dir ⇒ Object
- #package_name ⇒ Object
-
#skip_license_check ⇒ Object
additional list of regex to skip license check.
- #version ⇒ Object
Instance Method Summary collapse
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
-
#summary ⇒ Array<String>
configuration summary.
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
28 29 30 31 32 33 34 35 36 |
# File 'lib/packaging/configuration.rb', line 28 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_minimal ⇒ Object
Minimal documentation coverage to pass check:doc Default value is 0.
66 67 68 |
# File 'lib/packaging/configuration.rb', line 66 def documentation_minimal @documentation_minimal end |
#exclude_files ⇒ Object
array of files excluded for packaging
45 46 47 |
# File 'lib/packaging/configuration.rb', line 45 def exclude_files @exclude_files end |
#include_files ⇒ Object
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
51 52 53 |
# File 'lib/packaging/configuration.rb', line 51 def include_files @include_files end |
#maintenance_mode ⇒ Object
Specify if project is in maintenance mode. If so, then it create maintenance request instead of pull request
63 64 65 |
# File 'lib/packaging/configuration.rb', line 63 def maintenance_mode @maintenance_mode end |
#obs_api ⇒ Object
path to OBS api, useful if package is build in own instance of build service. By default api.opensuse.org
57 58 59 |
# File 'lib/packaging/configuration.rb', line 57 def obs_api @obs_api end |
#obs_project ⇒ Object
project name in OBS
53 54 55 |
# File 'lib/packaging/configuration.rb', line 53 def obs_project @obs_project end |
#obs_sr_project ⇒ Object
Project name in BS where submit request should go
55 56 57 |
# File 'lib/packaging/configuration.rb', line 55 def obs_sr_project @obs_sr_project end |
#obs_target ⇒ Object
obs build target, by default opensuse factory
59 60 61 |
# File 'lib/packaging/configuration.rb', line 59 def obs_target @obs_target end |
#package_dir ⇒ Object
72 73 74 |
# File 'lib/packaging/configuration.rb', line 72 def package_dir @package_dir ||= "package" end |
#package_name ⇒ Object
68 69 70 |
# File 'lib/packaging/configuration.rb', line 68 def package_name @package_name ||= Dir.pwd.split("/").last end |
#skip_license_check ⇒ Object
additional list of regex to skip license check
61 62 63 |
# File 'lib/packaging/configuration.rb', line 61 def skip_license_check @skip_license_check end |
#version ⇒ Object
76 77 78 79 80 81 82 |
# File 'lib/packaging/configuration.rb', line 76 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 |
Instance Method Details
#summary ⇒ Array<String>
configuration summary
86 87 88 89 90 91 92 93 94 95 |
# File 'lib/packaging/configuration.rb', line 86 def summary [ "Package directory: #{package_dir}", "OBS instance: #{obs_api}", "OBS project: #{obs_project}", "OBS package name: #{package_name}", "OBS build target: #{build_dist}", "OBS submit target: #{obs_sr_project}" ] end |