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,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau docker container prune
|
|
4
|
+
module DockerContainerPrune
|
|
5
|
+
# Backend method for docker container prune.
|
|
6
|
+
def docker_container_prune
|
|
7
|
+
log.debug 'Removing orphaned docker containers'
|
|
8
|
+
|
|
9
|
+
return false unless docker_check_daemon
|
|
10
|
+
|
|
11
|
+
networks = _docker_container_prune_kill_orphaned_containers
|
|
12
|
+
_docker_container_lib_remove_networks networks
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
# Kill orphaned docker containers and return list of networks.
|
|
18
|
+
def _docker_container_prune_kill_orphaned_containers
|
|
19
|
+
networks = []
|
|
20
|
+
|
|
21
|
+
_docker_container_lib_get_containers.each do |container|
|
|
22
|
+
next unless docker_container_check_orphaned container
|
|
23
|
+
|
|
24
|
+
name = _docker_container_lib_get_container_name_by_id container
|
|
25
|
+
mutagen_socket_terminate "--label-selector='hostname=#{name}'"
|
|
26
|
+
_docker_container_lib_stop_container container
|
|
27
|
+
networks << name unless networks.include? name
|
|
28
|
+
end
|
|
29
|
+
networks
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Takeltau
|
|
4
|
+
# takeltau docker image
|
|
5
|
+
class DockerImage < SubCommandBase
|
|
6
|
+
include LoggingModule
|
|
7
|
+
include SystemModule
|
|
8
|
+
include ConfigModule
|
|
9
|
+
include DockerCheckDaemon
|
|
10
|
+
include DockerImageUpdate
|
|
11
|
+
|
|
12
|
+
# Initialize takelage docker image
|
|
13
|
+
def initialize(args = [], local_options = {}, configuration = {})
|
|
14
|
+
# initialize thor parent class
|
|
15
|
+
super args, local_options, configuration
|
|
16
|
+
|
|
17
|
+
@docker_user = config.active['docker_user']
|
|
18
|
+
@docker_repo = config.active['docker_repo']
|
|
19
|
+
@docker_registry = config.active['docker_registry']
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
desc 'tag [COMMAND]', 'Handle docker image tags'
|
|
23
|
+
subcommand 'tag', DockerImageTag
|
|
24
|
+
|
|
25
|
+
#
|
|
26
|
+
# docker image update
|
|
27
|
+
#
|
|
28
|
+
desc 'update', 'Get latest remote docker container'
|
|
29
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
30
|
+
Get latest remote docker container
|
|
31
|
+
This command will download the latest remote version of the takelage docker container.
|
|
32
|
+
When you start the environment the latest locally available container will be used.
|
|
33
|
+
LONGDESC
|
|
34
|
+
# Get latest remote docker container.
|
|
35
|
+
def update
|
|
36
|
+
exit docker_image_update
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau docker image tag check
|
|
4
|
+
module DockerImageTagCheck
|
|
5
|
+
# Backend method for docker image tag check.
|
|
6
|
+
# @return [Boolean] does docker image tag exist?
|
|
7
|
+
def docker_image_tag_check(tag)
|
|
8
|
+
log.debug "Check if docker image tag \"#{tag}\" exists"
|
|
9
|
+
|
|
10
|
+
return false unless docker_check_daemon
|
|
11
|
+
|
|
12
|
+
if tag.to_s.chomp.empty?
|
|
13
|
+
log.warn 'No docker image tag specified'
|
|
14
|
+
return false
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
image = "#{@docker_user}/#{@docker_repo}:#{tag}"
|
|
18
|
+
|
|
19
|
+
return false unless _docker_image_check_image? image
|
|
20
|
+
|
|
21
|
+
log.debug "Found docker image \"#{image}\""
|
|
22
|
+
true
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
private
|
|
26
|
+
|
|
27
|
+
# Check if image exists.
|
|
28
|
+
def _docker_image_check_image?(image)
|
|
29
|
+
cmd_docker_images =
|
|
30
|
+
format(
|
|
31
|
+
config.active['cmd_docker_image_tag_check_docker_images'],
|
|
32
|
+
image: image
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
if (run cmd_docker_images).to_s.chomp.empty?
|
|
36
|
+
log.debug "No docker image \"#{image}\" found"
|
|
37
|
+
return false
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
true
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Takeltau
|
|
4
|
+
# takeltau docker image tag
|
|
5
|
+
class DockerImageTag < SubCommandBase
|
|
6
|
+
include LoggingModule
|
|
7
|
+
include SystemModule
|
|
8
|
+
include ConfigModule
|
|
9
|
+
include DockerCheckDaemon
|
|
10
|
+
include DockerImageTagList
|
|
11
|
+
include DockerImageTagList
|
|
12
|
+
include DockerImageTagLatest
|
|
13
|
+
include DockerImageTagCheck
|
|
14
|
+
|
|
15
|
+
# Initialize takelage docker image tag check
|
|
16
|
+
def initialize(args = [], local_options = {}, configuration = {})
|
|
17
|
+
# initialize thor parent class
|
|
18
|
+
super args, local_options, configuration
|
|
19
|
+
|
|
20
|
+
@docker_user = config.active['docker_user']
|
|
21
|
+
@docker_repo = config.active['docker_repo']
|
|
22
|
+
@docker_registry = config.active['docker_registry']
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
#
|
|
26
|
+
# docker image tag check
|
|
27
|
+
#
|
|
28
|
+
desc 'check [TAG]', 'Check if docker image [TAG] exists'
|
|
29
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
30
|
+
Check if docker image tag exists
|
|
31
|
+
LONGDESC
|
|
32
|
+
# Check if docker image tag exists.
|
|
33
|
+
def check(tag)
|
|
34
|
+
exit docker_image_tag_check tag
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
#
|
|
38
|
+
# docker image tag latest
|
|
39
|
+
#
|
|
40
|
+
desc 'latest', 'Print latest docker image tag'
|
|
41
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
42
|
+
Print latest docker image tag
|
|
43
|
+
Print the tag of the docker image with the highest tag.
|
|
44
|
+
LONGDESC
|
|
45
|
+
# Print latest docker image tag.
|
|
46
|
+
def latest
|
|
47
|
+
tag_latest = docker_image_tag_latest
|
|
48
|
+
exit false if tag_latest == false
|
|
49
|
+
say tag_latest
|
|
50
|
+
true
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
#
|
|
54
|
+
# docker image tag list
|
|
55
|
+
#
|
|
56
|
+
desc 'list', 'Print docker image tags'
|
|
57
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
58
|
+
Print docker image tags
|
|
59
|
+
LONGDESC
|
|
60
|
+
# Print docker image tags.
|
|
61
|
+
def list
|
|
62
|
+
tag_list = docker_image_tag_list
|
|
63
|
+
exit false if tag_list == false
|
|
64
|
+
say tag_list
|
|
65
|
+
true
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau docker image tag latest
|
|
4
|
+
module DockerImageTagLatest
|
|
5
|
+
# Backend method for docker image tag latest.
|
|
6
|
+
# @return [String] latest docker image tag
|
|
7
|
+
def docker_image_tag_latest
|
|
8
|
+
log.debug 'Getting latest docker image tag'
|
|
9
|
+
|
|
10
|
+
return false unless docker_check_daemon
|
|
11
|
+
|
|
12
|
+
tags = docker_image_tag_list
|
|
13
|
+
|
|
14
|
+
tag_latest = if tags.include? 'latest'
|
|
15
|
+
'latest'
|
|
16
|
+
else
|
|
17
|
+
tags[-1]
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
log.debug "Latest docker tag: #{tag_latest}"
|
|
21
|
+
|
|
22
|
+
tag_latest
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau docker image tag list
|
|
4
|
+
module DockerImageTagList
|
|
5
|
+
# Backend method for docker image tag list.
|
|
6
|
+
# @return [Array] docker image tags
|
|
7
|
+
def docker_image_tag_list
|
|
8
|
+
cmd_docker_tags =
|
|
9
|
+
format(
|
|
10
|
+
config.active['cmd_docker_image_tag_list_docker_images'],
|
|
11
|
+
docker_user: @docker_user,
|
|
12
|
+
docker_repo: @docker_repo
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
tags = (run cmd_docker_tags).split("\n")
|
|
16
|
+
|
|
17
|
+
VersionSorter.sort(tags)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau docker image uppdate
|
|
4
|
+
module DockerImageUpdate
|
|
5
|
+
# Backend method for docker image update.
|
|
6
|
+
def docker_image_update
|
|
7
|
+
return false unless docker_check_daemon
|
|
8
|
+
|
|
9
|
+
cmd_docker_pull_latest = _docker_image_update_cmd_docker_pull_latest
|
|
10
|
+
|
|
11
|
+
cmd_docker_remove_dangling =
|
|
12
|
+
config.active['cmd_docker_image_update_docker_remove_dangling']
|
|
13
|
+
|
|
14
|
+
run_and_exit "#{cmd_docker_pull_latest} && #{cmd_docker_remove_dangling}"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
# Prepare dpcker pull latest command.
|
|
20
|
+
def _docker_image_update_cmd_docker_pull_latest
|
|
21
|
+
format(
|
|
22
|
+
config.active['cmd_docker_image_update_docker_pull_latest'],
|
|
23
|
+
docker_user: @docker_user,
|
|
24
|
+
docker_repo: @docker_repo
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau git check bit
|
|
4
|
+
module GitCheckBit
|
|
5
|
+
# Backend method for git check bit.
|
|
6
|
+
# @return [Boolean] are we on the git bit branch?
|
|
7
|
+
def git_check_bit
|
|
8
|
+
log.debug 'Check if we are on the git bit branch'
|
|
9
|
+
|
|
10
|
+
return false unless git_check_workspace
|
|
11
|
+
|
|
12
|
+
branch = _git_check_bit_get_branch
|
|
13
|
+
log.debug "We are on git branch \"#{branch}\""
|
|
14
|
+
|
|
15
|
+
branch == config.active['git_bit_branch']
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
private
|
|
19
|
+
|
|
20
|
+
# Get git branch.
|
|
21
|
+
def _git_check_bit_get_branch
|
|
22
|
+
cmd_get_branch =
|
|
23
|
+
config.active['cmd_git_check_bit_get_git_branch']
|
|
24
|
+
(run cmd_get_branch).chomp.split('/')[-1]
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau git check clean
|
|
4
|
+
module GitCheckClean
|
|
5
|
+
# Backend method for git check clean.
|
|
6
|
+
# @return [Boolean] is git workspace clean?
|
|
7
|
+
def git_check_clean
|
|
8
|
+
log.debug 'Checking if git workspace is clean'
|
|
9
|
+
|
|
10
|
+
return false unless git_check_workspace
|
|
11
|
+
|
|
12
|
+
status_unstaged = _git_check_clean_get_status_unstaged
|
|
13
|
+
status_uncommitted = _git_check_clean_get_status_uncommitted
|
|
14
|
+
stdout_str_status = _git_check_clean_get_str_status
|
|
15
|
+
|
|
16
|
+
# only return true if neither unstaged nor uncommitted nor empty files
|
|
17
|
+
sum = status_unstaged.exitstatus +
|
|
18
|
+
status_uncommitted.exitstatus +
|
|
19
|
+
stdout_str_status.length
|
|
20
|
+
|
|
21
|
+
sum.zero?
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
# Get git status of unstaged changes.
|
|
27
|
+
def _git_check_clean_get_status_unstaged
|
|
28
|
+
cmd_git_unstaged =
|
|
29
|
+
config.active['cmd_git_check_clean_git_unstaged']
|
|
30
|
+
try cmd_git_unstaged
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
# Get git status of uncommitted changes.
|
|
34
|
+
def _git_check_clean_get_status_uncommitted
|
|
35
|
+
cmd_git_uncommitted =
|
|
36
|
+
config.active['cmd_git_check_clean_git_uncommitted']
|
|
37
|
+
try cmd_git_uncommitted
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Get git status result.
|
|
41
|
+
def _git_check_clean_get_str_status
|
|
42
|
+
cmd_git_status =
|
|
43
|
+
config.active['cmd_git_check_clean_git_status']
|
|
44
|
+
run cmd_git_status
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Takeltau
|
|
4
|
+
# takeltau git check
|
|
5
|
+
class GitCheck < SubCommandBase
|
|
6
|
+
include LoggingModule
|
|
7
|
+
include SystemModule
|
|
8
|
+
include ConfigModule
|
|
9
|
+
include GitCheckClean
|
|
10
|
+
include GitCheckBit
|
|
11
|
+
include GitCheckWorkspace
|
|
12
|
+
|
|
13
|
+
#
|
|
14
|
+
# git check bit
|
|
15
|
+
#
|
|
16
|
+
desc 'bit', 'Check if we are on the git bit branch'
|
|
17
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
18
|
+
Check if we are on the git bit branch
|
|
19
|
+
LONGDESC
|
|
20
|
+
# Check if we are on the git bit branch.
|
|
21
|
+
def bit
|
|
22
|
+
exit git_check_bit
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
#
|
|
26
|
+
# git check clean
|
|
27
|
+
#
|
|
28
|
+
desc 'clean', 'Check if the git workspace is clean'
|
|
29
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
30
|
+
Check if the git workspace is clean
|
|
31
|
+
LONGDESC
|
|
32
|
+
# Check if the git workspace is clean.
|
|
33
|
+
def clean
|
|
34
|
+
exit git_check_clean
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
#
|
|
38
|
+
# git check workspace
|
|
39
|
+
#
|
|
40
|
+
desc 'workspace', 'Check if a git workspace exists'
|
|
41
|
+
long_desc <<-LONGDESC.gsub("\n", "\x5")
|
|
42
|
+
Check if a git workspace exists
|
|
43
|
+
LONGDESC
|
|
44
|
+
# Check if a git workspace exists.
|
|
45
|
+
def workspace
|
|
46
|
+
exit git_check_workspace
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# takeltau git check workspace
|
|
4
|
+
module GitCheckWorkspace
|
|
5
|
+
# Backend method for git check workspace.
|
|
6
|
+
# @return [Boolean] is this a git workspace?
|
|
7
|
+
def git_check_workspace(dir = _git_check_workspace_get_dir)
|
|
8
|
+
log.debug "Check if \"#{dir}\" is a git workspace"
|
|
9
|
+
status_repo = _git_check_workspace_get_status_repo(dir)
|
|
10
|
+
unless status_repo.exitstatus.zero?
|
|
11
|
+
log.debug "No git workspace found in \"#{dir}\""
|
|
12
|
+
return false
|
|
13
|
+
end
|
|
14
|
+
true
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
# Get git repository status.
|
|
20
|
+
def _git_check_workspace_get_status_repo(dir)
|
|
21
|
+
cmd_git_repo = format(
|
|
22
|
+
config.active['cmd_git_check_workspace_git_repo'],
|
|
23
|
+
dir: dir
|
|
24
|
+
)
|
|
25
|
+
try cmd_git_repo
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
# Get current working directory.
|
|
29
|
+
def _git_check_workspace_get_dir
|
|
30
|
+
cmd_pwd =
|
|
31
|
+
config.active['cmd_git_check_workspace_pwd']
|
|
32
|
+
(run cmd_pwd).chomp
|
|
33
|
+
end
|
|
34
|
+
end
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Takeltau
|
|
4
|
+
# takeltau info
|
|
5
|
+
class Info < SubCommandBase
|
|
6
|
+
desc 'project [COMMAND]', 'Get project info'
|
|
7
|
+
subcommand 'project', InfoProject
|
|
8
|
+
|
|
9
|
+
desc 'status [COMMAND]', 'Get status info'
|
|
10
|
+
subcommand 'status', InfoStatus
|
|
11
|
+
end
|
|
12
|
+
end
|