fedux_org-stdlib 0.3.2 → 0.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +2 -0
  3. data/.simplecov +7 -6
  4. data/Gemfile +33 -28
  5. data/README.md +1 -1
  6. data/Rakefile +8 -1
  7. data/doc/colors.md +2 -2
  8. data/doc/commands.md +2 -2
  9. data/doc/logic_converters.md +5 -5
  10. data/doc/models.md +5 -5
  11. data/fedux_org-stdlib.gemspec +3 -7
  12. data/lib/fedux_org_stdlib.rb +13 -0
  13. data/lib/fedux_org_stdlib/app_config.rb +247 -0
  14. data/lib/fedux_org_stdlib/ci.rb +6 -0
  15. data/lib/fedux_org_stdlib/colors/html_color.rb +18 -0
  16. data/lib/fedux_org_stdlib/command.rb +10 -0
  17. data/lib/fedux_org_stdlib/command/command_result.rb +13 -0
  18. data/lib/fedux_org_stdlib/command/run_command.rb +55 -0
  19. data/lib/fedux_org_stdlib/command/which.rb +60 -0
  20. data/lib/fedux_org_stdlib/core_ext/array.rb +6 -0
  21. data/lib/fedux_org_stdlib/core_ext/string.rb +3 -0
  22. data/lib/fedux_org_stdlib/environment.rb +32 -0
  23. data/lib/fedux_org_stdlib/filesystem.rb +248 -0
  24. data/lib/fedux_org_stdlib/filesystem/exceptions.rb +12 -0
  25. data/lib/fedux_org_stdlib/logging.rb +12 -0
  26. data/lib/fedux_org_stdlib/logging/logger.rb +79 -0
  27. data/lib/{fedux_org/stdlib → fedux_org_stdlib}/logging/severity.rb +1 -0
  28. data/lib/fedux_org_stdlib/logic_converters.rb +11 -0
  29. data/lib/{fedux_org/stdlib → fedux_org_stdlib}/logic_converters/exceptions.rb +1 -0
  30. data/lib/fedux_org_stdlib/logic_converters/logic_converter.rb +39 -0
  31. data/lib/fedux_org_stdlib/logic_converters/on_off_converter.rb +35 -0
  32. data/lib/fedux_org_stdlib/logic_converters/true_false_converter.rb +34 -0
  33. data/lib/fedux_org_stdlib/logic_converters/y_n_converter.rb +34 -0
  34. data/lib/fedux_org_stdlib/logic_converters/yes_no_converter.rb +34 -0
  35. data/lib/fedux_org_stdlib/models.rb +5 -0
  36. data/lib/fedux_org_stdlib/models/base_model.rb +129 -0
  37. data/lib/fedux_org_stdlib/models/class_based_model.rb +67 -0
  38. data/lib/fedux_org_stdlib/models/exceptions.rb +40 -0
  39. data/lib/fedux_org_stdlib/models/filesystem_based_model.rb +98 -0
  40. data/lib/fedux_org_stdlib/project.rb +6 -0
  41. data/lib/fedux_org_stdlib/project/generators/taskjuggler.rb +35 -0
  42. data/lib/fedux_org_stdlib/project/logger.rb +12 -0
  43. data/lib/fedux_org_stdlib/project/plan.rb +26 -0
  44. data/lib/fedux_org_stdlib/project/report.rb +63 -0
  45. data/lib/fedux_org_stdlib/rake.rb +8 -0
  46. data/lib/fedux_org_stdlib/rake/exceptions.rb +9 -0
  47. data/lib/{fedux_org/stdlib → fedux_org_stdlib}/rake/project.rb +4 -4
  48. data/lib/fedux_org_stdlib/rake/project_task.rb +29 -0
  49. data/lib/fedux_org_stdlib/rake/shell_task.rb +45 -0
  50. data/lib/fedux_org_stdlib/rake/sub_task.rb +26 -0
  51. data/lib/fedux_org_stdlib/rake/task.rb +118 -0
  52. data/lib/fedux_org_stdlib/rake/version_bump_task.rb +56 -0
  53. data/lib/fedux_org_stdlib/rake_tasks.rb +8 -0
  54. data/lib/fedux_org_stdlib/rake_tasks/console.rb +11 -0
  55. data/lib/fedux_org_stdlib/rake_tasks/documentation.rb +2 -0
  56. data/lib/fedux_org_stdlib/rake_tasks/documentation/yard.rb +9 -0
  57. data/lib/fedux_org_stdlib/rake_tasks/gems.rb +3 -0
  58. data/lib/fedux_org_stdlib/rake_tasks/gems/bundler.rb +9 -0
  59. data/lib/fedux_org_stdlib/rake_tasks/gems/package.rb +9 -0
  60. data/lib/fedux_org_stdlib/rake_tasks/project.rb +1 -0
  61. data/lib/fedux_org_stdlib/rake_tasks/project/report.rb +3 -0
  62. data/lib/fedux_org_stdlib/rake_tasks/project/report/generate.rb +10 -0
  63. data/lib/fedux_org_stdlib/rake_tasks/project/report/open.rb +12 -0
  64. data/lib/fedux_org_stdlib/rake_tasks/project/report/open_shortcut.rb +9 -0
  65. data/lib/fedux_org_stdlib/rake_tasks/qa.rb +4 -0
  66. data/lib/fedux_org_stdlib/rake_tasks/qa/rubocop.rb +13 -0
  67. data/lib/fedux_org_stdlib/rake_tasks/qa/travis.rb +13 -0
  68. data/lib/fedux_org_stdlib/rake_tasks/terminal.rb +9 -0
  69. data/lib/fedux_org_stdlib/rake_tasks/tests.rb +4 -0
  70. data/lib/fedux_org_stdlib/rake_tasks/tests/cucumber.rb +13 -0
  71. data/lib/fedux_org_stdlib/rake_tasks/tests/rspec.rb +12 -0
  72. data/lib/fedux_org_stdlib/rake_tasks/tests/travis.rb +11 -0
  73. data/lib/fedux_org_stdlib/rake_tasks/version.rb +6 -0
  74. data/lib/fedux_org_stdlib/rake_tasks/version/bump.rb +8 -0
  75. data/lib/fedux_org_stdlib/rake_tasks/version/restore.rb +11 -0
  76. data/lib/fedux_org_stdlib/rake_tasks/version/show.rb +12 -0
  77. data/lib/fedux_org_stdlib/rake_tasks/version/show_shortcut.rb +9 -0
  78. data/lib/fedux_org_stdlib/require_files.rb +27 -0
  79. data/lib/fedux_org_stdlib/version.rb +5 -0
  80. data/lib/fedux_org_stdlib/version_management/exceptions.rb +9 -0
  81. data/lib/fedux_org_stdlib/version_management/library_builder.rb +12 -0
  82. data/lib/fedux_org_stdlib/version_management/ruby_library.rb +13 -0
  83. data/lib/fedux_org_stdlib/version_management/rubygem_version_file.rb +78 -0
  84. data/lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb +22 -0
  85. data/lib/fedux_org_stdlib/version_management/version.rb +25 -0
  86. data/lib/fedux_org_stdlib/version_management/version_builder.rb +12 -0
  87. data/lib/fedux_org_stdlib/versionable.rb +18 -0
  88. data/rakefiles/default.rake +8 -1
  89. data/rakefiles/travis.rake +1 -1
  90. data/script/console +1 -1
  91. data/script/terminal +3 -2
  92. data/spec/app_config_spec.rb +7 -0
  93. data/spec/colors/html_color_spec.rb +7 -14
  94. data/spec/command/run_command_spec.rb +9 -10
  95. data/spec/command/which_spec.rb +8 -9
  96. data/spec/environment_spec.rb +12 -11
  97. data/spec/logger/logger_spec.rb +17 -16
  98. data/spec/logic_converters/on_off_converter_spec.rb +8 -7
  99. data/spec/logic_converters/true_false_converter_spec.rb +8 -7
  100. data/spec/logic_converters/y_n_converter_spec.rb +8 -7
  101. data/spec/logic_converters/yes_no_converter_spec.rb +8 -7
  102. data/spec/models/base_model_spec.rb +7 -7
  103. data/spec/models/class_based_model_spec.rb +37 -39
  104. data/spec/models/filesystem_based_model_spec.rb +24 -24
  105. data/spec/project/plan_spec.rb +6 -5
  106. data/spec/project/report_spec.rb +35 -29
  107. data/spec/project/taskjuggler_spec.rb +13 -12
  108. data/spec/spec_helper.rb +15 -38
  109. data/spec/support/environment.rb +16 -0
  110. data/spec/support/filesystem.rb +19 -0
  111. data/spec/support/reporting.rb +2 -0
  112. data/spec/support/rspec.rb +5 -0
  113. data/spec/support/string.rb +2 -0
  114. data/spec/version_management/library_builder_spec.rb +5 -4
  115. data/spec/version_management/ruby_library_spec.rb +5 -4
  116. data/spec/version_management/rubygem_version_file_parser_spec.rb +27 -16
  117. data/spec/version_management/rubygem_version_file_spec.rb +56 -54
  118. data/spec/version_management/version_builder_spec.rb +5 -4
  119. data/spec/version_management/version_spec.rb +16 -16
  120. metadata +104 -110
  121. data/lib/fedux_org/stdlib.rb +0 -15
  122. data/lib/fedux_org/stdlib/colors/html_color.rb +0 -19
  123. data/lib/fedux_org/stdlib/command.rb +0 -11
  124. data/lib/fedux_org/stdlib/command/command_result.rb +0 -14
  125. data/lib/fedux_org/stdlib/command/run_command.rb +0 -55
  126. data/lib/fedux_org/stdlib/command/which.rb +0 -67
  127. data/lib/fedux_org/stdlib/environment.rb +0 -31
  128. data/lib/fedux_org/stdlib/filesystem.rb +0 -247
  129. data/lib/fedux_org/stdlib/filesystem/exceptions.rb +0 -13
  130. data/lib/fedux_org/stdlib/logging.rb +0 -13
  131. data/lib/fedux_org/stdlib/logging/logger.rb +0 -79
  132. data/lib/fedux_org/stdlib/logic_converters.rb +0 -12
  133. data/lib/fedux_org/stdlib/logic_converters/logic_converter.rb +0 -40
  134. data/lib/fedux_org/stdlib/logic_converters/on_off_converter.rb +0 -36
  135. data/lib/fedux_org/stdlib/logic_converters/true_false_converter.rb +0 -35
  136. data/lib/fedux_org/stdlib/logic_converters/y_n_converter.rb +0 -35
  137. data/lib/fedux_org/stdlib/logic_converters/yes_no_converter.rb +0 -35
  138. data/lib/fedux_org/stdlib/models.rb +0 -4
  139. data/lib/fedux_org/stdlib/models/base_model.rb +0 -129
  140. data/lib/fedux_org/stdlib/models/class_based_model.rb +0 -76
  141. data/lib/fedux_org/stdlib/models/exceptions.rb +0 -41
  142. data/lib/fedux_org/stdlib/models/filesystem_based_model.rb +0 -99
  143. data/lib/fedux_org/stdlib/project.rb +0 -5
  144. data/lib/fedux_org/stdlib/project/generators/taskjuggler.rb +0 -41
  145. data/lib/fedux_org/stdlib/project/logger.rb +0 -13
  146. data/lib/fedux_org/stdlib/project/plan.rb +0 -15
  147. data/lib/fedux_org/stdlib/project/report.rb +0 -67
  148. data/lib/fedux_org/stdlib/rake.rb +0 -7
  149. data/lib/fedux_org/stdlib/rake/console.rb +0 -3
  150. data/lib/fedux_org/stdlib/rake/documentation.rb +0 -1
  151. data/lib/fedux_org/stdlib/rake/documentation/yard.rb +0 -14
  152. data/lib/fedux_org/stdlib/rake/gems.rb +0 -2
  153. data/lib/fedux_org/stdlib/rake/gems/bundler.rb +0 -12
  154. data/lib/fedux_org/stdlib/rake/gems/package.rb +0 -7
  155. data/lib/fedux_org/stdlib/rake/library.rb +0 -8
  156. data/lib/fedux_org/stdlib/rake/terminal.rb +0 -9
  157. data/lib/fedux_org/stdlib/rake/tests.rb +0 -3
  158. data/lib/fedux_org/stdlib/rake/tests/cucumber.rb +0 -6
  159. data/lib/fedux_org/stdlib/rake/tests/rspec.rb +0 -6
  160. data/lib/fedux_org/stdlib/rake/tests/travis.rb +0 -15
  161. data/lib/fedux_org/stdlib/rake/travis.rb +0 -1
  162. data/lib/fedux_org/stdlib/rake/travis/lint.rb +0 -10
  163. data/lib/fedux_org/stdlib/rake/version.rb +0 -4
  164. data/lib/fedux_org/stdlib/rake/version/base.rb +0 -7
  165. data/lib/fedux_org/stdlib/rake/version/bump.rb +0 -78
  166. data/lib/fedux_org/stdlib/rake/version/restore.rb +0 -9
  167. data/lib/fedux_org/stdlib/rake/version/show.rb +0 -9
  168. data/lib/fedux_org/stdlib/rake/version/show_shortcut.rb +0 -6
  169. data/lib/fedux_org/stdlib/version.rb +0 -6
  170. data/lib/fedux_org/stdlib/version_management/library_builder.rb +0 -15
  171. data/lib/fedux_org/stdlib/version_management/ruby_library.rb +0 -14
  172. data/lib/fedux_org/stdlib/version_management/rubygem_version_file.rb +0 -90
  173. data/lib/fedux_org/stdlib/version_management/rubygem_version_file_parser.rb +0 -18
  174. data/lib/fedux_org/stdlib/version_management/version.rb +0 -33
  175. data/lib/fedux_org/stdlib/version_management/version_builder.rb +0 -15
