ronin-repos 0.1.1 → 0.2.0.rc1

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.
Files changed (49) 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/ChangeLog.md +15 -0
  7. data/Gemfile +5 -3
  8. data/README.md +19 -5
  9. data/Rakefile +10 -0
  10. data/data/completions/ronin-repos +139 -0
  11. data/data/completions/ronin-repos.yml +10 -0
  12. data/gemspec.yml +11 -2
  13. data/lib/ronin/repos/cache_dir.rb +1 -1
  14. data/lib/ronin/repos/class_dir.rb +5 -4
  15. data/lib/ronin/repos/cli/command.rb +1 -1
  16. data/lib/ronin/repos/cli/commands/completion.rb +61 -0
  17. data/lib/ronin/repos/cli/commands/install.rb +2 -2
  18. data/lib/ronin/repos/cli/commands/list.rb +15 -18
  19. data/lib/ronin/repos/cli/commands/new.rb +6 -2
  20. data/lib/ronin/repos/cli/commands/purge.rb +2 -2
  21. data/lib/ronin/repos/cli/commands/remove.rb +1 -1
  22. data/lib/ronin/repos/cli/commands/show.rb +93 -0
  23. data/lib/ronin/repos/cli/commands/update.rb +2 -2
  24. data/lib/ronin/repos/cli.rb +5 -4
  25. data/lib/ronin/repos/exceptions.rb +1 -1
  26. data/lib/ronin/repos/repository.rb +30 -1
  27. data/lib/ronin/repos/root.rb +1 -1
  28. data/lib/ronin/repos/version.rb +2 -2
  29. data/lib/ronin/repos.rb +19 -5
  30. data/man/ronin-repos-completion.1 +76 -0
  31. data/man/ronin-repos-completion.1.md +78 -0
  32. data/man/ronin-repos-install.1 +18 -32
  33. data/man/ronin-repos-install.1.md +14 -10
  34. data/man/ronin-repos-list.1 +18 -28
  35. data/man/ronin-repos-list.1.md +14 -10
  36. data/man/ronin-repos-new.1 +14 -19
  37. data/man/ronin-repos-new.1.md +8 -4
  38. data/man/ronin-repos-purge.1 +17 -28
  39. data/man/ronin-repos-purge.1.md +12 -8
  40. data/man/ronin-repos-remove.1 +16 -28
  41. data/man/ronin-repos-remove.1.md +12 -8
  42. data/man/ronin-repos-show.1 +48 -0
  43. data/man/ronin-repos-show.1.md +48 -0
  44. data/man/ronin-repos-update.1 +17 -31
  45. data/man/ronin-repos-update.1.md +14 -10
  46. data/man/ronin-repos.1 +17 -31
  47. data/man/ronin-repos.1.md +16 -12
  48. data/scripts/setup +58 -0
  49. 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.rc1
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-06-23 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.0.rc1
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.0.rc1
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.3.27
122
132
  signing_key:
123
133
  specification_version: 4
124
134
  summary: Third-party git repository support for ronin.