takeltau 0.34.9
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/LICENSE +674 -0
- data/README.md +235 -0
- data/bin/tau +6 -0
- data/lib/Thorfile +3 -0
- data/lib/takeltau.rb +257 -0
- data/lib/takeltau/bit/check/cli.rb +23 -0
- data/lib/takeltau/bit/check/workspace.rb +37 -0
- data/lib/takeltau/bit/cli.rb +18 -0
- data/lib/takeltau/bit/clipboard/cli.rb +73 -0
- data/lib/takeltau/bit/clipboard/copy.rb +142 -0
- data/lib/takeltau/bit/clipboard/lib.rb +143 -0
- data/lib/takeltau/bit/clipboard/paste.rb +60 -0
- data/lib/takeltau/bit/clipboard/pull.rb +37 -0
- data/lib/takeltau/bit/clipboard/push.rb +37 -0
- data/lib/takeltau/bit/require/cli.rb +57 -0
- data/lib/takeltau/bit/require/export.rb +34 -0
- data/lib/takeltau/bit/require/import.rb +133 -0
- data/lib/takeltau/bit/require/lib.rb +19 -0
- data/lib/takeltau/bit/scope/add.rb +55 -0
- data/lib/takeltau/bit/scope/cli.rb +74 -0
- data/lib/takeltau/bit/scope/list.rb +41 -0
- data/lib/takeltau/bit/scope/new.rb +44 -0
- data/lib/takeltau/bit/scope/ssh.rb +13 -0
- data/lib/takeltau/completion/cli.rb +24 -0
- data/lib/takeltau/default.yml +95 -0
- data/lib/takeltau/docker/check/cli.rb +23 -0
- data/lib/takeltau/docker/check/daemon.rb +27 -0
- data/lib/takeltau/docker/cli.rb +15 -0
- data/lib/takeltau/docker/container/check/cli.rb +57 -0
- data/lib/takeltau/docker/container/check/existing.rb +32 -0
- data/lib/takeltau/docker/container/check/network.rb +32 -0
- data/lib/takeltau/docker/container/check/orphaned.rb +32 -0
- data/lib/takeltau/docker/container/clean.rb +40 -0
- data/lib/takeltau/docker/container/cli.rb +118 -0
- data/lib/takeltau/docker/container/command.rb +38 -0
- data/lib/takeltau/docker/container/daemon.rb +17 -0
- data/lib/takeltau/docker/container/lib.rb +181 -0
- data/lib/takeltau/docker/container/login.rb +58 -0
- data/lib/takeltau/docker/container/prune.rb +31 -0
- data/lib/takeltau/docker/image/cli.rb +39 -0
- data/lib/takeltau/docker/image/tag/check.rb +42 -0
- data/lib/takeltau/docker/image/tag/cli.rb +68 -0
- data/lib/takeltau/docker/image/tag/latest.rb +24 -0
- data/lib/takeltau/docker/image/tag/list.rb +19 -0
- data/lib/takeltau/docker/image/update.rb +27 -0
- data/lib/takeltau/git/check/bit.rb +26 -0
- data/lib/takeltau/git/check/clean.rb +46 -0
- data/lib/takeltau/git/check/cli.rb +49 -0
- data/lib/takeltau/git/check/workspace.rb +34 -0
- data/lib/takeltau/git/cli.rb +9 -0
- data/lib/takeltau/info/cli.rb +12 -0
- data/lib/takeltau/info/project/cli.rb +69 -0
- data/lib/takeltau/info/status/bar.rb +112 -0
- data/lib/takeltau/info/status/cli.rb +107 -0
- data/lib/takeltau/info/status/git.rb +47 -0
- data/lib/takeltau/info/status/gopass.rb +37 -0
- data/lib/takeltau/info/status/gpg.rb +39 -0
- data/lib/takeltau/info/status/lib.rb +46 -0
- data/lib/takeltau/info/status/ssh.rb +46 -0
- data/lib/takeltau/init/cli.rb +12 -0
- data/lib/takeltau/init/lib.rb +86 -0
- data/lib/takeltau/init/packer/cli.rb +82 -0
- data/lib/takeltau/init/packer/docker.rb +64 -0
- data/lib/takeltau/init/packer/templates/ansiblelint.tt +3 -0
- data/lib/takeltau/init/packer/templates/bitrequireyml.tt +13 -0
- data/lib/takeltau/init/packer/templates/groupvarsprojectyml.tt +2 -0
- data/lib/takeltau/init/packer/templates/playbooksiteyml.tt +6 -0
- data/lib/takeltau/init/packer/templates/projectyml.tt +19 -0
- data/lib/takeltau/init/takelage/cli.rb +70 -0
- data/lib/takeltau/init/takelage/rake.rb +61 -0
- data/lib/takeltau/init/takelage/templates/bitrequireyml.tt +5 -0
- data/lib/takeltau/init/takelage/templates/projectyml.tt +3 -0
- data/lib/takeltau/init/templates/Rakefile.tt +3 -0
- data/lib/takeltau/init/templates/gitignore.tt +16 -0
- data/lib/takeltau/lib/config.rb +130 -0
- data/lib/takeltau/lib/logging.rb +49 -0
- data/lib/takeltau/lib/project.rb +72 -0
- data/lib/takeltau/lib/subcmd.rb +18 -0
- data/lib/takeltau/lib/system.rb +194 -0
- data/lib/takeltau/mutagen/check/cli.rb +40 -0
- data/lib/takeltau/mutagen/check/daemon.rb +76 -0
- data/lib/takeltau/mutagen/cli.rb +12 -0
- data/lib/takeltau/mutagen/socket/check.rb +33 -0
- data/lib/takeltau/mutagen/socket/cli.rb +103 -0
- data/lib/takeltau/mutagen/socket/create.rb +47 -0
- data/lib/takeltau/mutagen/socket/list.rb +33 -0
- data/lib/takeltau/mutagen/socket/terminate.rb +32 -0
- data/lib/takeltau/mutagen/socket/tidy.rb +21 -0
- data/lib/takeltau/self/cli.rb +43 -0
- data/lib/takeltau/self/config/cli.rb +82 -0
- data/lib/takeltau/self/list.rb +35 -0
- data/lib/takeltau/version +1 -0
- metadata +319 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau info status ssh
|
|
4
|
+
module InfoStatusSSH
|
|
5
|
+
# Backend method for info status ssh.
|
|
6
|
+
# @return [Boolean] is ssh available?
|
|
7
|
+
# rubocop:disable Metrics/MethodLength
|
|
8
|
+
def info_status_ssh
|
|
9
|
+
log.debug 'Check ssh status'
|
|
10
|
+
|
|
11
|
+
ssh_auth_sock = ENV['SSH_AUTH_SOCK']
|
|
12
|
+
gpg_ssh_socket = _info_status_ssh_socket_path.chomp
|
|
13
|
+
|
|
14
|
+
unless ssh_auth_sock == gpg_ssh_socket
|
|
15
|
+
log.error 'ssh does not use gpg ssh socket'
|
|
16
|
+
return false
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
unless _file_exists? gpg_ssh_socket
|
|
20
|
+
log.error 'gpg ssh socket is not available'
|
|
21
|
+
return false
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
unless _info_status_ssh_keys
|
|
25
|
+
log.error 'ssh keys are not available'
|
|
26
|
+
return false
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
log.debug 'ssh is available'
|
|
30
|
+
true
|
|
31
|
+
end
|
|
32
|
+
# rubocop:enable Metrics/MethodLength
|
|
33
|
+
|
|
34
|
+
private
|
|
35
|
+
|
|
36
|
+
# Get ssh socket path
|
|
37
|
+
def _info_status_ssh_socket_path
|
|
38
|
+
run config.active['cmd_info_status_ssh_socket']
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Check ssh keys
|
|
42
|
+
def _info_status_ssh_keys
|
|
43
|
+
status_keys = try config.active['cmd_info_status_ssh_keys']
|
|
44
|
+
status_keys.exitstatus.zero?
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Takeltau
|
|
4
|
+
# takeltau init
|
|
5
|
+
class Init < SubCommandBase
|
|
6
|
+
desc 'packer [COMMAND]', 'Init packer project'
|
|
7
|
+
subcommand 'packer', InitPacker
|
|
8
|
+
|
|
9
|
+
desc 'takelage [COMMAND]', 'Init takelage project'
|
|
10
|
+
subcommand 'takelage', InitTakelage
|
|
11
|
+
end
|
|
12
|
+
end
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau init takelage lib
|
|
4
|
+
module InitLib
|
|
5
|
+
private
|
|
6
|
+
|
|
7
|
+
# Import bit components.
|
|
8
|
+
def _init_lib_bit_require_import
|
|
9
|
+
if config.active['init_bit_require_import'] == 'true'
|
|
10
|
+
log.info 'Importing bit components'
|
|
11
|
+
return false unless bit_require_import
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
true
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Check bit.
|
|
18
|
+
def _init_lib_bit_check
|
|
19
|
+
return false unless command_available_else_error? config.active['cmd_bit']
|
|
20
|
+
return true unless bit_check_workspace
|
|
21
|
+
|
|
22
|
+
log.error 'bit is already initialized!'
|
|
23
|
+
false
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Init bit.
|
|
27
|
+
def _init_lib_bit_init
|
|
28
|
+
log.info 'Initializing bit workspace'
|
|
29
|
+
return false unless try config.active['cmd_init_lib_bit_init']
|
|
30
|
+
|
|
31
|
+
true
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# Check git.
|
|
35
|
+
def _init_lib_git_check
|
|
36
|
+
return false unless command_available_else_error? config.active['cmd_git']
|
|
37
|
+
return true unless git_check_workspace
|
|
38
|
+
|
|
39
|
+
log.error 'git is already initialized!'
|
|
40
|
+
false
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# Init git.
|
|
44
|
+
def _init_lib_git_init
|
|
45
|
+
log.info 'Initializing git workspace'
|
|
46
|
+
return false unless try config.active['cmd_init_lib_git_init']
|
|
47
|
+
|
|
48
|
+
true
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Check files.
|
|
52
|
+
def _init_lib_files_check(files)
|
|
53
|
+
exit_status = true
|
|
54
|
+
files.each do |file|
|
|
55
|
+
if _file_exists? file[:name]
|
|
56
|
+
log.error "File exists: #{file[:name]}"
|
|
57
|
+
exit_status = false
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
exit_status
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# Create files.
|
|
64
|
+
def _init_lib_files_create(files)
|
|
65
|
+
files.each do |file|
|
|
66
|
+
template file[:template], file[:name]
|
|
67
|
+
end
|
|
68
|
+
true
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Run git add --all.
|
|
72
|
+
def _init_lib_git_add_all
|
|
73
|
+
log.info 'Preparing initial git commit'
|
|
74
|
+
return false unless try config.active['cmd_init_lib_git_add_all']
|
|
75
|
+
|
|
76
|
+
true
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Run git commit -m "Initial commit".
|
|
80
|
+
def _init_lib_git_commit_initial
|
|
81
|
+
log.info 'Saving initial git commit'
|
|
82
|
+
return false unless try config.active['cmd_init_lib_git_commit_initial']
|
|
83
|
+
|
|
84
|
+
true
|
|
85
|
+
end
|
|
86
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Takeltau
|
|
4
|
+
# takeltau init packer
|
|
5
|
+
class InitPacker < SubCommandBase
|
|
6
|
+
include Thor::Actions
|
|
7
|
+
include LoggingModule
|
|
8
|
+
include SystemModule
|
|
9
|
+
include ConfigModule
|
|
10
|
+
include ProjectModule
|
|
11
|
+
include GitCheckClean
|
|
12
|
+
include GitCheckBit
|
|
13
|
+
include GitCheckWorkspace
|
|
14
|
+
include BitCheckWorkspace
|
|
15
|
+
include BitClipboardLib
|
|
16
|
+
include BitClipboardCopy
|
|
17
|
+
include BitClipboardPaste
|
|
18
|
+
include BitRequireLib
|
|
19
|
+
include BitRequireImport
|
|
20
|
+
include InitLib
|
|
21
|
+
include InitPackerDocker
|
|
22
|
+
|
|
23
|
+
argument :name
|
|
24
|
+
|
|
25
|
+
# Initialize bit require
|
|
26
|
+
# Define templates
|
|
27
|
+
# rubocop:disable Metrics/MethodLength
|
|
28
|
+
def initialize(args = [], local_options = {}, configuration = {})
|
|
29
|
+
# initialize thor parent class
|
|
30
|
+
super args, local_options, configuration
|
|
31
|
+
|
|
32
|
+
@bit_require_file = config.active['bit_require_file']
|
|
33
|
+
|
|
34
|
+
@ansiblelint = {
|
|
35
|
+
name: 'ansible/.ansible-lint',
|
|
36
|
+
template: 'templates/ansiblelint.tt'
|
|
37
|
+
}
|
|
38
|
+
@bitrequireyml = {
|
|
39
|
+
name: 'bitrequire.yml',
|
|
40
|
+
template: 'templates/bitrequireyml.tt'
|
|
41
|
+
}
|
|
42
|
+
@gitignore = {
|
|
43
|
+
name: '.gitignore',
|
|
44
|
+
template: '../templates/gitignore.tt'
|
|
45
|
+
}
|
|
46
|
+
@groupvarsprojectyml = {
|
|
47
|
+
name: 'ansible/group_vars/all/project.yml',
|
|
48
|
+
template: 'templates/groupvarsprojectyml.tt'
|
|
49
|
+
}
|
|
50
|
+
@playbooksiteyml = {
|
|
51
|
+
name: 'ansible/playbook-site.yml',
|
|
52
|
+
template: 'templates/playbooksiteyml.tt'
|
|
53
|
+
}
|
|
54
|
+
@projectyml = {
|
|
55
|
+
name: 'project.yml',
|
|
56
|
+
template: 'templates/projectyml.tt'
|
|
57
|
+
}
|
|
58
|
+
@rakefile = {
|
|
59
|
+
name: 'Rakefile',
|
|
60
|
+
template: '../templates/Rakefile.tt'
|
|
61
|
+
}
|
|
62
|
+
end
|
|
63
|
+
# rubocop:enable Metrics/MethodLength
|
|
64
|
+
|
|
65
|
+
# Provide template path for Thor:Actions
|
|
66
|
+
def self.source_root
|
|
67
|
+
File.dirname(__FILE__)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
#
|
|
71
|
+
# init packer docker
|
|
72
|
+
#
|
|
73
|
+
desc 'docker [NAME]', 'Initialize packer project [NAME] for docker images'
|
|
74
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
75
|
+
Initialize packer project [NAME] for docker images
|
|
76
|
+
LONGDESC
|
|
77
|
+
# Initialize packer project [NAME] for docker images.
|
|
78
|
+
def docker
|
|
79
|
+
exit init_packer_docker
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau init packer docker
|
|
4
|
+
module InitPackerDocker
|
|
5
|
+
# Backend method for init docker packer.
|
|
6
|
+
# @return [Boolean] successful init?
|
|
7
|
+
def init_packer_docker
|
|
8
|
+
log.debug 'Initialize packer project for docker images'
|
|
9
|
+
|
|
10
|
+
files = _init_packer_docker_files_get
|
|
11
|
+
|
|
12
|
+
return false unless _init_packer_docker_check_prerequisites files
|
|
13
|
+
|
|
14
|
+
exit_code = _init_packer_docker_create_project files
|
|
15
|
+
|
|
16
|
+
# reinitialize config with newly created files
|
|
17
|
+
initialize_config
|
|
18
|
+
|
|
19
|
+
return false unless _init_lib_bit_require_import
|
|
20
|
+
|
|
21
|
+
return false unless exit_code
|
|
22
|
+
|
|
23
|
+
true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
# Add templates.
|
|
29
|
+
def _init_packer_docker_files_get
|
|
30
|
+
[
|
|
31
|
+
@ansiblelint,
|
|
32
|
+
@bitrequireyml,
|
|
33
|
+
@gitignore,
|
|
34
|
+
@groupvarsprojectyml,
|
|
35
|
+
@playbooksiteyml,
|
|
36
|
+
@projectyml,
|
|
37
|
+
@rakefile
|
|
38
|
+
]
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Check prerequisites.
|
|
42
|
+
def _init_packer_docker_check_prerequisites(files)
|
|
43
|
+
return false unless _init_lib_git_check
|
|
44
|
+
|
|
45
|
+
return false unless _init_lib_bit_check
|
|
46
|
+
|
|
47
|
+
return false unless _init_lib_files_check files
|
|
48
|
+
|
|
49
|
+
true
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# Create project.
|
|
53
|
+
def _init_packer_docker_create_project(files)
|
|
54
|
+
exit_code = true
|
|
55
|
+
|
|
56
|
+
exit_code &&= _init_lib_git_init
|
|
57
|
+
exit_code &&= _init_lib_bit_init
|
|
58
|
+
exit_code &&= _init_lib_files_create files
|
|
59
|
+
exit_code &&= _init_lib_git_add_all
|
|
60
|
+
exit_code &&= _init_lib_git_commit_initial
|
|
61
|
+
|
|
62
|
+
exit_code
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
scopes:
|
|
3
|
+
takelage.ansible:
|
|
4
|
+
- name: ansible/molecule/default
|
|
5
|
+
- name: ansible/molecule/image
|
|
6
|
+
- name: ansible/roles/takel-cleanup
|
|
7
|
+
takelage.packer:
|
|
8
|
+
- name: packer/templates/takelage/docker
|
|
9
|
+
takelage.rake:
|
|
10
|
+
- name: rake/ansible
|
|
11
|
+
- name: rake/images
|
|
12
|
+
- name: rake/meta
|
|
13
|
+
- name: rake/rubylint
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: <%= name %>
|
|
3
|
+
version: 0.1.0
|
|
4
|
+
|
|
5
|
+
pipelines:
|
|
6
|
+
- prod
|
|
7
|
+
|
|
8
|
+
images:
|
|
9
|
+
project:
|
|
10
|
+
base_user: takelage
|
|
11
|
+
base_repo: takelslim
|
|
12
|
+
base_tag: latest
|
|
13
|
+
layers:
|
|
14
|
+
- site
|
|
15
|
+
omit_pipeline_name: prod
|
|
16
|
+
target_user: takelage
|
|
17
|
+
target_repo: <%= name %>
|
|
18
|
+
|
|
19
|
+
local_user: packer_local
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Takeltau
|
|
4
|
+
# takeltau init takelage
|
|
5
|
+
class InitTakelage < SubCommandBase
|
|
6
|
+
include Thor::Actions
|
|
7
|
+
include LoggingModule
|
|
8
|
+
include SystemModule
|
|
9
|
+
include ConfigModule
|
|
10
|
+
include ProjectModule
|
|
11
|
+
include GitCheckClean
|
|
12
|
+
include GitCheckBit
|
|
13
|
+
include GitCheckWorkspace
|
|
14
|
+
include BitCheckWorkspace
|
|
15
|
+
include BitClipboardLib
|
|
16
|
+
include BitClipboardCopy
|
|
17
|
+
include BitClipboardPaste
|
|
18
|
+
include BitRequireLib
|
|
19
|
+
include BitRequireImport
|
|
20
|
+
include InitLib
|
|
21
|
+
include InitTakelageRake
|
|
22
|
+
|
|
23
|
+
argument :name
|
|
24
|
+
|
|
25
|
+
# Initialize bit require
|
|
26
|
+
# Define templates
|
|
27
|
+
# rubocop:disable Metrics/MethodLength
|
|
28
|
+
def initialize(args = [], local_options = {}, configuration = {})
|
|
29
|
+
# initialize thor parent class
|
|
30
|
+
super args, local_options, configuration
|
|
31
|
+
|
|
32
|
+
@bit_require_file = config.active['bit_require_file']
|
|
33
|
+
|
|
34
|
+
@bitrequireyml = {
|
|
35
|
+
name: 'bitrequire.yml',
|
|
36
|
+
template: 'templates/bitrequireyml.tt'
|
|
37
|
+
}
|
|
38
|
+
@gitignore = {
|
|
39
|
+
name: '.gitignore',
|
|
40
|
+
template: '../templates/gitignore.tt'
|
|
41
|
+
}
|
|
42
|
+
@projectyml = {
|
|
43
|
+
name: 'project.yml',
|
|
44
|
+
template: 'templates/projectyml.tt'
|
|
45
|
+
}
|
|
46
|
+
@rakefile = {
|
|
47
|
+
name: 'Rakefile',
|
|
48
|
+
template: '../templates/Rakefile.tt'
|
|
49
|
+
}
|
|
50
|
+
end
|
|
51
|
+
# rubocop:enable Metrics/MethodLength
|
|
52
|
+
|
|
53
|
+
# Provide template path for Thor:Actions
|
|
54
|
+
def self.source_root
|
|
55
|
+
File.dirname(__FILE__)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
#
|
|
59
|
+
# init takelage rake
|
|
60
|
+
#
|
|
61
|
+
desc 'rake [NAME]', 'Initialize takelage rake project [NAME]'
|
|
62
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
63
|
+
Initialize takelage rake project [NAME]
|
|
64
|
+
LONGDESC
|
|
65
|
+
# Initialize takelage rake project [NAME].
|
|
66
|
+
def rake
|
|
67
|
+
exit init_takelage_rake
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau init takelage rake
|
|
4
|
+
module InitTakelageRake
|
|
5
|
+
# Backend method for init takelage rake.
|
|
6
|
+
# @return [Boolean] successful init?
|
|
7
|
+
def init_takelage_rake
|
|
8
|
+
log.debug 'Initialize takelage rake project'
|
|
9
|
+
|
|
10
|
+
files = _init_takelage_rake_files_get
|
|
11
|
+
|
|
12
|
+
return false unless _init_takelage_rake_check_prerequisites files
|
|
13
|
+
|
|
14
|
+
exit_code = _init_takelage_rake_create_project files
|
|
15
|
+
|
|
16
|
+
# reinitialize config with newly created files
|
|
17
|
+
initialize_config
|
|
18
|
+
|
|
19
|
+
return false unless _init_lib_bit_require_import
|
|
20
|
+
|
|
21
|
+
return false unless exit_code
|
|
22
|
+
|
|
23
|
+
true
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
private
|
|
27
|
+
|
|
28
|
+
# Add templates.
|
|
29
|
+
def _init_takelage_rake_files_get
|
|
30
|
+
[
|
|
31
|
+
@bitrequireyml,
|
|
32
|
+
@gitignore,
|
|
33
|
+
@projectyml,
|
|
34
|
+
@rakefile
|
|
35
|
+
]
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Check prerequisites.
|
|
39
|
+
def _init_takelage_rake_check_prerequisites(files)
|
|
40
|
+
return false unless _init_lib_git_check
|
|
41
|
+
|
|
42
|
+
return false unless _init_lib_bit_check
|
|
43
|
+
|
|
44
|
+
return false unless _init_lib_files_check files
|
|
45
|
+
|
|
46
|
+
true
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Create project.
|
|
50
|
+
def _init_takelage_rake_create_project(files)
|
|
51
|
+
exit_code = true
|
|
52
|
+
|
|
53
|
+
exit_code &&= _init_lib_git_init
|
|
54
|
+
exit_code &&= _init_lib_bit_init
|
|
55
|
+
exit_code &&= _init_lib_files_create files
|
|
56
|
+
exit_code &&= _init_lib_git_add_all
|
|
57
|
+
exit_code &&= _init_lib_git_commit_initial
|
|
58
|
+
|
|
59
|
+
exit_code
|
|
60
|
+
end
|
|
61
|
+
end
|