@@ -1,99 +0,0 @@
1
- require 'fedux_org/stdlib/models/base_model'
2
-
3
- module FeduxOrg
4
- module Stdlib
5
- module Models
6
- # model for import action
7
- module FilesystemBasedModel
8
-
9
- def self.included(base)
10
- base.extend ClassMethods
11
- end
12
-
13
- module ClassMethods
14
-
15
- #initialize model
16
- def init
17
- load_from_filesystem
18
- end
19
-
20
- private
21
-
22
- def module_name
23
- name = fqcn
24
- name.pop
25
-
26
- name.join('::')
27
- end
28
-
29
- def fqcn
30
- self.to_s.split(/::/)
31
- end
32
-
33
- def model_name
34
- fqcn.last
35
- end
36
-
37
- def library_name
38
- fqcn.first
39
- end
40
-
41
- def suffix
42
- raise FeduxOrg::Stdlib::Models::Exceptions::MethodNeedsToBeImplemented, "Please defined the method \"suffix\" to make the library work."
43
- end
44
-
45
- def model_path
46
- raise FeduxOrg::Stdlib::Models::Exceptions::MethodNeedsToBeImplemented, "Please defined the method \"model_path\" to make the library work."
47
- end
48
-
49
- def ignore
50
- 'BORING_STRING_WHICH_SHOULD_NEVER_MATCH'
51
- end
52
-
53
- def find_files
54
- files = []
55
- Find.find(path_to_instances) do |path|
56
- next unless File.file? path
57
- next if suffix and path !~/#{suffix}$/
58
- next if path =~ /^\.\.?/
59
- next if path =~ %r{#{ignore}}
60
-
61
- files << path
62
- end
63
-
64
- files
65
- rescue
66
- raise FeduxOrg::Stdlib::Models::Exceptions::NoImplementationsForModelFound, "You might need to create the directory\"#{File.dirname(path_to_instances)}\"."
67
- end
68
-
69
- def path_to_instances
70
- return_path = ::File.expand_path("../../#{model_name.pluralize.underscore}", model_path )
71
-
72
- FeduxOrg::Stdlib.logger.debug(self) { "Path to instances of model: #{return_path}" }
73
-
74
- return_path
75
- end
76
-
77
- def name(path)
78
- name = File.basename(path, suffix ).to_sym
79
- raise FeduxOrg::Stdlib::Models::Exceptions::UnauthorizedUseOfKeyword if forbidden_keywords.include? name
80
-
81
- FeduxOrg::Stdlib.logger.debug(self) { "Name of model: #{name}" }
82
-
83
- name
84
- end
85
-
86
- def load_from_filesystem
87
- raise FeduxOrg::Stdlib::Models::Exceptions::MethodNeedsToBeImplemented
88
- end
89
-
90
- def forbidden_keywords
91
- [ ]
92
- end
93
-
94
- end
95
-
96
- end
97
- end
98
- end
99
- end
@@ -1,5 +0,0 @@
1
- require 'fedux_org/stdlib/project/logger'
2
- require 'fedux_org/stdlib/project/plan'
3
- require 'fedux_org/stdlib/project/report'
4
- require 'fedux_org/stdlib/project/generators/taskjuggler'
5
-
@@ -1,41 +0,0 @@
1
- require 'fedux_org/stdlib/logging/logger'
2
-
3
- begin
4
- require 'command_exec'
5
- rescue LoadError => e
6
- $stderr.puts "You need to install the following gems to make it work: \"command_exec\"."
7
- exit 1
8
- end
9
-
10
- module FeduxOrg
11
- module Stdlib
12
- module Project
13
- module Generators
14
-
15
- class Taskjuggler
16
- def generate_report( directory, plan_file )
17
- FeduxOrg::Stdlib::Project.logger.debug "Start generating report."
18
-
19
- begin
20
- command = CommandExec::Command.new(:tj3 ,
21
- :parameter => "-o #{directory} #{plan_file}",
22
- :error_detection_on => [:return_code],
23
- :error_indicators => {
24
- :allowed_return_code => [0],
25
- },
26
- :on_error_do => :raise_error,
27
- )
28
- command.run
29
- rescue CommandExec::Exceptions::CommandExecutionFailed
30
- FeduxOrg::Stdlib::Project.logger.fatal "Failed to generate report:\n\n#{ command.result.stderr.join( "\n" ) }"
31
- exit 1
32
- end
33
-
34
- FeduxOrg::Stdlib::Project.logger.info "Generating report succeeded."
35
- end
36
- end
37
-
38
- end
39
- end
40
- end
41
- end
@@ -1,13 +0,0 @@
1
- require 'fedux_org/stdlib/logging/logger'
2
-
3
- module FeduxOrg
4
- module Stdlib
5
- module Project
6
- class << self
7
- def logger
8
- @logger ||= FeduxOrg::Stdlib::Logging::Logger.new
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,15 +0,0 @@
1
- module FeduxOrg
2
- module Stdlib
3
-
4
- module Project
5
- class Plan
6
- attr_reader :file
7
-
8
- def initialize(file = File.join( Dir.getwd, 'plan.tjp' ) )
9
- @file = file
10
- end
11
- end
12
-
13
- end
14
- end
15
- end
@@ -1,67 +0,0 @@
1
- require 'fedux_org/stdlib/logging/logger'
2
- require 'fedux_org/stdlib/project/logger'
3
- require 'fedux_org/stdlib/project/generators/taskjuggler'
4
-
5
- require 'fileutils'
6
-
7
- begin
8
- require 'launchy'
9
- rescue LoadError => e
10
- $stderr.puts "You need to install the following gems to make it work: \"launchy\"."
11
- exit 1
12
- end
13
-
14
- module FeduxOrg
15
- module Stdlib
16
- module Project
17
-
18
- class Report
19
- attr_reader :directory, :file
20
-
21
- def initialize( plan, generator = FeduxOrg::Stdlib::Project::Generators::Taskjuggler.new,
22
- output_directory = File.join( Dir.getwd, 'reports' ),
23
- output_file = nil
24
- )
25
- @plan = plan
26
- @output_directory = output_directory
27
- @output_file = case output_file
28
- when nil
29
- File.join( @output_directory, 'Overview.html' )
30
- else
31
- output_file
32
- end
33
- @generator = generator
34
- end
35
-
36
- def generate
37
- prepare_environment
38
-
39
- if output_file_exists? and plan_is_newer_than_output_file?
40
- FeduxOrg::Stdlib::Project.logger.warn "No need to re-generate report. The plan file \"#{@plan.file}\" is NOT newer than output \"#{@output_file}\"."
41
- else
42
- @generator.generate_report( @output_directory, @plan.file )
43
- end
44
- end
45
-
46
- def open
47
- Launchy.open( @output_file )
48
- end
49
-
50
- private
51
-
52
- def prepare_environment
53
- FileUtils.mkdir_p @output_directory
54
- end
55
-
56
- def output_file_exists?
57
- File.exists? @output_file
58
- end
59
-
60
- def plan_is_newer_than_output_file?
61
- File.mtime( @output_file ) > File.mtime( @plan.file)
62
- end
63
- end
64
-
65
- end
66
- end
67
- end
@@ -1,7 +0,0 @@
1
- require 'fedux_org/stdlib/rake/terminal'
2
- require 'fedux_org/stdlib/rake/version'
3
- require 'fedux_org/stdlib/rake/travis'
4
- require 'fedux_org/stdlib/rake/tests'
5
- require 'fedux_org/stdlib/rake/console'
6
- require 'fedux_org/stdlib/rake/documentation'
7
- require 'fedux_org/stdlib/rake/gems'
@@ -1,3 +0,0 @@
1
- task :console do
2
- sh 'script/console'
3
- end
@@ -1 +0,0 @@
1
- require_relative 'documentation/yard'
@@ -1,14 +0,0 @@
1
- unless ENV.to_hash.has_key? 'CI'
2
-
3
- begin
4
- require 'yard'
5
- rescue LoadError
6
- $stderr.puts 'You need to install the "yard"-gem to make that rake task work.'
7
- exit 1
8
- end
9
-
10
- YARD::Rake::YardocTask.new() do |y|
11
- # y.options << '--verbose'
12
- end
13
-
14
- end
@@ -1,2 +0,0 @@
1
- require_relative 'gems/bundler'
2
- require_relative 'gems/package'
@@ -1,12 +0,0 @@
1
- unless ENV.to_hash.has_key? 'CI'
2
-
3
- namespace :gem do
4
- begin
5
- require 'bundler/gem_tasks'
6
- rescue LoadError
7
- $stderr.puts 'You need to install the "bundler"-gem to make that rake task work.'
8
- exit 1
9
- end
10
- end
11
-
12
- end
@@ -1,7 +0,0 @@
1
- unless ENV.to_hash.has_key? 'CI'
2
-
3
- namespace :gem do
4
- require 'rubygems/package_task'
5
- end
6
-
7
- end
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env rake
2
- require 'fedux_org/stdlib/rake/terminal'
3
- require 'fedux_org/stdlib/rake/version'
4
- require 'fedux_org/stdlib/rake/travis'
5
- require 'fedux_org/stdlib/rake/test'
6
- require 'fedux_org/stdlib/rake/console'
7
- require 'fedux_org/stdlib/rake/documentation'
8
- require 'fedux_org/stdlib/rake/gems'
@@ -1,9 +0,0 @@
1
- desc 'start tmux'
2
- task :terminal do
3
- sh "script/terminal"
4
- end
5
-
6
- task :term => :terminal
7
- task :t => :terminal
8
-
9
-
@@ -1,3 +0,0 @@
1
- require_relative 'tests/cucumber'
2
- require_relative 'tests/rspec'
3
- require_relative 'tests/travis'
@@ -1,6 +0,0 @@
1
- namespace :test do
2
- desc 'Run specs'
3
- task :cucumber do
4
- sh 'bundle exec cucumber'
5
- end
6
- end
@@ -1,6 +0,0 @@
1
- namespace :test do
2
- desc 'Run specs'
3
- task :rspec do
4
- sh 'bundle exec rspec'
5
- end
6
- end
@@ -1,15 +0,0 @@
1
- require 'fedux_org/stdlib/command/which'
2
-
3
- resolver = Class.new do
4
- include FeduxOrg::Stdlib::Command::Which
5
- end
6
-
7
- namespace :test do
8
- desc 'Run tests in "travis mode"'
9
- task :travis_specs do
10
- ENV['CI'] = 'true'
11
-
12
- sh 'rspec spec' if resolver.new.which( 'rspec' )
13
- sh 'cucumber -p all' if resolver.new.which( 'cucumber' )
14
- end
15
- end
@@ -1 +0,0 @@
1
- require_relative 'travis/lint'
@@ -1,10 +0,0 @@
1
- unless ENV.to_hash.has_key? 'CI'
2
-
3
- namespace :travis do
4
- desc 'Runs travis-lint to check .travis.yml'
5
- task :lint do
6
- sh 'travis-lint'
7
- end
8
- end
9
-
10
- end
@@ -1,4 +0,0 @@
1
- require_relative 'version/bump'
2
- require_relative 'version/restore'
3
- require_relative 'version/show'
4
- require_relative 'version/show_shortcut'
@@ -1,7 +0,0 @@
1
- def version_file
2
- file = Dir.glob('lib/*/version.rb').first || Dir.glob('lib/*/*/version.rb').first
3
-
4
- raise Exception, "Cannot find version file" until file
5
-
6
- file
7
- end
@@ -1,78 +0,0 @@
1
- unless ENV.to_hash.has_key? 'CI'
2
-
3
- require_relative 'base'
4
-
5
- begin
6
- require 'active_support/core_ext/string/strip'
7
- rescue LoadError
8
- $stderr.puts 'You need to install the "activesupport"-gem to make that rake task work.'
9
- exit 1
10
- end
11
-
12
- begin
13
- require 'erubis'
14
- rescue LoadError
15
- $stderr.puts 'You need to install the "erubis"-gem to make that rake task work.'
16
- exit 1
17
- end
18
-
19
- require 'fedux_org/stdlib/logging/logger'
20
-
21
- namespace :version do
22
- @logger = FeduxOrg::Stdlib::Logging::Logger.new
23
-
24
- def add_to_repo(file, version)
25
- @logger.info('Adding new version file to repository.')
26
- sh "git add #{file}"
27
- sh "git commit -m 'version bump to #{version}'"
28
- end
29
-
30
- def bump_version(type)
31
- version_update do |file|
32
- file.bump(type)
33
- end
34
- end
35
-
36
- def version_update(&block)
37
- file = FeduxOrg::Stdlib::VersionManagement::RubygemVersionFile.read(version_file)
38
- old_version = file.version
39
- block.call(file)
40
- new_version = file.version
41
-
42
- file.write(version_file)
43
- @logger.info("Updated version. It was \"#{old_version}\". It is now \"#{new_version}\".")
44
- add_to_repo(version_file, file.version)
45
- end
46
-
47
- desc "Bump x.1.1"
48
- task :bump_major do
49
- bump_version(:major)
50
- end
51
-
52
- desc "Bump 1.x.1"
53
- task :bump_minor do
54
- bump_version(:minor)
55
- end
56
-
57
- desc "Bump 1.1.x"
58
- task :bump_tiny do
59
- bump_version(:tiny)
60
- end
61
-
62
- desc 'bump version of library to new version'
63
- task :bump do
64
- new_version = ENV['VERSION'] || ENV['version']
65
- raise Exception, "You need to define a version via \"VERSION=<version>\" or \"version=<version>\"." unless new_version
66
-
67
- begin
68
- version_update do |file|
69
- file.version = new_version
70
- file.write(version_file)
71
- add_to_repo(version_file, new_version)
72
- end
73
- rescue
74
- @logger.fatal('Nothing has changed since your last commit or has been added to the index. Therefor nothing needs to be commited.')
75
- end
76
- end
77
- end
78
- end