rake_gpg 0.7.0.pre.1 → 0.11.0.pre.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aba14d7c5a4cefade68fb30cae3dab934dc81620512831040efde2d721f1bb36
4
- data.tar.gz: 5f94f905a109a0fd09385d9d8916a034048a0239b84b04b7d37f4cf5de3c840b
3
+ metadata.gz: b181cbc8cecdf2708215cb0cbe972301f3ab0bb84f32de62737403b10d3c9f47
4
+ data.tar.gz: 407673d3d7a79f032a79071bcc1aa7a63f1e260fe5b8d627dc83c6bd1fdee2a4
5
5
  SHA512:
6
- metadata.gz: d538397af63f19188f56bad35ab85bdb290112991466475b771447b081dca025e403ee018f248927e84fb7fd3d497faef84f93f726b2c75a8ed93021e6a08e10
7
- data.tar.gz: 50366cb5f6ffbe91ca853b4522d1ca8a1551fccafd517cac3ecfecb6e93127f663ee17009fe9a65049aa4067c96e1efa8a9247af5358d8b6b76f7288821e4ca3
6
+ metadata.gz: 16f76fbdbcbbf8335fb5473aa18d1f41fc956d5ff6c7ce56e4036f31f6618ac6343abed8768e86a1dc3a6e199acc91bfb625e34403ffda82c0e01c61806b1349
7
+ data.tar.gz: 86f494e213f1bf25d75e383c96ab0b1518f9620210b015094f46152563720ddb621c9c5d01f34c94f12a1691777e7c355fe8fad5a93145bb892aceda7237c4a4
@@ -1,45 +1,46 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rake_gpg (0.7.0.pre.1)
4
+ rake_gpg (0.11.0.pre.2)
5
5
  rake_factory (>= 0.23, < 1)
6
- ruby_gpg2 (>= 0.2, < 1)
6
+ ruby_gpg2 (>= 0.6, < 1)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (6.0.3)
11
+ activesupport (6.1.0)
12
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
13
- i18n (>= 0.7, < 2)
14
- minitest (~> 5.1)
15
- tzinfo (~> 1.1)
16
- zeitwerk (~> 2.2, >= 2.2.2)
13
+ i18n (>= 1.6, < 2)
14
+ minitest (>= 5.1)
15
+ tzinfo (~> 2.0)
16
+ zeitwerk (~> 2.3)
17
17
  addressable (2.7.0)
18
18
  public_suffix (>= 2.0.2, < 5.0)
19
19
  colored2 (3.1.2)
20
- concurrent-ruby (1.1.6)
21
- diff-lcs (1.3)
22
- docile (1.3.2)
23
- excon (0.73.0)
24
- fakefs (1.2.2)
25
- faraday (1.0.1)
20
+ concurrent-ruby (1.1.7)
21
+ diff-lcs (1.4.4)
22
+ docile (1.3.3)
23
+ excon (0.78.1)
24
+ fakefs (1.3.0)
25
+ faraday (1.1.0)
26
26
  multipart-post (>= 1.2, < 3)
27
- gem-release (2.1.1)
27
+ ruby2_keywords
28
+ gem-release (2.2.0)
28
29
  hamster (3.0.0)
29
30
  concurrent-ruby (~> 1.0)
30
- i18n (1.8.2)
31
+ i18n (1.8.5)
31
32
  concurrent-ruby (~> 1.0)
32
- lino (1.3.0)
33
+ lino (1.5.0)
33
34
  hamster (~> 3.0)
34
35
  open4 (~> 1.3)
35
- minitest (5.14.0)
36
+ minitest (5.14.2)
36
37
  multipart-post (2.1.1)
37
- octokit (4.18.0)
38
+ octokit (4.19.0)
38
39
  faraday (>= 0.9)
39
40
  sawyer (~> 0.8.0, >= 0.5.3)
40
41
  open4 (1.3.4)
41
- public_suffix (4.0.4)
42
- rake (13.0.1)
42
+ public_suffix (4.0.6)
43
+ rake (13.0.2)
43
44
  rake_circle_ci (0.7.0)
44
45
  colored2 (~> 3.1)
45
46
  excon (~> 0.72)
@@ -57,37 +58,41 @@ GEM
57
58
  colored2 (~> 3.1)
58
59
  rake_factory (~> 0.23)
59
60
  sshkey (~> 2.0)
