ronin-repos 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.document +0 -1
  3. data/.github/workflows/ruby.yml +3 -2
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +4 -0
  6. data/.ruby-version +1 -1
  7. data/ChangeLog.md +15 -0
  8. data/Gemfile +5 -3
  9. data/README.md +19 -5
  10. data/Rakefile +10 -0
  11. data/data/completions/ronin-repos +139 -0
  12. data/data/completions/ronin-repos.yml +10 -0
  13. data/gemspec.yml +11 -2
  14. data/lib/ronin/repos/cache_dir.rb +1 -1
  15. data/lib/ronin/repos/class_dir.rb +5 -4
  16. data/lib/ronin/repos/cli/command.rb +1 -1
  17. data/lib/ronin/repos/cli/commands/completion.rb +61 -0
  18. data/lib/ronin/repos/cli/commands/install.rb +2 -2
  19. data/lib/ronin/repos/cli/commands/list.rb +15 -18
  20. data/lib/ronin/repos/cli/commands/new.rb +6 -2
  21. data/lib/ronin/repos/cli/commands/purge.rb +2 -2
  22. data/lib/ronin/repos/cli/commands/remove.rb +1 -1
  23. data/lib/ronin/repos/cli/commands/show.rb +93 -0
  24. data/lib/ronin/repos/cli/commands/update.rb +2 -2
  25. data/lib/ronin/repos/cli.rb +7 -4
  26. data/lib/ronin/repos/exceptions.rb +1 -1
  27. data/lib/ronin/repos/repository.rb +30 -1
  28. data/lib/ronin/repos/root.rb +1 -1
  29. data/lib/ronin/repos/version.rb +2 -2
  30. data/lib/ronin/repos.rb +19 -5
  31. data/man/ronin-repos-completion.1 +76 -0
  32. data/man/ronin-repos-completion.1.md +78 -0
  33. data/man/ronin-repos-install.1 +18 -32
  34. data/man/ronin-repos-install.1.md +14 -10
  35. data/man/ronin-repos-list.1 +18 -28
  36. data/man/ronin-repos-list.1.md +14 -10
  37. data/man/ronin-repos-new.1 +14 -19
  38. data/man/ronin-repos-new.1.md +8 -4
  39. data/man/ronin-repos-purge.1 +17 -28
  40. data/man/ronin-repos-purge.1.md +12 -8
  41. data/man/ronin-repos-remove.1 +16 -28
  42. data/man/ronin-repos-remove.1.md +12 -8
  43. data/man/ronin-repos-show.1 +48 -0
  44. data/man/ronin-repos-show.1.md +48 -0
  45. data/man/ronin-repos-update.1 +17 -31
  46. data/man/ronin-repos-update.1.md +14 -10
  47. data/man/ronin-repos.1 +17 -31
  48. data/man/ronin-repos.1.md +16 -12
  49. data/scripts/setup +58 -0
  50. metadata +17 -7
data/man/ronin-repos.1 CHANGED
@@ -1,75 +1,61 @@
1
- .\" Generated by kramdown-man 0.1.8
1
+ .\" Generated by kramdown-man 1.0.1
2
2
  .\" https://github.com/postmodern/kramdown-man#readme
3
3
  .TH ronin-repos 1 "2023-02-01" Ronin Repos "User Manuals"
4
- .LP
4
+ .SH NAME
5
+ .PP
6
+ ronin\-repos \- manages third\-party git repository for ronin\.
5
7
  .SH SYNOPSIS
6
- .LP
7
- .HP
8
- \fBronin-repos\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP\[rB]
9
- .LP
8
+ .PP
9
+ \fBronin\-repos\fR \[lB]\fIoptions\fP\[rB] \[lB]\fICOMMAND\fP\[rB]
10
10
  .SH DESCRIPTION
11
- .LP
12
11
  .PP
13
- Allows downloading and managing git repositories\. \fBronin-repos\fR can install
12
+ Allows downloading and managing git repositories\. \fBronin\-repos\fR can install
14
13
  and use any git repository containing Ruby code or other data\.
15
- .LP
16
14
  .SH OPTIONS
17
- .LP
18
15
  .TP
19
- \fB-h\fR, \fB--help\fR
16
+ \fB\-h\fR, \fB\-\-help\fR
20
17
  Prints help information\.
21
- .LP
22
18
  .SH COMMANDS
23
- .LP
24
19
  .TP
25
20
  \fBinstall\fR
26
21
  Installs a 3rd\-party git repository\.
27
- .LP
28
22
  .TP
29
23
  \fBlist\fR, \fBls\fR
30
24
  Lists installed git repositories\.
31
- .LP
32
25
  .TP
33
26
  \fBnew\fR
34
27
  Generates a new git repository\.
35
- .LP
36
28
  .TP
37
29
  \fBpurge\fR
38
30
  Deletes all installed git repositories\.
39
- .LP
40
31
  .TP
41
32
  \fBremove\fR, \fBrm\fR
42
33
  Removes a previously installed git repository\.
43
- .LP
44
34
  .TP
45
35
  \fBupdate\fR, \fBup\fR
