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.
- checksums.yaml +7 -0
- data/.rspec +2 -0
- data/.simplecov +7 -6
- data/Gemfile +33 -28
- data/README.md +1 -1
- data/Rakefile +8 -1
- data/doc/colors.md +2 -2
- data/doc/commands.md +2 -2
- data/doc/logic_converters.md +5 -5
- data/doc/models.md +5 -5
- data/fedux_org-stdlib.gemspec +3 -7
- data/lib/fedux_org_stdlib.rb +13 -0
- data/lib/fedux_org_stdlib/app_config.rb +247 -0
- data/lib/fedux_org_stdlib/ci.rb +6 -0
- data/lib/fedux_org_stdlib/colors/html_color.rb +18 -0
- data/lib/fedux_org_stdlib/command.rb +10 -0
- data/lib/fedux_org_stdlib/command/command_result.rb +13 -0
- data/lib/fedux_org_stdlib/command/run_command.rb +55 -0
- data/lib/fedux_org_stdlib/command/which.rb +60 -0
- data/lib/fedux_org_stdlib/core_ext/array.rb +6 -0
- data/lib/fedux_org_stdlib/core_ext/string.rb +3 -0
- data/lib/fedux_org_stdlib/environment.rb +32 -0
- data/lib/fedux_org_stdlib/filesystem.rb +248 -0
- data/lib/fedux_org_stdlib/filesystem/exceptions.rb +12 -0
- data/lib/fedux_org_stdlib/logging.rb +12 -0
- data/lib/fedux_org_stdlib/logging/logger.rb +79 -0
- data/lib/{fedux_org/stdlib → fedux_org_stdlib}/logging/severity.rb +1 -0
- data/lib/fedux_org_stdlib/logic_converters.rb +11 -0
- data/lib/{fedux_org/stdlib → fedux_org_stdlib}/logic_converters/exceptions.rb +1 -0
- data/lib/fedux_org_stdlib/logic_converters/logic_converter.rb +39 -0
- data/lib/fedux_org_stdlib/logic_converters/on_off_converter.rb +35 -0
- data/lib/fedux_org_stdlib/logic_converters/true_false_converter.rb +34 -0
- data/lib/fedux_org_stdlib/logic_converters/y_n_converter.rb +34 -0
- data/lib/fedux_org_stdlib/logic_converters/yes_no_converter.rb +34 -0
- data/lib/fedux_org_stdlib/models.rb +5 -0
- data/lib/fedux_org_stdlib/models/base_model.rb +129 -0
- data/lib/fedux_org_stdlib/models/class_based_model.rb +67 -0
- data/lib/fedux_org_stdlib/models/exceptions.rb +40 -0
- data/lib/fedux_org_stdlib/models/filesystem_based_model.rb +98 -0
- data/lib/fedux_org_stdlib/project.rb +6 -0
- data/lib/fedux_org_stdlib/project/generators/taskjuggler.rb +35 -0
- data/lib/fedux_org_stdlib/project/logger.rb +12 -0
- data/lib/fedux_org_stdlib/project/plan.rb +26 -0
- data/lib/fedux_org_stdlib/project/report.rb +63 -0
- data/lib/fedux_org_stdlib/rake.rb +8 -0
- data/lib/fedux_org_stdlib/rake/exceptions.rb +9 -0
- data/lib/{fedux_org/stdlib → fedux_org_stdlib}/rake/project.rb +4 -4
- data/lib/fedux_org_stdlib/rake/project_task.rb +29 -0
- data/lib/fedux_org_stdlib/rake/shell_task.rb +45 -0
- data/lib/fedux_org_stdlib/rake/sub_task.rb +26 -0
- data/lib/fedux_org_stdlib/rake/task.rb +118 -0
- data/lib/fedux_org_stdlib/rake/version_bump_task.rb +56 -0
- data/lib/fedux_org_stdlib/rake_tasks.rb +8 -0
- data/lib/fedux_org_stdlib/rake_tasks/console.rb +11 -0
- data/lib/fedux_org_stdlib/rake_tasks/documentation.rb +2 -0
- data/lib/fedux_org_stdlib/rake_tasks/documentation/yard.rb +9 -0
- data/lib/fedux_org_stdlib/rake_tasks/gems.rb +3 -0
- data/lib/fedux_org_stdlib/rake_tasks/gems/bundler.rb +9 -0
- data/lib/fedux_org_stdlib/rake_tasks/gems/package.rb +9 -0
- data/lib/fedux_org_stdlib/rake_tasks/project.rb +1 -0
- data/lib/fedux_org_stdlib/rake_tasks/project/report.rb +3 -0
- data/lib/fedux_org_stdlib/rake_tasks/project/report/generate.rb +10 -0
- data/lib/fedux_org_stdlib/rake_tasks/project/report/open.rb +12 -0
- data/lib/fedux_org_stdlib/rake_tasks/project/report/open_shortcut.rb +9 -0
- data/lib/fedux_org_stdlib/rake_tasks/qa.rb +4 -0
- data/lib/fedux_org_stdlib/rake_tasks/qa/rubocop.rb +13 -0
- data/lib/fedux_org_stdlib/rake_tasks/qa/travis.rb +13 -0
- data/lib/fedux_org_stdlib/rake_tasks/terminal.rb +9 -0
- data/lib/fedux_org_stdlib/rake_tasks/tests.rb +4 -0
- data/lib/fedux_org_stdlib/rake_tasks/tests/cucumber.rb +13 -0
- data/lib/fedux_org_stdlib/rake_tasks/tests/rspec.rb +12 -0
- data/lib/fedux_org_stdlib/rake_tasks/tests/travis.rb +11 -0
- data/lib/fedux_org_stdlib/rake_tasks/version.rb +6 -0
- data/lib/fedux_org_stdlib/rake_tasks/version/bump.rb +8 -0
- data/lib/fedux_org_stdlib/rake_tasks/version/restore.rb +11 -0
- data/lib/fedux_org_stdlib/rake_tasks/version/show.rb +12 -0
- data/lib/fedux_org_stdlib/rake_tasks/version/show_shortcut.rb +9 -0
- data/lib/fedux_org_stdlib/require_files.rb +27 -0
- data/lib/fedux_org_stdlib/version.rb +5 -0
- data/lib/fedux_org_stdlib/version_management/exceptions.rb +9 -0
- data/lib/fedux_org_stdlib/version_management/library_builder.rb +12 -0
- data/lib/fedux_org_stdlib/version_management/ruby_library.rb +13 -0
- data/lib/fedux_org_stdlib/version_management/rubygem_version_file.rb +78 -0
- data/lib/fedux_org_stdlib/version_management/rubygem_version_file_parser.rb +22 -0
- data/lib/fedux_org_stdlib/version_management/version.rb +25 -0
- data/lib/fedux_org_stdlib/version_management/version_builder.rb +12 -0
- data/lib/fedux_org_stdlib/versionable.rb +18 -0
- data/rakefiles/default.rake +8 -1
- data/rakefiles/travis.rake +1 -1
- data/script/console +1 -1
- data/script/terminal +3 -2
- data/spec/app_config_spec.rb +7 -0
- data/spec/colors/html_color_spec.rb +7 -14
- data/spec/command/run_command_spec.rb +9 -10
- data/spec/command/which_spec.rb +8 -9
- data/spec/environment_spec.rb +12 -11
- data/spec/logger/logger_spec.rb +17 -16
- data/spec/logic_converters/on_off_converter_spec.rb +8 -7
- data/spec/logic_converters/true_false_converter_spec.rb +8 -7
- data/spec/logic_converters/y_n_converter_spec.rb +8 -7
- data/spec/logic_converters/yes_no_converter_spec.rb +8 -7
- data/spec/models/base_model_spec.rb +7 -7
- data/spec/models/class_based_model_spec.rb +37 -39
- data/spec/models/filesystem_based_model_spec.rb +24 -24
- data/spec/project/plan_spec.rb +6 -5
- data/spec/project/report_spec.rb +35 -29
- data/spec/project/taskjuggler_spec.rb +13 -12
- data/spec/spec_helper.rb +15 -38
- data/spec/support/environment.rb +16 -0
- data/spec/support/filesystem.rb +19 -0
- data/spec/support/reporting.rb +2 -0
- data/spec/support/rspec.rb +5 -0
- data/spec/support/string.rb +2 -0
- data/spec/version_management/library_builder_spec.rb +5 -4
- data/spec/version_management/ruby_library_spec.rb +5 -4
- data/spec/version_management/rubygem_version_file_parser_spec.rb +27 -16
- data/spec/version_management/rubygem_version_file_spec.rb +56 -54
- data/spec/version_management/version_builder_spec.rb +5 -4
- data/spec/version_management/version_spec.rb +16 -16
- metadata +104 -110
- data/lib/fedux_org/stdlib.rb +0 -15
- data/lib/fedux_org/stdlib/colors/html_color.rb +0 -19
- data/lib/fedux_org/stdlib/command.rb +0 -11
- data/lib/fedux_org/stdlib/command/command_result.rb +0 -14
- data/lib/fedux_org/stdlib/command/run_command.rb +0 -55
- data/lib/fedux_org/stdlib/command/which.rb +0 -67
- data/lib/fedux_org/stdlib/environment.rb +0 -31
- data/lib/fedux_org/stdlib/filesystem.rb +0 -247
- data/lib/fedux_org/stdlib/filesystem/exceptions.rb +0 -13
- data/lib/fedux_org/stdlib/logging.rb +0 -13
- data/lib/fedux_org/stdlib/logging/logger.rb +0 -79
- data/lib/fedux_org/stdlib/logic_converters.rb +0 -12
- data/lib/fedux_org/stdlib/logic_converters/logic_converter.rb +0 -40
- data/lib/fedux_org/stdlib/logic_converters/on_off_converter.rb +0 -36
- data/lib/fedux_org/stdlib/logic_converters/true_false_converter.rb +0 -35
- data/lib/fedux_org/stdlib/logic_converters/y_n_converter.rb +0 -35
- data/lib/fedux_org/stdlib/logic_converters/yes_no_converter.rb +0 -35
- data/lib/fedux_org/stdlib/models.rb +0 -4
- data/lib/fedux_org/stdlib/models/base_model.rb +0 -129
- data/lib/fedux_org/stdlib/models/class_based_model.rb +0 -76
- data/lib/fedux_org/stdlib/models/exceptions.rb +0 -41
- data/lib/fedux_org/stdlib/models/filesystem_based_model.rb +0 -99
- data/lib/fedux_org/stdlib/project.rb +0 -5
- data/lib/fedux_org/stdlib/project/generators/taskjuggler.rb +0 -41
- data/lib/fedux_org/stdlib/project/logger.rb +0 -13
- data/lib/fedux_org/stdlib/project/plan.rb +0 -15
- data/lib/fedux_org/stdlib/project/report.rb +0 -67
- data/lib/fedux_org/stdlib/rake.rb +0 -7
- data/lib/fedux_org/stdlib/rake/console.rb +0 -3
- data/lib/fedux_org/stdlib/rake/documentation.rb +0 -1
- data/lib/fedux_org/stdlib/rake/documentation/yard.rb +0 -14
- data/lib/fedux_org/stdlib/rake/gems.rb +0 -2
- data/lib/fedux_org/stdlib/rake/gems/bundler.rb +0 -12
- data/lib/fedux_org/stdlib/rake/gems/package.rb +0 -7
- data/lib/fedux_org/stdlib/rake/library.rb +0 -8
- data/lib/fedux_org/stdlib/rake/terminal.rb +0 -9
- data/lib/fedux_org/stdlib/rake/tests.rb +0 -3
- data/lib/fedux_org/stdlib/rake/tests/cucumber.rb +0 -6
- data/lib/fedux_org/stdlib/rake/tests/rspec.rb +0 -6
- data/lib/fedux_org/stdlib/rake/tests/travis.rb +0 -15
- data/lib/fedux_org/stdlib/rake/travis.rb +0 -1
- data/lib/fedux_org/stdlib/rake/travis/lint.rb +0 -10
- data/lib/fedux_org/stdlib/rake/version.rb +0 -4
- data/lib/fedux_org/stdlib/rake/version/base.rb +0 -7
- data/lib/fedux_org/stdlib/rake/version/bump.rb +0 -78
- data/lib/fedux_org/stdlib/rake/version/restore.rb +0 -9
- data/lib/fedux_org/stdlib/rake/version/show.rb +0 -9
- data/lib/fedux_org/stdlib/rake/version/show_shortcut.rb +0 -6
- data/lib/fedux_org/stdlib/version.rb +0 -6
- data/lib/fedux_org/stdlib/version_management/library_builder.rb +0 -15
- data/lib/fedux_org/stdlib/version_management/ruby_library.rb +0 -14
- data/lib/fedux_org/stdlib/version_management/rubygem_version_file.rb +0 -90
- data/lib/fedux_org/stdlib/version_management/rubygem_version_file_parser.rb +0 -18
- data/lib/fedux_org/stdlib/version_management/version.rb +0 -33
- 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,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,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 +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,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,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,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
|