60
- rspec (3.9.0)
61
- rspec-core (~> 3.9.0)
62
- rspec-expectations (~> 3.9.0)
63
- rspec-mocks (~> 3.9.0)
64
- rspec-core (3.9.2)
65
- rspec-support (~> 3.9.3)
66
- rspec-expectations (3.9.2)
61
+ rspec (3.10.0)
62
+ rspec-core (~> 3.10.0)
63
+ rspec-expectations (~> 3.10.0)
64
+ rspec-mocks (~> 3.10.0)
65
+ rspec-core (3.10.0)
66
+ rspec-support (~> 3.10.0)
67
+ rspec-expectations (3.10.0)
67
68
  diff-lcs (>= 1.2.0, < 2.0)
68
- rspec-support (~> 3.9.0)
69
- rspec-mocks (3.9.1)
69
+ rspec-support (~> 3.10.0)
70
+ rspec-mocks (3.10.0)
70
71
  diff-lcs (>= 1.2.0, < 2.0)
71
- rspec-support (~> 3.9.0)
72
- rspec-support (3.9.3)
73
- ruby_gpg2 (0.2.0)
74
- lino (= 1.3.0)
72
+ rspec-support (~> 3.10.0)
73
+ rspec-support (3.10.0)
74
+ ruby2_keywords (0.0.2)
75
+ ruby_gpg2 (0.6.0)
76
+ lino (>= 1.5)
75
77
  sawyer (0.8.2)
76
78
  addressable (>= 2.3.5)
77
79
  faraday (> 0.8, < 2.0)
78
80
  semantic (1.6.1)
79
- simplecov (0.18.5)
81
+ simplecov (0.20.0)
80
82
  docile (~> 1.1)
81
83
  simplecov-html (~> 0.11)
82
- simplecov-html (0.12.2)
84
+ simplecov_json_formatter (~> 0.1)
85
+ simplecov-html (0.12.3)
86
+ simplecov_json_formatter (0.1.2)
83
87
  sshkey (2.0.0)
84
- thread_safe (0.3.6)
85
- tzinfo (1.2.7)
86
- thread_safe (~> 0.1)
87
- zeitwerk (2.3.0)
88
+ tzinfo (2.0.4)
89
+ concurrent-ruby (~> 1.0)
90
+ zeitwerk (2.4.2)
88
91
 
89
92
  PLATFORMS
90
93
  ruby
94
+ x86_64-darwin-19
95
+ x86_64-linux
91
96
 
92
97
  DEPENDENCIES
93
98
  activesupport (>= 5.2)
@@ -104,4 +109,4 @@ DEPENDENCIES
104
109
  simplecov (~> 0.16)
105
110
 
106
111
  BUNDLED WITH
107
- 2.1.4
112
+ 2.2.2
data/Rakefile CHANGED
@@ -73,8 +73,5 @@ task :release do
73
73
  end
74
74
 
75
75
  def bump_version_for(version_type)
76
- sh "gem bump --version #{version_type} " +
77
- "&& bundle install " +
78
- "&& export LAST_MESSAGE=\"$(git log -1 --pretty=%B)\" " +
79
- "&& git commit -a --amend -m \"${LAST_MESSAGE} [ci skip]\""
76
+ sh "gem bump --version #{version_type}"
80
77
  end
@@ -0,0 +1,19 @@
1
+ module RakeGPG
2
+ class Home
3
+ def initialize(work_directory, home_directory)
4
+ @work_directory = work_directory
5
+ @home_directory = home_directory
6
+ end
7
+
8
+ def with_resolved_directory
9
+ if @home_directory == :temporary
10
+ Dir.mktmpdir('home', @work_directory) do |home_directory|
11
+ yield home_directory
12
+ end
13
+ else
14
+ FileUtils.mkdir_p(@home_directory)
15
+ yield @home_directory
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,6 +1,8 @@
1
1
  require 'rake_factory'
2
2
  require 'ruby_gpg2'
3
3
 
4
+ require_relative '../../home'
5
+
4
6
  module RakeGPG
5
7
  module Tasks
6
8
  module Encryption
@@ -12,7 +14,7 @@ module RakeGPG
12
14
  parameter :input_file_path, required: true
13
15
  parameter :output_file_path, required: true
14
16
 
15
- parameter :work_directory, default: 'build/gpg'
17
+ parameter :work_directory, default: '/tmp'
16
18
  parameter :home_directory, default: :temporary
17
19
 
18
20
  parameter :trust_mode, default: :always
@@ -20,34 +22,26 @@ module RakeGPG
20
22
 