46
36
  Updates a previously installed git repository\.
47
- .LP
48
37
  .SH ENVIRONMENT
49
- .LP
50
38
  .TP
51
39
  \fIHOME\fP
52
40
  Specifies the home directory of the user\. Ronin will search for the
53
- \fB~/.cache/ronin-repos\fR cache directory within the home directory\.
54
- .LP
41
+ \fB\[ti]\[sl]\.cache\[sl]ronin\-repos\fR cache directory within the home directory\.
55
42
  .TP
56
43
  \fIXDG\[ru]CACHE\[ru]HOME\fP
57
- Specifies the cache directory to use\. Defaults to \fB$HOME/.cache\fR\.
58
- .LP
44
+ Specifies the cache directory to use\. Defaults to \fB\[Do]HOME\[sl]\.cache\fR\.
59
45
  .SH FILES
60
- .LP
61
46
  .TP
62
- \fB~/.cache/ronin-repos\fR
47
+ \fB\[ti]\[sl]\.cache\[sl]ronin\-repos\fR
63
48
  Installation directory for repositories\.
64
- .LP
65
49
  .SH AUTHOR
66
- .LP
67
50
  .PP
68
51
  Postmodern
69
52
  .MT postmodern\.mod3\[at]gmail\.com
70
53
  .ME
71
- .LP
72
54
  .SH SEE ALSO
73
- .LP
74
55
  .PP
75
- ronin\-repos\-install(1) ronin\-repos\-list(1) ronin\-repos\-remove(1) ronin\-repos\-update(1) ronin\-repos\-purge(1)
56
+ .BR ronin\-repos\-completion (1)
57
+ .BR ronin\-repos\-install (1)
58
+ .BR ronin\-repos\-list (1)
59
+ .BR ronin\-repos\-remove (1)
60
+ .BR ronin\-repos\-update (1)
61
+ .BR ronin\-repos\-purge (1)
data/man/ronin-repos.1.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # ronin-repos 1 "2023-02-01" Ronin Repos "User Manuals"
2
2
 
3
+ ## NAME
4
+
5
+ ronin-repos - manages third-party git repository for ronin.
6
+
3
7
  ## SYNOPSIS
4
8
 
5
9
  `ronin-repos` [*options*] [*COMMAND*]
@@ -12,41 +16,41 @@ and use any git repository containing Ruby code or other data.
12
16
  ## OPTIONS
13
17
 
14
18
  `-h`, `--help`
15
- Prints help information.
19
+ : Prints help information.
16
20
 
17
21
  ## COMMANDS
18
22
 
19
23
  `install`
20
- Installs a 3rd-party git repository.
24
+ : Installs a 3rd-party git repository.
21
25
 
22
26
  `list`, `ls`
23
- Lists installed git repositories.
27
+ : Lists installed git repositories.
24
28
 
25
29
  `new`
26
- Generates a new git repository.
30
+ : Generates a new git repository.
27
31
 
28
32
  `purge`
29
- Deletes all installed git repositories.
33
+ : Deletes all installed git repositories.
30
34
 
31
35
  `remove`, `rm`
32
- Removes a previously installed git repository.
36
+ : Removes a previously installed git repository.
33
37
 
34
38
  `update`, `up`
35
- Updates a previously installed git repository.
39
+ : Updates a previously installed git repository.
36
40
 
37
41
  ## ENVIRONMENT
38
42
 
39
43
  *HOME*
40
- Specifies the home directory of the user. Ronin will search for the
41
- `~/.cache/ronin-repos` cache directory within the home directory.
44
+ : Specifies the home directory of the user. Ronin will search for the
45
+ `~/.cache/ronin-repos` cache directory within the home directory.
42
46
 
43
47
  *XDG_CACHE_HOME*
44
- Specifies the cache directory to use. Defaults to `$HOME/.cache`.
48
+ : Specifies the cache directory to use. Defaults to `$HOME/.cache`.
45
49
 
46
50
  ## FILES
47
51
 
48
52
  `~/.cache/ronin-repos`
49
- Installation directory for repositories.
53
+ : Installation directory for repositories.
50
54
 
51
55
  ## AUTHOR
52
56
 
@@ -54,4 +58,4 @@ Postmodern <postmodern.mod3@gmail.com>
54
58
 
55
59
  ## SEE ALSO
56
60
 
