fedux_org-stdlib 0.3.2 → 0.6.3

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -0,0 +1,26 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/task'
3
+
4
+ module FeduxOrgStdlib
5
+ module Rake
6
+ # Sub Task
7
+ #
8
+ # @see Rakefile
9
+ class SubTask < Task
10
+ # @!attribute [r] command
11
+ # The command to be executed
12
+ attr_reader :sub_tasks
13
+
14
+ def initialize(sub_tasks:, **args)
15
+ super(**args)
16
+
17
+ @sub_tasks = Array(sub_tasks)
18
+ end
19
+
20
+ # @private
21
+ def run_task(verbose)
22
+ sub_tasks.each { |t| ::Rake::Task[t].invoke }
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,118 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/require_files'
3
+ require_library %w{ json rake rake/tasklib shellwords active_support/core_ext/object/blank active_support/core_ext/string/inflections}
4
+
5
+ require 'fedux_org_stdlib/rake/exceptions'
6
+ require 'fedux_org_stdlib/logging/logger'
7
+
8
+ module FeduxOrgStdlib
9
+ module Rake
10
+ # Rake Task
11
+ #
12
+ # @see Rakefile
13
+ class Task < ::Rake::TaskLib
14
+ include ::Rake::DSL if defined?(::Rake::DSL)
15
+
16
+ # @!attribute [r] name
17
+ # Name of task.
18
+ attr_reader :name
19
+
20
+ # @!attribute [r] description
21
+ # A description for the task
22
+ attr_reader :description
23
+
24
+ # @!attribute [r] verbose (true)
25
+ # Use verbose output. If this is set to true, the task will print the
26
+ # executed spec command to stdout.
27
+ attr_reader :verbose
28
+
29
+ private
30
+
31
+ attr_reader :task_arguments, :task_block, :logger, :working_directory
32
+
33
+ # Create task instance
34
+ def initialize(description:, name: self.class.to_s.split(/::/).slice(-2..-1).join(':').gsub(/Task$/, '').underscore, arguments: [], define_in_ci_mode: true, activate_ci_mode: false, dependencies: [], &task_block)
35
+ before_initialize
36
+
37
+ @description = description
38
+ @task_arguments = Array(arguments)
39
+ @task_block = task_block
40
+ @logger = FeduxOrgStdlib::Logging::Logger.new
41
+ @working_directory = Dir.getwd
42
+ @activate_ci_mode = activate_ci_mode
43
+
44
+ if dependencies.blank?
45
+ @name = name
46
+ else
47
+ @name = {
48
+ name: Array(dependencies).map(&:to_sym)
49
+ }
50
+ end
51
+
52
+ after_initialize
53
+
54
+ define_task unless running_in_ci_mode?
55
+ define_task if define_in_ci_mode? and running_in_ci_mode?
56
+
57
+ activate_ci_mode if activate_ci_mode?
58
+ end
59
+
60
+ private
61
+
62
+ # Activate ci mode
63
+ def activate_ci_mode
64
+ ENV['CI'] = 'true'
65
+ end
66
+
67
+ # Run code after initialize
68
+ def after_initialize; end
69
+
70
+ # Run code before initialize
71
+ def before_initialize; end
72
+
73
+ # Define task
74
+ def define_task
75
+ desc description unless ::Rake.application.last_comment
76
+
77
+ task name, *task_arguments do |_, task_args|
78
+ RakeFileUtils.__send__(:verbose, verbose) do
79
+ task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block.respond_to? :call
80
+ run_task verbose
81
+ end
82
+ end
83
+ end
84
+
85
+ # Run code if task is executed
86
+ def run_task(verbose); end
87
+
88
+ # Should this task be defined in continous integration mode
89
+ def define_in_ci_mode?
90
+ @define_in_ci_mode == true
91
+ end
92
+
93
+ # Check if running in continous integration mode
94
+ def running_in_ci_mode?
95
+ ENV.key? 'CI'
96
+ end
97
+
98
+ # Check if continous integration mode is activated
99
+ def activate_ci_mode?
100
+ @activate_ci_mode == true
101
+ end
102
+
103
+ public
104
+
105
+ # Binding to instance
106
+ def get_binding
107
+ binding
108
+ end
109
+
110
+ # Include module in instance
111
+ def include(modules)
112
+ modules = Array(modules)
113
+
114
+ modules.each { |m| self.class.include m }
115
+ end
116
+ end
117
+ end
118
+ end
@@ -0,0 +1,56 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/version_management/rubygem_version_file'
3
+ require 'fedux_org_stdlib/versionable'
4
+
5
+ module FeduxOrgStdlib
6
+ module Rake
7
+ # Version Bump Task
8
+ #
9
+ # @see Rakefile
10
+ class VersionBumpTask < Task
11
+ include Versionable
12
+
13
+ # @private
14
+ def bump_version(type)
15
+ version_update do |file|
16
+ file.bump(type)
17
+ end
18
+ end
19
+
20
+ # @private
21
+ def set_version(new_version)
22
+ raise Exception, "You need to define a version via \"VERSION=<version>\" or \"version=<version>\"." if new_version.blank?
23
+
24
+ begin
25
+ version_update do |file|
26
+ file.version = new_version
27
+ end
28
+ rescue StandardError => e
29
+ logger.fatal("Nothing has changed since your last commit or has been added to the index. Therefor nothing needs to be commited: #{e.message}.")
30
+ end
31
+ end
32
+
33
+ private
34
+
35
+ def add_to_repo(file, version)
36
+ logger.info('Adding new version file to repository.')
37
+
38
+ sh "git add #{file}"
39
+ sh "git commit -m 'Version bump to #{version}'"
40
+ end
41
+
42
+
43
+ def version_update(&block)
44
+ file = FeduxOrgStdlib::VersionManagement::RubygemVersionFile.read(version_file)
45
+ old_version = file.version
46
+ block.call(file)
47
+ new_version = file.version
48
+
49
+ file.write(version_file)
50
+
51
+ logger.info("Updated version. It was \"#{old_version}\". It is now \"#{new_version}\".")
52
+ add_to_repo(version_file, file.version)
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake_tasks/version'
3
+ require 'fedux_org_stdlib/rake_tasks/documentation'
4
+ require 'fedux_org_stdlib/rake_tasks/console'
5
+ require 'fedux_org_stdlib/rake_tasks/terminal'
6
+ require 'fedux_org_stdlib/rake_tasks/qa'
7
+ require 'fedux_org_stdlib/rake_tasks/gems'
8
+ require 'fedux_org_stdlib/rake_tasks/project'
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ FeduxOrgStdlib::Rake::ShellTask.new(
5
+ name: 'console',
6
+ description: 'Start console with library loaded in advance',
7
+ use_bundler: true,
8
+ command: 'script/console',
9
+ define_in_ci_mode: false
10
+ )
11
+
@@ -0,0 +1,2 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake_tasks/documentation/yard'
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/ci'
3
+
4
+ unless ci?
5
+ require 'fedux_org_stdlib/require_files'
6
+ require_library %w{ yard }
7
+
8
+ YARD::Rake::YardocTask.new()
9
+ end
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake_tasks/gems/bundler'
3
+ require 'fedux_org_stdlib/rake_tasks/gems/package'
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/require_files'
3
+ require 'fedux_org_stdlib/ci'
4
+
5
+ unless ci?
6
+ namespace :gem do
7
+ require_library %w{ bundler/gem_tasks }
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/require_files'
3
+ require 'fedux_org_stdlib/ci'
4
+
5
+ unless ci?
6
+ namespace :gem do
7
+ require_library %w{ rubygems/package_task }
8
+ end
9
+ end
@@ -0,0 +1 @@
1
+ require 'fedux_org_stdlib/rake_tasks/project/report'
@@ -0,0 +1,3 @@
1
+ require 'fedux_org_stdlib/rake_tasks/project/report/open'
2
+ require 'fedux_org_stdlib/rake_tasks/project/report/open_shortcut'
3
+ require 'fedux_org_stdlib/rake_tasks/project/report/generate'
@@ -0,0 +1,10 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/project_task'
3
+
4
+ FeduxOrgStdlib::Rake::ProjectTask.new(
5
+ name: 'project:report:generate',
6
+ description: 'Generate report for project plan',
7
+ ) do |t|
8
+ t.report.generate
9
+ end
10
+
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/project_task'
3
+
4
+ FeduxOrgStdlib::Rake::ProjectTask.new(
5
+ name: 'project:report:open',
6
+ description: 'Open generated report for project plan',
7
+ ) do |t|
8
+ require 'pry'
9
+ binding.pry
10
+ t.report.open
11
+ end
12
+
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/sub_task'
3
+ require 'fedux_org_stdlib/rake_tasks/project/report/open'
4
+
5
+ FeduxOrgStdlib::Rake::SubTask.new(
6
+ name: 'project:report',
7
+ description: 'Open report for generated project plan',
8
+ sub_tasks: %w{ project:report:open },
9
+ )
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+
3
+ require 'fedux_org_stdlib/rake_tasks/qa/travis'
4
+ require 'fedux_org_stdlib/rake_tasks/qa/rubocop'
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ require 'fedux_org_stdlib/require_files'
5
+ require_installed_gem('rubocop')
6
+
7
+ FeduxOrgStdlib::Rake::ShellTask.new(
8
+ name: 'qa:rubocop',
9
+ description: 'Run rubocop',
10
+ use_bundler: true,
11
+ command: 'rubocop',
12
+ define_in_ci_mode: false,
13
+ )
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ require 'fedux_org_stdlib/require_files'
5
+ require_installed_gem('travis-lint')
6
+
7
+ FeduxOrgStdlib::Rake::ShellTask.new(
8
+ name: 'qa:travis',
9
+ description: 'Runs travis-lint to check .travis.yml',
10
+ use_bundler: true,
11
+ command: 'travis-lint',
12
+ define_in_ci_mode: false,
13
+ )
@@ -0,0 +1,9 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ FeduxOrgStdlib::Rake::ShellTask.new(
5
+ name: 'terminal',
6
+ description: 'Start a terminal multiplexer like tmux',
7
+ use_bundler: true,
8
+ command: 'script/terminal'
9
+ )
@@ -0,0 +1,4 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake_tasks/tests/cucumber'
3
+ require 'fedux_org_stdlib/rake_tasks/tests/rspec'
4
+ require 'fedux_org_stdlib/rake_tasks/tests/travis'
@@ -0,0 +1,13 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ require 'fedux_org_stdlib/require_files'
5
+ require_installed_gem('cucumber')
6
+
7
+ FeduxOrgStdlib::Rake::ShellTask.new(
8
+ name: 'test:cucumber',
9
+ description: 'Run cucumber',
10
+ use_bundler: true,
11
+ command: 'cucumber -p all'
12
+ )
13
+
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/shell_task'
3
+
4
+ require 'fedux_org_stdlib/require_files'
5
+ require_installed_gem('rspec')
6
+
7
+ FeduxOrgStdlib::Rake::ShellTask.new(
8
+ name: 'test:rspec',
9
+ description: 'Run rspec',
10
+ use_bundler: true,
11
+ command: 'rspec'
12
+ )
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/rake/sub_task'
3
+ require 'fedux_org_stdlib/rake_tasks/test/rspec'
4
+ require 'fedux_org_stdlib/rake_tasks/test/cucumber'
5
+
6
+ FeduxOrgStdlib::Rake::SubTask.new(
7
+ name: 'test:travis',
8
+ description: 'Runs rspec and cucumber on travis',
9
+ sub_tasks: %w{ test:rspec test:cucumber },
10
+ activate_ci_mode: true
11
+ )
@@ -0,0 +1,6 @@
1
+ # encoding: utf-8
2
+
3
+ require 'fedux_org_stdlib/rake_tasks/version/show_shortcut'
4
+ require 'fedux_org_stdlib/rake_tasks/version/bump'
5
+ require 'fedux_org_stdlib/rake_tasks/version/show'
6
+ require 'fedux_org_stdlib/rake_tasks/version/restore'
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+
3
+ require 'fedux_org_stdlib/rake/version_bump_task'
4
+
5
+ FeduxOrgStdlib::Rake::VersionBumpTask.new(name: 'version:bump:major', description: 'Bump major version part') { |t| t.bump_version :major }
6
+ FeduxOrgStdlib::Rake::VersionBumpTask.new(name: 'version:bump:minor', description: 'Bump minor version part') { |t| t.bump_version :minor }
7
+ FeduxOrgStdlib::Rake::VersionBumpTask.new(name: 'version:bump:tiny', description: 'Bump tiny version part') { |t| t.bump_version :tiny }
8
+ FeduxOrgStdlib::Rake::VersionBumpTask.new(name: 'version:bump', description: 'Bump version to ENV["VERSION"] or ENV["version"]') { |t| t.set_version ENV['VERSION'] || ENV['version'] }
@@ -0,0 +1,11 @@
1
+ # encoding: utf-8
2
+
3
+ require 'fedux_org_stdlib/versionable'
4
+ require 'fedux_org_stdlib/rake/shell_task'
5
+
6
+ task = FeduxOrgStdlib::Rake::ShellTask.new(
7
+ name: 'version:restore',
8
+ description: 'Restore version file from repository',
9
+ command: "git checkout <%= version_file %>"
10
+ )
11
+ task.include FeduxOrgStdlib::Versionable
@@ -0,0 +1,12 @@
1
+ # encoding: utf-8
2
+ require 'fedux_org_stdlib/versionable'
3
+ require 'fedux_org_stdlib/rake/task'
4
+
5
+ task = FeduxOrgStdlib::Rake::Task.new(
6
+ name: 'version:show',
7
+ description: 'Show version'
8
+ ) do |t|
9
+ $stderr.puts FeduxOrgStdlib::VersionManagement::RubygemVersionFile.read(version_file).version
10
+ end
11
+ task.include FeduxOrgStdlib::Versionable
12
+