21
23
  action do |t|
22
24
  mkdir_p(t.work_directory)
23
- if t.home_directory == :temporary
24
- Dir.mktmpdir(
25
- 'home', t.work_directory) do |home_directory|
26
- do_decrypt(t, home_directory)
27
- end
28
- else
29
- mkdir_p(t.home_directory)
30
- do_decrypt(t, t.home_directory)
31
- end
32
- end
33
25
 
34
- private
35
-
36
- def do_decrypt(t, home_directory)
37
26
  puts "Decrypting #{t.input_file_path} with key #{t.key_file_path}..."
38
- RubyGPG2.import(
39
- key_file_paths: [t.key_file_path],
40
- work_directory: t.work_directory,
41
- home_directory: home_directory)
42
-
43
- RubyGPG2.decrypt(
44
- input_file_path: t.input_file_path,
45
- output_file_path: t.output_file_path,
46
- home_directory: home_directory,
47
- trust_mode: t.trust_mode,
48
- passphrase: t.passphrase,
49
- pinentry_mode: t.passphrase ? :loopback : nil,
50
- without_passphrase: !t.passphrase)
27
+ Home.new(t.work_directory, t.home_directory)
28
+ .with_resolved_directory do |home_directory|
29
+ RubyGPG2.import(
30
+ key_file_paths: [t.key_file_path],
31
+ work_directory: t.work_directory,
32
+ home_directory: home_directory)
33
+
34
+ mkdir_p(File.dirname(t.output_file_path))
35
+
36
+ RubyGPG2.decrypt(
37
+ input_file_path: t.input_file_path,
38
+ output_file_path: t.output_file_path,
39
+ home_directory: home_directory,
40
+ trust_mode: t.trust_mode,
41
+ passphrase: t.passphrase,
42
+ pinentry_mode: t.passphrase ? :loopback : nil,
43
+ without_passphrase: !t.passphrase)
44
+ end
51
45
  puts "Done."
52
46
  end
53
47
  end
@@ -1,6 +1,8 @@
1
1
  require 'rake_factory'
2
2
  require 'ruby_gpg2'
3
3
 
4
+ require_relative '../../home'
5
+
4
6
  module RakeGPG
5
7
  module Tasks
6
8
  module Encryption
@@ -12,7 +14,7 @@ module RakeGPG
12
14
  parameter :input_file_path, required: true
13
15
  parameter :output_file_path, required: true
14
16
 
15
- parameter :work_directory, default: 'build/gpg'
17
+ parameter :work_directory, default: '/tmp'
16
18
  parameter :home_directory, default: :temporary
17
19
 
18
20
  parameter :armor, default: true
@@ -20,40 +22,32 @@ module RakeGPG
20
22
 
21
23
  action do |t|
22
24
  mkdir_p(t.work_directory)
23
- if t.home_directory == :temporary
24
- Dir.mktmpdir(
25
- 'home', t.work_directory) do |home_directory|
26
- do_encrypt(t, home_directory)
27
- end
28
- else
29
- mkdir_p(t.home_directory)
30
- do_encrypt(t, t.home_directory)
31
- end
32
- end
33
25
 
34
- private
35
-
36
- def do_encrypt(t, home_directory)
37
26
  puts "Encrypting #{t.input_file_path} for key #{t.key_file_path}..."
38
- result = RubyGPG2.import(
39
- key_file_paths: [t.key_file_path],
40
- work_directory: t.work_directory,
41
- home_directory: home_directory,
42
- with_status: true)
43
-
44
- key_fingerprint = result
45
- .status
46
- .filter_by_type(:import_ok)
47
- .first_line
48
- .key_fingerprint
49
-
50
- RubyGPG2.encrypt(
51
- recipient: key_fingerprint,
52
- input_file_path: t.input_file_path,
53
- output_file_path: t.output_file_path,
54
- home_directory: home_directory,
55
- armor: t.armor,
56
- trust_mode: t.trust_mode)
27
+ Home.new(t.work_directory, t.home_directory)
28
+ .with_resolved_directory do |home_directory|
29
+ result = RubyGPG2.import(
30
+ key_file_paths: [t.key_file_path],
31
+ work_directory: t.work_directory,
32
+ home_directory: home_directory,
33
+ with_status: true)
34
+
35
+ key_fingerprint = result
36
+ .status
37
+ .filter_by_type(:import_ok)
38
+ .first_line
39
+ .key_fingerprint
40
+
41
+ mkdir_p(File.dirname(t.output_file_path))
42
+
43
+ RubyGPG2.encrypt(
44
+ recipient: key_fingerprint,
45
+ input_file_path: t.input_file_path,
46
+ output_file_path: t.output_file_path,
47
+ home_directory: home_directory,
48
+ armor: t.armor,
49
+ trust_mode: t.trust_mode)
50
+ end
57
51
  puts "Done."
