falkorlib 0.8.3 → 0.8.4
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 +4 -4
- data/Gemfile.lock +9 -12
- data/falkorlib.gemspec +5 -4
- data/lib/falkorlib/bootstrap/base.rb +8 -5
- data/lib/falkorlib/bootstrap/gems.rb +32 -0
- data/lib/falkorlib/bootstrap/git.rb +2 -1
- data/lib/falkorlib/bootstrap/python.rb +4 -1
- data/lib/falkorlib/cli.rb +2 -2
- data/lib/falkorlib/common.rb +2 -1
- data/lib/falkorlib/config.rb +4 -3
- data/lib/falkorlib/version.rb +1 -1
- data/spec/falkorlib/bootstrap_mkdocs_spec.rb +78 -0
- data/spec/falkorlib/bootstrap_repo_spec.rb +86 -0
- data/spec/falkorlib/bootstrap_vagrant_spec.rb +81 -0
- data/spec/falkorlib/gitflow_spec.rb +21 -1
- data/spec/falkorlib_spec.rb +25 -5
- data/templates/mkdocs/docs/README.md.erb +0 -5
- data/templates/mkdocs/docs/setup/install.md.erb +20 -9
- data/templates/mkdocs/docs/setup/preliminaries.md.erb +4 -2
- data/templates/mkdocs/mkdocs.yml.erb +1 -1
- metadata +24 -28
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 78758647f5f8fa786afc72d81e8b57866f774e548fd956237c417d9d9c53f871
|
|
4
|
+
data.tar.gz: 6107fcdcf59e970dac03f536d51a641c665e1505d9c3f8ca257747a46fa0fc6f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: af645b81860ddcb17091a3ae3f046f7e33d74c72aa90f5a431f967efd77d116bb9067b3fce96dd83e7d244ff4a37f2d093fddbc20197120102a050d430a7999d
|
|
7
|
+
data.tar.gz: f066036ac70f16331bc14c4ebdf1fd08a79fdd3cdd81e09cf50227aee45b05bf871b8dce8121b8381e8c063684123df0befd2240abd0862f3733afd2749ab52c
|
data/Gemfile.lock
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
falkorlib (0.8.
|
|
4
|
+
falkorlib (0.8.4)
|
|
5
5
|
activesupport (~> 4.0)
|
|
6
6
|
artii (>= 2.1)
|
|
7
7
|
awesome_print (~> 1.2)
|
|
8
|
-
configatron (~> 3.
|
|
8
|
+
configatron (~> 3.0)
|
|
9
9
|
deep_merge (~> 1.0.1)
|
|
10
10
|
diffy (>= 3.0)
|
|
11
11
|
facter (~> 2.4.1)
|
|
12
12
|
git_remote_branch (~> 0)
|
|
13
|
-
json (~>
|
|
13
|
+
json (~> 2.0)
|
|
14
14
|
license-generator (~> 0)
|
|
15
15
|
logger (>= 1.2.8)
|
|
16
16
|
minigit (~> 0)
|
|
17
17
|
rake (>= 12.3.3)
|
|
18
18
|
term-ansicolor (~> 1.3)
|
|
19
|
-
thor (>= 0
|
|
20
|
-
thor-zsh_completion
|
|
19
|
+
thor (>= 1.0)
|
|
21
20
|
|
|
22
21
|
GEM
|
|
23
22
|
remote: http://rubygems.org/
|
|
@@ -63,12 +62,12 @@ GEM
|
|
|
63
62
|
concurrent-ruby (~> 1.0)
|
|
64
63
|
irb (1.1.1)
|
|
65
64
|
jaro_winkler (1.5.4)
|
|
66
|
-
json (
|
|
65
|
+
json (2.3.0)
|
|
67
66
|
launchy (2.4.3)
|
|
68
67
|
addressable (~> 2.3)
|
|
69
68
|
license-generator (0.4.1)
|
|
70
69
|
thor
|
|
71
|
-
logger (1.
|
|
70
|
+
logger (1.4.2)
|
|
72
71
|
method_source (1.0.0)
|
|
73
72
|
minigit (0.0.4)
|
|
74
73
|
minitest (5.14.0)
|
|
@@ -111,16 +110,14 @@ GEM
|
|
|
111
110
|
rubygems-tasks (0.2.5)
|
|
112
111
|
irb (~> 1.0)
|
|
113
112
|
safe_yaml (0.9.7)
|
|
114
|
-
simplecov (0.
|
|
113
|
+
simplecov (0.18.5)
|
|
115
114
|
docile (~> 1.1)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
simplecov-html (0.10.2)
|
|
115
|
+
simplecov-html (~> 0.11)
|
|
116
|
+
simplecov-html (0.12.2)
|
|
119
117
|
sync (0.5.0)
|
|
120
118
|
term-ansicolor (1.7.1)
|
|
121
119
|
tins (~> 1.0)
|
|
122
120
|
thor (1.0.1)
|
|
123
|
-
thor-zsh_completion (0.1.2)
|
|
124
121
|
thread_safe (0.3.6)
|
|
125
122
|
tins (1.24.1)
|
|
126
123
|
sync
|
data/falkorlib.gemspec
CHANGED
|
@@ -73,18 +73,18 @@ Gem::Specification.new do |s|
|
|
|
73
73
|
#s.add_runtime_dependency 'git', '~> 1.2', '>= 1.2.5'
|
|
74
74
|
s.add_runtime_dependency('minigit', '~> 0')
|
|
75
75
|
s.add_runtime_dependency("term-ansicolor", "~> 1.3")
|
|
76
|
-
s.add_runtime_dependency("configatron", "~> 3.
|
|
76
|
+
s.add_runtime_dependency("configatron", "~> 3.0")
|
|
77
77
|
s.add_runtime_dependency("awesome_print", "~> 1.2")
|
|
78
|
-
s.add_runtime_dependency("json", "~>
|
|
78
|
+
s.add_runtime_dependency("json", "~> 2.0")
|
|
79
79
|
s.add_runtime_dependency("license-generator", '~> 0')
|
|
80
80
|
s.add_runtime_dependency("deep_merge", '~> 1.0.1')
|
|
81
81
|
s.add_runtime_dependency("diffy", '>= 3.0')
|
|
82
82
|
s.add_runtime_dependency("logger", '>= 1.2.8')
|
|
83
|
-
s.add_runtime_dependency("thor", '>= 0
|
|
83
|
+
s.add_runtime_dependency("thor", '>= 1.0')
|
|
84
84
|
s.add_runtime_dependency("artii", '>= 2.1')
|
|
85
85
|
s.add_runtime_dependency("facter", '~> 2.4.1')
|
|
86
|
-
s.add_runtime_dependency("thor-zsh_completion", '>= 0')
|
|
87
86
|
s.add_runtime_dependency("activesupport", '~> 4.0')
|
|
87
|
+
#s.add_runtime_dependency("bundler-stats", '~> 2.0')
|
|
88
88
|
#s.add_runtime_dependency("benchmark", '~> 4.0')
|
|
89
89
|
#s.add_runtime_dependency("mercenary", '>= 0.3.5')
|
|
90
90
|
|
|
@@ -107,6 +107,7 @@ Gem::Specification.new do |s|
|
|
|
107
107
|
s.add_development_dependency("travis-lint", "~> 1.8")
|
|
108
108
|
s.add_development_dependency('simplecov', '~> 0.12.0')
|
|
109
109
|
s.add_development_dependency("codeclimate-test-reporter", '~> 0') #, group: :test, require: nil)
|
|
110
|
+
#s.add_development_dependency("thor-zsh_completion", '>= 0.1.5')
|
|
110
111
|
#s.add_development_dependency("bluecloth", "~> 2.2.0")
|
|
111
112
|
#s.add_development_dependency("wlang", "~> 0.10.2")
|
|
112
113
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
################################################################################
|
|
3
|
-
# Time-stamp: <
|
|
3
|
+
# Time-stamp: <Sun 2020-04-12 14:37 svarrette>
|
|
4
4
|
################################################################################
|
|
5
5
|
# Interface for the main Bootstrapping operations
|
|
6
6
|
#
|
|
@@ -28,11 +28,12 @@ module FalkorLib #:nodoc:
|
|
|
28
28
|
:hooksdir => 'config/hooks',
|
|
29
29
|
:hook => 'pre-commit.git-crypt.sh',
|
|
30
30
|
:ulhpc => [
|
|
31
|
-
#'
|
|
32
|
-
'0x3F3242C5B34D98C2', # V. Plugaru
|
|
31
|
+
#'0x5D08BCDD4F156AD7', # S. Varrette
|
|
32
|
+
#'0x3F3242C5B34D98C2', # V. Plugaru
|
|
33
33
|
'0x6429C2514EBC4737', # S. Peter
|
|
34
|
-
'0x07FEA8BA69203C2D', # C. Parisot
|
|
34
|
+
#'0x07FEA8BA69203C2D', # C. Parisot
|
|
35
35
|
'0x37183CEF550DF40B', # H. Cartiaux
|
|
36
|
+
|
|
36
37
|
],
|
|
37
38
|
# :hooks => {
|
|
38
39
|
# :precommit => 'https://gist.github.com/848c82daa63710b6c132bb42029b30ef.git',
|
|
@@ -534,7 +535,9 @@ module FalkorLib
|
|
|
534
535
|
config[k.to_sym] = ask( "\t" + Kernel.format("Project %-20s", k.to_s))
|
|
535
536
|
end
|
|
536
537
|
config[:description] = config[:summary]
|
|
537
|
-
|
|
538
|
+
if FalkorLib::GitFlow.init?(rootdir)
|
|
539
|
+
config[:gitflow] = FalkorLib::GitFlow.guess_gitflow_config(rootdir)
|
|
540
|
+
end
|
|
538
541
|
config[:make] = File.exists?(File.join(rootdir, 'Makefile'))
|
|
539
542
|
config[:rake] = File.exists?(File.join(rootdir, 'Rakefile'))
|
|
540
543
|
config
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
################################################################################
|
|
3
|
+
# Time-stamp: <Mon 2017-01-16 10:14 svarrette>
|
|
4
|
+
################################################################################
|
|
5
|
+
# Interface for Bootstrapping a Ruby gem
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
require "falkorlib"
|
|
9
|
+
require "falkorlib/common"
|
|
10
|
+
require "falkorlib/bootstrap"
|
|
11
|
+
|
|
12
|
+
include FalkorLib::Common
|
|
13
|
+
|
|
14
|
+
module FalkorLib
|
|
15
|
+
module Bootstrap #:nodoc:
|
|
16
|
+
|
|
17
|
+
module_function
|
|
18
|
+
|
|
19
|
+
###### gem ######
|
|
20
|
+
# Initialize a Ruby gem project
|
|
21
|
+
# Supported options:
|
|
22
|
+
# * :force [boolean] force action
|
|
23
|
+
##
|
|
24
|
+
def gem(dir = Dir.pwd, options = {})
|
|
25
|
+
info "Initialize a Ruby gem "
|
|
26
|
+
|
|
27
|
+
end # gem
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
end # module Bootstrap
|
|
32
|
+
end # module FalkorLib
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
################################################################################
|
|
3
|
-
# Time-stamp: <
|
|
3
|
+
# Time-stamp: <Sun 2020-04-12 14:35 svarrette>
|
|
4
4
|
################################################################################
|
|
5
5
|
# Interface for the main Bootstrapping operations
|
|
6
6
|
#
|
|
@@ -120,6 +120,7 @@ module FalkorLib
|
|
|
120
120
|
warning "no Git remote 'origin' found, thus no remote synchronization performed"
|
|
121
121
|
end
|
|
122
122
|
end
|
|
123
|
+
return 0
|
|
123
124
|
end # repo
|
|
124
125
|
|
|
125
126
|
###### gitcrypt ######
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
################################################################################
|
|
3
|
-
# Time-stamp: <
|
|
3
|
+
# Time-stamp: <Sun 2020-04-12 09:04 svarrette>
|
|
4
4
|
################################################################################
|
|
5
5
|
# Interface for the main python Bootstrapping operations
|
|
6
6
|
#
|
|
@@ -149,6 +149,7 @@ Now you probably need to perform the following actions:
|
|
|
149
149
|
direnv allow .
|
|
150
150
|
# Eventually install the pyenv version
|
|
151
151
|
pyenv install #{config[:version]}
|
|
152
|
+
cd ..; cd - # To reload the appropriate version
|
|
152
153
|
|
|
153
154
|
You can then enjoy your newly configured sand-boxed environment
|
|
154
155
|
|
|
@@ -164,6 +165,8 @@ To freeze your environment to pass it around
|
|
|
164
165
|
pip freeze -l > requirements.txt # Dump it to a requirements file
|
|
165
166
|
git add requirements.txt
|
|
166
167
|
git commit -s -m 'Python package list' requirements.txt
|
|
168
|
+
# Later for collaborators upon clone
|
|
169
|
+
pip install -r requirements.txt
|
|
167
170
|
|
|
168
171
|
MOTD
|
|
169
172
|
exit_status.to_i
|
data/lib/falkorlib/cli.rb
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
require 'thor'
|
|
9
9
|
require 'thor/actions'
|
|
10
10
|
require 'thor/group'
|
|
11
|
-
require 'thor/zsh_completion'
|
|
11
|
+
#require 'thor/zsh_completion'
|
|
12
12
|
|
|
13
13
|
require 'falkorlib'
|
|
14
14
|
|
|
@@ -31,7 +31,7 @@ module FalkorLib
|
|
|
31
31
|
|
|
32
32
|
include Thor::Actions
|
|
33
33
|
include FalkorLib::Common
|
|
34
|
-
include ZshCompletion::Command
|
|
34
|
+
# include ZshCompletion::Command
|
|
35
35
|
|
|
36
36
|
#default_command :info
|
|
37
37
|
|
data/lib/falkorlib/common.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
################################################################################
|
|
3
|
-
# Time-stamp: <
|
|
3
|
+
# Time-stamp: <Sun 2020-04-12 14:38 svarrette>
|
|
4
4
|
################################################################################
|
|
5
5
|
|
|
6
6
|
require "falkorlib"
|
|
@@ -374,6 +374,7 @@ module FalkorLib #:nodoc:
|
|
|
374
374
|
really_continue? unless options[:no_interaction]
|
|
375
375
|
next
|
|
376
376
|
end
|
|
377
|
+
#puts config.to_yaml
|
|
377
378
|
content += ERB.new(File.read(erb.to_s), nil, '<>').result(binding)
|
|
378
379
|
end
|
|
379
380
|
# error "Unable to find the template file #{erbfile}" unless File.exists? (erbfile )
|
data/lib/falkorlib/config.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
|
2
2
|
################################################################################
|
|
3
|
-
# Time-stamp: <
|
|
3
|
+
# Time-stamp: <Sun 2020-04-12 14:57 svarrette>
|
|
4
4
|
################################################################################
|
|
5
5
|
# FalkorLib Configuration
|
|
6
6
|
#
|
|
@@ -55,8 +55,9 @@ module FalkorLib #:nodoc:
|
|
|
55
55
|
},
|
|
56
56
|
#:custom_cfg => '.falkorlib.yaml',
|
|
57
57
|
:rvm => {
|
|
58
|
-
|
|
59
|
-
:
|
|
58
|
+
# See https://www.ruby-lang.org/en/downloads/branches/ for stable branches
|
|
59
|
+
:rubies => [ '2.7.0', '2.6.5', '2.5.6', '2.4.9' ],
|
|
60
|
+
:version => '2.6.5',
|
|
60
61
|
:versionfile => '.ruby-version',
|
|
61
62
|
:gemsetfile => '.ruby-gemset'
|
|
62
63
|
},
|
data/lib/falkorlib/version.rb
CHANGED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#########################################
|
|
3
|
+
# bootstrap_mkdocs_spec.rb
|
|
4
|
+
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
|
5
|
+
# Time-stamp: <Sun 2020-04-12 12:25 svarrette>
|
|
6
|
+
#
|
|
7
|
+
# @description Check the Bootstrapping operations for mkdocs
|
|
8
|
+
#
|
|
9
|
+
# Copyright (c) 2020 Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
|
10
|
+
# . http://varrette.gforge.uni.lu
|
|
11
|
+
##############################################################################
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'tmpdir'
|
|
15
|
+
require 'fileutils'
|
|
16
|
+
|
|
17
|
+
describe FalkorLib::Bootstrap do
|
|
18
|
+
|
|
19
|
+
include FalkorLib::Common
|
|
20
|
+
|
|
21
|
+
dirs = {
|
|
22
|
+
:without_git => Dir.mktmpdir,
|
|
23
|
+
:with_git => Dir.mktmpdir,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
#_____________
|
|
27
|
+
before :all do
|
|
28
|
+
$stdout.sync = true
|
|
29
|
+
FalkorLib.config[:no_interaction] = true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
#____________
|
|
33
|
+
after :all do
|
|
34
|
+
dirs.each do |t,d|
|
|
35
|
+
#next if t == :with_git
|
|
36
|
+
FileUtils.remove_entry_secure d
|
|
37
|
+
end
|
|
38
|
+
FalkorLib.config[:no_interaction] = false
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
[ :without_git, :with_git ].each do |ctx|
|
|
42
|
+
# [ :without_git ].each do |ctx|
|
|
43
|
+
# [ :with_git ].each do |ctx|
|
|
44
|
+
dir = dirs[ctx]
|
|
45
|
+
########################################################################
|
|
46
|
+
context "bootstrap/mkdocs (#{ctx}) within temporary directory '#{dir}'" do
|
|
47
|
+
|
|
48
|
+
if ctx == :with_git
|
|
49
|
+
it "initialize Git in the temporary directory #{dir}" do
|
|
50
|
+
c = FalkorLib::Git.init(dir)
|
|
51
|
+
expect(c).to eq(0)
|
|
52
|
+
t = FalkorLib::Git.init?(dir)
|
|
53
|
+
expect(t).to be true
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
######### mkdocs #########
|
|
58
|
+
it "#mkdocs -- #{ctx}" do
|
|
59
|
+
c = FalkorLib::Bootstrap.mkdocs(dir)
|
|
60
|
+
expect(c).to eq(0)
|
|
61
|
+
d = File.join(dir, 'docs')
|
|
62
|
+
conffile = File.join(dir, 'mkdocs.yml')
|
|
63
|
+
expect(File.directory?(d)).to be true
|
|
64
|
+
expect(File.exists?(conffile)).to be true
|
|
65
|
+
File.read(File.realpath(conffile)) do |f|
|
|
66
|
+
[
|
|
67
|
+
"site_name: #{File.basename(dir)}",
|
|
68
|
+
"nav:"
|
|
69
|
+
].each do |pattern|
|
|
70
|
+
f.should include "#{pattern}"
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
end # context "bootstrap/mkdocs"
|
|
76
|
+
end # each
|
|
77
|
+
|
|
78
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#########################################
|
|
3
|
+
# bootstrap_vagrant_spec.rb
|
|
4
|
+
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
|
5
|
+
# Time-stamp: <Sun 2020-04-12 15:35 svarrette>
|
|
6
|
+
#
|
|
7
|
+
# @description Check the Bootstrapping operations for a new repo
|
|
8
|
+
#
|
|
9
|
+
# Copyright (c) 2020 Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
|
10
|
+
# . http://varrette.gforge.uni.lu
|
|
11
|
+
##############################################################################
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'tmpdir'
|
|
15
|
+
require 'fileutils'
|
|
16
|
+
|
|
17
|
+
describe FalkorLib::Bootstrap do
|
|
18
|
+
|
|
19
|
+
include FalkorLib::Common
|
|
20
|
+
|
|
21
|
+
dirs = {
|
|
22
|
+
:with_make => Dir.mktmpdir,
|
|
23
|
+
:with_rake => Dir.mktmpdir,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
#_____________
|
|
27
|
+
before :all do
|
|
28
|
+
$stdout.sync = true
|
|
29
|
+
FalkorLib.config[:no_interaction] = true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
#____________
|
|
33
|
+
after :all do
|
|
34
|
+
dirs.each do |t,d|
|
|
35
|
+
FileUtils.remove_entry_secure d
|
|
36
|
+
end
|
|
37
|
+
FalkorLib.config[:no_interaction] = false
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
[ :with_make, :with_rake ].each do |ctx|
|
|
41
|
+
# [ :with_make ].each do |ctx|
|
|
42
|
+
# [ :with_rake ].each do |ctx|
|
|
43
|
+
dir = dirs[ctx]
|
|
44
|
+
########################################################################
|
|
45
|
+
context "bootstrap/repo (#{ctx}) within temporary directory '#{dir}'" do
|
|
46
|
+
|
|
47
|
+
it "#repo -- bootstrap a new repository" do
|
|
48
|
+
c = FalkorLib::Bootstrap.repo(dir,
|
|
49
|
+
{
|
|
50
|
+
:no_interaction => true,
|
|
51
|
+
:make => (ctx == :with_make),
|
|
52
|
+
:rake => (ctx == :with_rake),
|
|
53
|
+
:git_flow => true
|
|
54
|
+
})
|
|
55
|
+
expect(c).to eq(0)
|
|
56
|
+
files_to_check = (ctx == :with_make) ? [ 'Makefile' ] : [ 'Rakefile', 'Gemfile', '.ruby-version', '.ruby-gemset' ]
|
|
57
|
+
files_to_check += [ 'VERSION', 'README.md', '.falkor/config' ]
|
|
58
|
+
files_to_check.each do |f|
|
|
59
|
+
expect(File).to exist( File.join(dir, f))
|
|
60
|
+
end
|
|
61
|
+
if (ctx == :with_make)
|
|
62
|
+
[ '.submodules/Makefiles' ].each do |d|
|
|
63
|
+
expect(File.directory?(File.join(dir, d))).to be true
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
it "#repo -- repeat bootstrap" do
|
|
69
|
+
c = capture(:stdout) {
|
|
70
|
+
FalkorLib::Bootstrap.repo(dir,
|
|
71
|
+
{
|
|
72
|
+
:no_interaction => true,
|
|
73
|
+
:make => (ctx == :with_make),
|
|
74
|
+
:rake => (ctx == :with_rake)
|
|
75
|
+
})
|
|
76
|
+
}
|
|
77
|
+
[
|
|
78
|
+
"Git is already initialized for the repository "
|
|
79
|
+
].each do |pattern|
|
|
80
|
+
expect(c).to include pattern
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
end # context "bootstrap/repo"
|
|
85
|
+
end # each
|
|
86
|
+
end
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#!/usr/bin/ruby
|
|
2
|
+
#########################################
|
|
3
|
+
# bootstrap_vagrant_spec.rb
|
|
4
|
+
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
|
5
|
+
# Time-stamp: <Sun 2020-04-12 14:22 svarrette>
|
|
6
|
+
#
|
|
7
|
+
# @description Check the Bootstrapping operations for Vagrant
|
|
8
|
+
#
|
|
9
|
+
# Copyright (c) 2020 Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
|
10
|
+
# . http://varrette.gforge.uni.lu
|
|
11
|
+
##############################################################################
|
|
12
|
+
|
|
13
|
+
require 'spec_helper'
|
|
14
|
+
require 'tmpdir'
|
|
15
|
+
require 'fileutils'
|
|
16
|
+
|
|
17
|
+
describe FalkorLib::Bootstrap do
|
|
18
|
+
|
|
19
|
+
include FalkorLib::Common
|
|
20
|
+
|
|
21
|
+
dirs = {
|
|
22
|
+
:without_git => Dir.mktmpdir,
|
|
23
|
+
:with_git => Dir.mktmpdir,
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
#_____________
|
|
27
|
+
before :all do
|
|
28
|
+
$stdout.sync = true
|
|
29
|
+
FalkorLib.config[:no_interaction] = true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
#____________
|
|
33
|
+
after :all do
|
|
34
|
+
dirs.each do |t,d|
|
|
35
|
+
#next if t == :with_git
|
|
36
|
+
FileUtils.remove_entry_secure d
|
|
37
|
+
end
|
|
38
|
+
FalkorLib.config[:no_interaction] = false
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
#[ :without_git, :with_git ].each do |ctx|
|
|
42
|
+
# [ :without_git ].each do |ctx|
|
|
43
|
+
[ :with_git ].each do |ctx|
|
|
44
|
+
dir = dirs[ctx]
|
|
45
|
+
########################################################################
|
|
46
|
+
context "bootstrap/vagrant (#{ctx}) within temporary directory '#{dir}'" do
|
|
47
|
+
|
|
48
|
+
if ctx == :with_git
|
|
49
|
+
it "initialize Git in the temporary directory #{dir}" do
|
|
50
|
+
c = FalkorLib::Git.init(dir)
|
|
51
|
+
expect(c).to eq(0)
|
|
52
|
+
t = FalkorLib::Git.init?(dir)
|
|
53
|
+
expect(t).to be true
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
######### vagrant #########
|
|
58
|
+
it "#vagrant -- #{ctx}" do
|
|
59
|
+
c = FalkorLib::Bootstrap.vagrant(dir)
|
|
60
|
+
expect(c).to eq(0)
|
|
61
|
+
confdir = File.join(dir, 'vagrant')
|
|
62
|
+
conffile = File.join(dir, 'Vagrantfile')
|
|
63
|
+
expect(File.directory?(confdir)).to be true
|
|
64
|
+
expect(File.exists?(conffile)).to be true
|
|
65
|
+
bootstrap = File.join(confdir, 'bootstrap.sh')
|
|
66
|
+
expect(File.exists?(bootstrap)).to be true
|
|
67
|
+
|
|
68
|
+
# File.read(File.realpath(conffile)) do |f|
|
|
69
|
+
# [
|
|
70
|
+
# "site_name: #{File.basename(dir)}",
|
|
71
|
+
# "nav:"
|
|
72
|
+
# ].each do |pattern|
|
|
73
|
+
# f.should include "#{pattern}"
|
|
74
|
+
# end
|
|
75
|
+
# end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
end # context "bootstrap/mkdocs"
|
|
79
|
+
end # each
|
|
80
|
+
|
|
81
|
+
end
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
#########################################
|
|
3
3
|
# gitflow_spec.rb
|
|
4
4
|
# @author Sebastien Varrette <Sebastien.Varrette@uni.lu>
|
|
5
|
-
# Time-stamp: <
|
|
5
|
+
# Time-stamp: <Sun 2020-04-12 15:15 svarrette>
|
|
6
6
|
#
|
|
7
7
|
# @description Check the Git Flow operations -- see https://github.com/nvie/gitflow
|
|
8
8
|
#
|
|
@@ -77,6 +77,26 @@ describe FalkorLib::GitFlow do
|
|
|
77
77
|
expect(br).to eq(FalkorLib.config[:gitflow][:branches][:develop])
|
|
78
78
|
end
|
|
79
79
|
end
|
|
80
|
+
|
|
81
|
+
it "#guess_gitflow_config" do
|
|
82
|
+
c = FalkorLib::GitFlow.guess_gitflow_config(dir)
|
|
83
|
+
{
|
|
84
|
+
:master => 'production',
|
|
85
|
+
:develop => 'devel'
|
|
86
|
+
}.each do |type,v|
|
|
87
|
+
expect(c[:branches][type.to_sym]).to eq(v)
|
|
88
|
+
end
|
|
89
|
+
{
|
|
90
|
+
:feature => 'feature/',
|
|
91
|
+
:release => 'release/',
|
|
92
|
+
:hotfix => 'hotfix/',
|
|
93
|
+
:support => 'support/',
|
|
94
|
+
:versiontag => 'v'
|
|
95
|
+
}.each do |type,v|
|
|
96
|
+
expect(c[:prefix][type.to_sym]).to eq(v)
|
|
97
|
+
end
|
|
98
|
+
end
|
|
99
|
+
|
|
80
100
|
end
|
|
81
101
|
|
|
82
102
|
end
|
data/spec/falkorlib_spec.rb
CHANGED
|
@@ -1,13 +1,33 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
describe FalkorLib do
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
it "should have a version number" do
|
|
5
|
+
expect(FalkorLib.const_defined?(:VERSION)).to be true
|
|
6
|
+
end
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
it "should have a Major/Minor/Patch number" do
|
|
9
|
+
[ :MAJOR, :MINOR, :PATCH].each do |t|
|
|
10
|
+
expect(FalkorLib::Version.const_defined?(t)).to be true
|
|
10
11
|
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
it "#self.lib" do
|
|
15
|
+
expect(FalkorLib.lib).to include 'lib'
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
it "#self.major" do
|
|
19
|
+
v = FalkorLib::Version::MAJOR
|
|
20
|
+
expect(FalkorLib::Version.major).to eq(v)
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
it "#self.minor" do
|
|
24
|
+
v = FalkorLib::Version::MINOR
|
|
25
|
+
expect(FalkorLib::Version.minor).to eq(v)
|
|
26
|
+
end
|
|
11
27
|
|
|
28
|
+
it "#self.patch" do
|
|
29
|
+
v = FalkorLib::Version::PATCH
|
|
30
|
+
expect(FalkorLib::Version.patch).to eq(v)
|
|
31
|
+
end
|
|
12
32
|
|
|
13
33
|
end
|
|
@@ -1,18 +1,13 @@
|
|
|
1
|
-
-*- mode: markdown; mode: visual-line; fill-column: 80 -*-
|
|
2
|
-
|
|
3
1
|
<% unless (config[:license].empty? or config[:license] == "none") %>
|
|
4
2
|
[ %>)](<%= FalkorLib::Config::Bootstrap::DEFAULTS[:licenses][ config[:license] ][:url] %>)
|
|
5
3
|
<% end %>
|
|
6
4
|
![By <%= config[:by] %>](https://img.shields.io/badge/by-<%= config[:by] %>-blue.svg) [![<%= config[:forge] %>](https://img.shields.io/badge/git-<%= config[:forge] %>-lightgray.svg)](<%= config[:source] %>) [](<%= config[:issues_url] %>)
|
|
7
5
|
|
|
8
|
-
Time-stamp: <Sun 2017-01-15 16:58 svarrette>
|
|
9
|
-
|
|
10
6
|
<%= ::Artii::Base.new().asciify( config[:name] ).split("\n").join("\n ") %>
|
|
11
7
|
Copyright (c) <%= Time.now.year %> <%= config[:author] %> <<%= config[:mail] %>>
|
|
12
8
|
|
|
13
9
|
<%= config[:description] %>
|
|
14
10
|
|
|
15
|
-
|
|
16
11
|
This is the main page of the documentation for this repository, which relies on [MkDocs](http://www.mkdocs.org/) and the [Read the Docs](http://readthedocs.io) theme. It proposes to detail the following elements:
|
|
17
12
|
|
|
18
13
|
* The [organization and directory layout](layout.md)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<% unless config[:forge].empty? %>
|
|
1
2
|
|
|
2
3
|
This repository is hosted on [<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:name] %>](<%= config[:project_page] %>).
|
|
3
4
|
|
|
@@ -9,6 +10,7 @@ This repository is hosted on [<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge]
|
|
|
9
10
|
$> mkdir -p ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
|
|
10
11
|
$> cd ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
|
|
11
12
|
$> git clone <%= config[:origin] %>
|
|
13
|
+
<% end %>
|
|
12
14
|
|
|
13
15
|
<% if config[:type].include?( :rvm ) %>
|
|
14
16
|
Now ensure [RVM](https://rvm.io/) is correctly configured for this repository:
|
|
@@ -25,26 +27,35 @@ Configure the dependencies detailed in the [`Gemfile`](Gemfile) through the [Bun
|
|
|
25
27
|
**`/!\ IMPORTANT`**: Once cloned, initiate your local copy of the repository by running:
|
|
26
28
|
|
|
27
29
|
$> cd <%= name.downcase %>
|
|
28
|
-
<% if
|
|
30
|
+
<% if config[:make] %>
|
|
29
31
|
$> make setup
|
|
30
32
|
<% else %>
|
|
31
33
|
$> rake setup
|
|
32
34
|
<% end %>
|
|
33
35
|
|
|
34
|
-
This will initiate the [Git submodules of this repository](.gitmodules)
|
|
36
|
+
This will initiate the [Git submodules of this repository](.gitmodules), setup the [git flow](https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow) layout for this repository.
|
|
37
|
+
Later on, instead of pulling, you may want you can update **all** of your local branches by running:
|
|
35
38
|
|
|
36
|
-
|
|
39
|
+
```
|
|
40
|
+
make up
|
|
41
|
+
```
|
|
37
42
|
|
|
38
|
-
|
|
39
|
-
|
|
43
|
+
If upon pulling the repository, you end in a state where another collaborator have upgraded the Git submodules for this repository, you'll end in a dirty state (as reported by modifications within the `.submodules/` directory). In that case, just after the pull, you **have to run** the following command to ensure consistency with regards the Git submodules:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
<% if config[:make] %>
|
|
47
|
+
$> make update # OR make up
|
|
40
48
|
<% else %>
|
|
41
|
-
|
|
49
|
+
$> rake git:submodules:update
|
|
42
50
|
<% end %>
|
|
51
|
+
# OR
|
|
52
|
+
git submodule update
|
|
53
|
+
```
|
|
43
54
|
|
|
44
|
-
|
|
55
|
+
finally, if you want to upgrade the [Git submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) (see `.gitmodules`) to the latest version by running:
|
|
45
56
|
|
|
46
57
|
<% if options[:make] %>
|
|
47
|
-
$> make
|
|
58
|
+
$> make upgrade
|
|
48
59
|
<% else %>
|
|
49
|
-
$> rake git:submodules:
|
|
60
|
+
$> rake git:submodules:upgrade
|
|
50
61
|
<% end %>
|
|
@@ -57,15 +57,17 @@ $> git config –-global user.name "Firstname LastName" # Adapt ac
|
|
|
57
57
|
$> git config –-global user.email "Firstname.LastName@domain.org" # Adapt with your mail
|
|
58
58
|
~~~
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
<% unless config[:forge].empty? %>
|
|
61
|
+
Clone the [project repository](<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:name] %><%= config[:project_page] %> from a Terminal (Powershell as `administrator` under windows):
|
|
61
62
|
|
|
62
63
|
~~~bash
|
|
63
64
|
$> mkdir -p ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
|
|
64
65
|
$> cd ~/git/<%= FalkorLib::Config::Bootstrap::DEFAULTS[:forge][ config[:forge].to_sym ][:url] %>/<%= config[:by] %>
|
|
65
66
|
$> git clone <%= config[:origin] %>
|
|
66
|
-
<% if
|
|
67
|
+
<% if config[:make] %>
|
|
67
68
|
$> make setup # Under Mac OS / Linux
|
|
68
69
|
<% else %>
|
|
69
70
|
$> rake setup # Under Mac OS / Linux
|
|
70
71
|
<% end %>
|
|
71
72
|
~~~
|
|
73
|
+
<% end %>
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: falkorlib
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sebastien Varrette
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-04-
|
|
11
|
+
date: 2020-04-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: '3.
|
|
75
|
+
version: '3.0'
|
|
76
76
|
type: :runtime
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '3.
|
|
82
|
+
version: '3.0'
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: awesome_print
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -100,14 +100,14 @@ dependencies:
|
|
|
100
100
|
requirements:
|
|
101
101
|
- - "~>"
|
|
102
102
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
103
|
+
version: '2.0'
|
|
104
104
|
type: :runtime
|
|
105
105
|
prerelease: false
|
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
107
107
|
requirements:
|
|
108
108
|
- - "~>"
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
|
-
version: '
|
|
110
|
+
version: '2.0'
|
|
111
111
|
- !ruby/object:Gem::Dependency
|
|
112
112
|
name: license-generator
|
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -170,14 +170,14 @@ dependencies:
|
|
|
170
170
|
requirements:
|
|
171
171
|
- - ">="
|
|
172
172
|
- !ruby/object:Gem::Version
|
|
173
|
-
version: '0
|
|
173
|
+
version: '1.0'
|
|
174
174
|
type: :runtime
|
|
175
175
|
prerelease: false
|
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
|
177
177
|
requirements:
|
|
178
178
|
- - ">="
|
|
179
179
|
- !ruby/object:Gem::Version
|
|
180
|
-
version: '0
|
|
180
|
+
version: '1.0'
|
|
181
181
|
- !ruby/object:Gem::Dependency
|
|
182
182
|
name: artii
|
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -206,20 +206,6 @@ dependencies:
|
|
|
206
206
|
- - "~>"
|
|
207
207
|
- !ruby/object:Gem::Version
|
|
208
208
|
version: 2.4.1
|
|
209
|
-
- !ruby/object:Gem::Dependency
|
|
210
|
-
name: thor-zsh_completion
|
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
|
212
|
-
requirements:
|
|
213
|
-
- - ">="
|
|
214
|
-
- !ruby/object:Gem::Version
|
|
215
|
-
version: '0'
|
|
216
|
-
type: :runtime
|
|
217
|
-
prerelease: false
|
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
219
|
-
requirements:
|
|
220
|
-
- - ">="
|
|
221
|
-
- !ruby/object:Gem::Version
|
|
222
|
-
version: '0'
|
|
223
209
|
- !ruby/object:Gem::Dependency
|
|
224
210
|
name: activesupport
|
|
225
211
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -374,8 +360,11 @@ dependencies:
|
|
|
374
360
|
- - "~>"
|
|
375
361
|
- !ruby/object:Gem::Version
|
|
376
362
|
version: '0'
|
|
377
|
-
description:
|
|
378
|
-
|
|
363
|
+
description: 'This is my personal library I use to share the Ruby tidbits and Rake
|
|
364
|
+
tasks I made it for my various projects, and also to bootstrap easily several element
|
|
365
|
+
of my daily workflow (new git repository, new beamer slides etc.).
|
|
366
|
+
|
|
367
|
+
'
|
|
379
368
|
email:
|
|
380
369
|
- Sebastien.Varrette@uni.lu
|
|
381
370
|
executables:
|
|
@@ -407,6 +396,7 @@ files:
|
|
|
407
396
|
- lib/falkorlib.rb
|
|
408
397
|
- lib/falkorlib/bootstrap.rb
|
|
409
398
|
- lib/falkorlib/bootstrap/base.rb
|
|
399
|
+
- lib/falkorlib/bootstrap/gems.rb
|
|
410
400
|
- lib/falkorlib/bootstrap/git.rb
|
|
411
401
|
- lib/falkorlib/bootstrap/latex.rb
|
|
412
402
|
- lib/falkorlib/bootstrap/link.rb
|
|
@@ -447,9 +437,12 @@ files:
|
|
|
447
437
|
- spec/falkorlib/bootstrap_helpers_spec.rb
|
|
448
438
|
- spec/falkorlib/bootstrap_latex_spec.rb
|
|
449
439
|
- spec/falkorlib/bootstrap_link_spec.rb
|
|
440
|
+
- spec/falkorlib/bootstrap_mkdocs_spec.rb
|
|
450
441
|
- spec/falkorlib/bootstrap_python_spec.rb
|
|
442
|
+
- spec/falkorlib/bootstrap_repo_spec.rb
|
|
451
443
|
- spec/falkorlib/bootstrap_ruby_spec.rb
|
|
452
444
|
- spec/falkorlib/bootstrap_spec.rb
|
|
445
|
+
- spec/falkorlib/bootstrap_vagrant_spec.rb
|
|
453
446
|
- spec/falkorlib/common_spec.rb
|
|
454
447
|
- spec/falkorlib/config_spec.rb
|
|
455
448
|
- spec/falkorlib/error_spec.rb
|
|
@@ -560,8 +553,9 @@ homepage: https://github.com/Falkor/falkorlib
|
|
|
560
553
|
licenses:
|
|
561
554
|
- MIT
|
|
562
555
|
metadata: {}
|
|
563
|
-
post_install_message:
|
|
564
|
-
|
|
556
|
+
post_install_message: 'Thanks for installing FalkorLib.
|
|
557
|
+
|
|
558
|
+
'
|
|
565
559
|
rdoc_options: []
|
|
566
560
|
require_paths:
|
|
567
561
|
- lib
|
|
@@ -576,8 +570,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
576
570
|
- !ruby/object:Gem::Version
|
|
577
571
|
version: '0'
|
|
578
572
|
requirements: []
|
|
579
|
-
|
|
580
|
-
rubygems_version: 2.7.7
|
|
573
|
+
rubygems_version: 3.0.8
|
|
581
574
|
signing_key:
|
|
582
575
|
specification_version: 4
|
|
583
576
|
summary: Sebastien Varrette aka Falkor's Common library to share Ruby code and {rake,cap}
|
|
@@ -599,4 +592,7 @@ test_files:
|
|
|
599
592
|
- spec/falkorlib/versioning_spec.rb
|
|
600
593
|
- spec/falkorlib/puppet_modules_spec.rb
|
|
601
594
|
- spec/falkorlib/versioning_puppet_module_spec.rb
|
|
595
|
+
- spec/falkorlib/bootstrap_vagrant_spec.rb
|
|
596
|
+
- spec/falkorlib/bootstrap_mkdocs_spec.rb
|
|
602
597
|
- spec/falkorlib/versioning_gem_spec.rb
|
|
598
|
+
- spec/falkorlib/bootstrap_repo_spec.rb
|