57
- ronin-repos-install(1) ronin-repos-list(1) ronin-repos-remove(1) ronin-repos-update(1) ronin-repos-purge(1)
61
+ [ronin-repos-completion](ronin-repos-completion.1.md) [ronin-repos-install](ronin-repos-install.1.md) [ronin-repos-list](ronin-repos-list.1.md) [ronin-repos-remove](ronin-repos-remove.1.md) [ronin-repos-update](ronin-repos-update.1.md) [ronin-repos-purge](ronin-repos-purge.1.md)
data/scripts/setup ADDED
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env bash
2
+
3
+ #
4
+ # Prints a log message.
5
+ #
6
+ function log()
7
+ {
8
+ if [[ -t 1 ]]; then
9
+ echo -e "\x1b[1m\x1b[32m>>>\x1b[0m \x1b[1m$1\x1b[0m"
10
+ else
11
+ echo ">>> $1"
12
+ fi
13
+ }
14
+
15
+ #
16
+ # Prints a warn message.
17
+ #
18
+ function warn()
19
+ {
20
+ if [[ -t 1 ]]; then
21
+ echo -e "\x1b[1m\x1b[33m***\x1b[0m \x1b[1m$1\x1b[0m" >&2
22
+ else
23
+ echo "*** $1" >&2
24
+ fi
25
+ }
26
+
27
+ #
28
+ # Prints an error message.
29
+ #
30
+ function error()
31
+ {
32
+ if [[ -t 1 ]]; then
33
+ echo -e "\x1b[1m\x1b[31m!!!\x1b[0m \x1b[1m$1\x1b[0m" >&2
34
+ else
35
+ echo "!!! $1" >&2
36
+ fi
37
+ }
38
+
39
+ #
40
+ # Prints an error message and exists with -1.
41
+ #
42
+ function fail()
43
+ {
44
+ error "$@"
45
+ exit -1
46
+ }
47
+
48
+ # default to installing gems into vendor/bundle
49
+ if [[ ! -f .bundle/config ]]; then
50
+ bundle config set --local path vendor/bundle >/dev/null || \
51
+ fail "Failed to run 'bundle config'"
52
+ fi
53
+
54
+ log "Installing gems ..."
55
+ bundle install || fail "Failed to run 'bundle install'!"
56
+
57
+ log "Setting up the project ..."
58
+ bundle exec rake setup || "Failed to run 'rake setup'!"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ronin-repos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Postmodern
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-06-09 00:00:00.000000000 Z
11
+ date: 2024-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ronin-core
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.1'
19
+ version: '0.2'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.1'
26
+ version: '0.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -38,8 +38,9 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '2.0'
41
- description: ronin-repos provides a repository system for installing, managing, and
42
- accessing third-party git repositories, which can contain code or other data.
41
+ description: |-
42
+ ronin-repos provides a repository system for installing, managing, and accessing third-party git repositories, that can contain additional Ruby code or other data. Other Ronin libraries, such as ronin-exploits or ronin-payloads, can then list and load additional third-party Ruby classes from specific directories within the installed third-party reposs.
43
+ ronin-repos is essentially a decentralized plugin system for Ronin using git repos.
43
44
  email: postmodern.mod3@gmail.com
44
45
  executables:
45
46
  - ronin-repos
@@ -62,6 +63,8 @@ files:
62
63
  - README.md
63
64
  - Rakefile
64
65
  - bin/ronin-repos
66
+ - data/completions/ronin-repos
67
+ - data/completions/ronin-repos.yml
65
68
  - data/templates/repo/README.md.erb
66
69
  - gemspec.yml
67
70
  - lib/ronin/repos.rb
@@ -69,16 +72,20 @@ files:
69
72
  - lib/ronin/repos/class_dir.rb
70
73
  - lib/ronin/repos/cli.rb
71
74
  - lib/ronin/repos/cli/command.rb
75
+ - lib/ronin/repos/cli/commands/completion.rb
72
76
  - lib/ronin/repos/cli/commands/install.rb
73
77
  - lib/ronin/repos/cli/commands/list.rb
74
78
  - lib/ronin/repos/cli/commands/new.rb
75
79
  - lib/ronin/repos/cli/commands/purge.rb
76
80
  - lib/ronin/repos/cli/commands/remove.rb
81
+ - lib/ronin/repos/cli/commands/show.rb
77
82
  - lib/ronin/repos/cli/commands/update.rb
78
83
  - lib/ronin/repos/exceptions.rb
79
84
  - lib/ronin/repos/repository.rb
80
85
  - lib/ronin/repos/root.rb
81
86
  - lib/ronin/repos/version.rb
87
+ - man/ronin-repos-completion.1
88
+ - man/ronin-repos-completion.1.md
82
89
  - man/ronin-repos-install.1
83
90
  - man/ronin-repos-install.1.md
84
91
  - man/ronin-repos-list.1
@@ -89,11 +96,14 @@ files:
89
96
  - man/ronin-repos-purge.1.md
90
97
  - man/ronin-repos-remove.1
91
98
  - man/ronin-repos-remove.1.md
99
+ - man/ronin-repos-show.1
100
+ - man/ronin-repos-show.1.md
92
101
  - man/ronin-repos-update.1
93
102
  - man/ronin-repos-update.1.md
94
103
  - man/ronin-repos.1
95
104
  - man/ronin-repos.1.md
96
105
  - ronin-repos.gemspec
106
+ - scripts/setup
97
107
  homepage: https://ronin-rb.dev
98
108
  licenses:
99
109
  - LGPL-3.0
@@ -118,7 +128,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
128
  - !ruby/object:Gem::Version
119
129
  version: '0'
120
130
  requirements: []
121
- rubygems_version: 3.3.26
131
+ rubygems_version: 3.5.11
122
132
  signing_key:
123
133
  specification_version: 4
124
134
  summary: Third-party git repository support for ronin.