58
52
  end
59
53
  end
@@ -1,6 +1,8 @@
1
1
  require 'rake_factory'
2
2
  require 'ruby_gpg2'
3
3
 
4
+ require_relative '../../home'
5
+
4
6
  module RakeGPG
5
7
  module Tasks
6
8
  module Keys
@@ -11,7 +13,7 @@ module RakeGPG
11
13
  parameter :name_prefix, default: 'gpg'
12
14
  parameter :armor, default: true
13
15
 
14
- parameter :work_directory, default: 'build/gpg'
16
+ parameter :work_directory, default: '/tmp'
15
17
  parameter :home_directory, default: :temporary
16
18
  parameter :output_directory
17
19
 
@@ -29,62 +31,48 @@ module RakeGPG
29
31
 
30
32
  action do |t|
31
33
  mkdir_p(t.work_directory)
32
- if t.home_directory == :temporary
33
- Dir.mktmpdir(
34
- 'home', t.work_directory) do |home_directory|
35
- do_generate_key(t, home_directory)
36
- end
37
- else
38
- mkdir_p(t.home_directory)
39
- do_generate_key(t, t.home_directory)
40
- end
41
- end
42
-
43
- private
44
34
 
45
- def do_generate_key(t, home_directory)
46
35
  puts "Generating GPG key for #{t.owner_name} <#{t.owner_email}>..."
36
+ Home.new(t.work_directory, t.home_directory)
37
+ .with_resolved_directory do |home_directory|
38
+ mkdir_p t.output_directory if t.output_directory
47
39
 
48
- mkdir_p t.work_directory
49
- mkdir_p t.output_directory if t.output_directory
50
- mkdir_p home_directory if home_directory
51
-
52
- result = RubyGPG2::ParameterFileContents
53
- .new(t.parameter_values)
54
- .in_temp_file(t.work_directory) do |f|
55
- RubyGPG2.generate_key(
56
- parameter_file_path: f.path,
57
- home_directory: home_directory,
58
- work_directory: t.work_directory,
59
- without_passphrase: t.passphrase.nil?,
60
- with_status: true)
61
- end
40
+ result = RubyGPG2::ParameterFileContents
41
+ .new(t.parameter_values)
42
+ .in_temp_file(t.work_directory) do |f|
43
+ RubyGPG2.generate_key(
44
+ parameter_file_path: f.path,
45
+ home_directory: home_directory,
46
+ work_directory: t.work_directory,
47
+ without_passphrase: t.passphrase.nil?,
48
+ with_status: true)
49
+ end
62
50
 
63
- key_fingerprint = result
64
- .status
65
- .filter_by_type(:key_created)
66
- .first_line
67
- .key_fingerprint
51
+ key_fingerprint = result
52
+ .status
53
+ .filter_by_type(:key_created)
54
+ .first_line
55
+ .key_fingerprint
68
56
 
69
- puts "Generated GPG key with fingerprint #{key_fingerprint}."
57
+ puts "Generated GPG key with fingerprint #{key_fingerprint}."
70
58
 
71
- if t.output_directory
72
- puts 'Export requested. ' +
73
- "Exporting GPG key to #{t.output_directory}..."
74
- RubyGPG2.export(
75
- names: [key_fingerprint],
76
- output_file_path:
77
- "#{t.output_directory}/#{t.name_prefix}.public",
78
- armor: t.armor,
79
- home_directory: home_directory)
80
- RubyGPG2.export_secret_keys(
81
- names: [key_fingerprint],
82
- output_file_path:
83
- "#{t.output_directory}/#{t.name_prefix}.private",
84
- armor: t.armor,
85
- home_directory: home_directory)
59
+ if t.output_directory
60
+ puts 'Export requested. ' +
61
+ "Exporting GPG key to #{t.output_directory}..."
62
+ RubyGPG2.export(
63
+ names: [key_fingerprint],
64
+ output_file_path:
65
+ "#{t.output_directory}/#{t.name_prefix}.public",
66
+ armor: t.armor,
67
+ home_directory: home_directory)
68
+ RubyGPG2.export_secret_keys(
69
+ names: [key_fingerprint],
70
+ output_file_path:
71
+ "#{t.output_directory}/#{t.name_prefix}.private",
72
+ armor: t.armor,
73
+ home_directory: home_directory)
74
+ end
86
75
  end
87
-
88
76
  puts "Done."
89
77
  end
90
78
  end
@@ -1,6 +1,8 @@
1
1
  require 'rake_factory'
2
2
  require 'ruby_gpg2'
3
3
 
4
+ require_relative '../../home'
5
+
4
6
  module RakeGPG
5
7
  module Tasks
6
8
  module Keys
@@ -9,31 +11,20 @@ module RakeGPG
9
11
  default_description "Import a GPG key"
10
12
 
11
13
  parameter :key_file_path, required: true
12
- parameter :work_directory, default: 'build/gpg'
14
+ parameter :work_directory, default: '/tmp'
13
15
  parameter :home_directory, default: :temporary
14
16
 
15
17
  action do |t|
16
18
  mkdir_p(t.work_directory)
17
- if t.home_directory == :temporary
18
- Dir.mktmpdir(
19
- 'home', t.work_directory) do |home_directory|
20
- do_import_key(t, home_directory)
21
- end
22
- else
23
- mkdir_p(t.home_directory)
24
- do_import_key(t, t.home_directory)
25
- end
26
-
27
- end
28
-
29
- private
30
19
 
31
- def do_import_key(t, home_directory)
32
20
  puts "Importing GPG key from #{t.key_file_path} " +
33
21
  "into #{home_directory}..."
34
- RubyGPG2.import(
35
- key_file_paths: [t.key_file_path],
36
- home_directory: home_directory)
22
+ Home.new(t.work_directory, t.home_directory)
23
+ .with_resolved_directory do |home_directory|
24
+ RubyGPG2.import(
25
+ key_file_paths: [t.key_file_path],
26
+ home_directory: home_directory)
27
+ end
37
28
  puts "Done."
38
29
  end
39
30
  end
@@ -1,3 +1,3 @@
1
1
  module RakeGPG
2
- VERSION = '0.7.0.pre.1'
2
+ VERSION = '0.11.0.pre.2'
3
3
  end
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.required_ruby_version = '>= 2.6.0'
26
26
 
27
27
  spec.add_dependency 'rake_factory', '>= 0.23', '< 1'
28
- spec.add_dependency 'ruby_gpg2', '>= 0.2', '< 1'
28
+ spec.add_dependency 'ruby_gpg2', '>= 0.6', '< 1'
29
29
 
30
30
  spec.add_development_dependency 'bundler', '~> 2.1'
31
31
  spec.add_development_dependency 'rake', '~> 13.0'
@@ -10,6 +10,11 @@ PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
10
10
  cd "$PROJECT_DIR"
11
11
 
12
12
  ./go version:bump[pre]
13
+
14
+ bundle install
15
+ LAST_MESSAGE="$(git log -1 --pretty=%B)"
16
+ git commit -a --amend -m "${LAST_MESSAGE} [ci skip]"
17
+
13
18
  ./go release
14
19
 
15
20
  git status
@@ -12,6 +12,11 @@ cd "$PROJECT_DIR"
12
12
  git pull
13
13
 
14
14
  ./go version:bump[minor]
15
+
16
+ bundle install
17
+ LAST_MESSAGE="$(git log -1 --pretty=%B)"
18
+ git commit -a --amend -m "${LAST_MESSAGE} [ci skip]"
19
+
15
20
  ./go release
16
21
 
17
22
  git status
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_gpg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0.pre.1
4
+ version: 0.11.0.pre.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Toby Clemson
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-05-09 00:00:00.000000000 Z
11
+ date: 2020-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake_factory
@@ -36,7 +36,7 @@ dependencies:
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: '0.2'
39
+ version: '0.6'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
42
  version: '1'
@@ -46,7 +46,7 @@ dependencies:
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: '0.2'
49
+ version: '0.6'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
52
  version: '1'
@@ -241,6 +241,7 @@ files:
241
241
  - config/secrets/rubygems/credentials
242
242
  - go
243
243
  - lib/rake_gpg.rb
244
+ - lib/rake_gpg/home.rb
244
245
  - lib/rake_gpg/tasks.rb
245
246
  - lib/rake_gpg/tasks/encryption.rb
246
247
  - lib/rake_gpg/tasks/encryption/decrypt.rb