rake_gpg 0.1.0.pre.4 → 0.1.0.pre.5
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 +4 -4
- data/Gemfile.lock +3 -3
- data/lib/rake_gpg/tasks.rb +2 -1
- data/lib/rake_gpg/tasks/encryption.rb +10 -0
- data/lib/rake_gpg/tasks/encryption/decrypt.rb +55 -0
- data/lib/rake_gpg/tasks/encryption/encrypt.rb +60 -0
- data/lib/rake_gpg/tasks/keys.rb +10 -0
- data/lib/rake_gpg/tasks/{key → keys}/generate.rb +4 -4
- data/lib/rake_gpg/tasks/{key → keys}/import.rb +4 -4
- data/lib/rake_gpg/version.rb +1 -1
- data/rake_gpg.gemspec +1 -1
- metadata +10 -7
- data/lib/rake_gpg/tasks/key.rb +0 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c602869b8458c83a1edb189caa51a7fa98caf3d0d845f92e2357029bf7ec4643
|
4
|
+
data.tar.gz: fe5093e467d1ff376ba134528ee613adb8e05c78e6c97e214f329e3c4492b0e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6428779bd92058e85aac0ed2868e94948f719c23986864571d7f27ce9bd8f475ae3611908ead648bc5a6a6c3acfbf66d0a74f286ecc550a09c9ca2807a0f7381
|
7
|
+
data.tar.gz: 9fce6b5ca4d87423abc936d2c40536f017f905d467d031456d447ce08be2d739cd581537a4fb482e2281285bf67d591b70bc459950296c5ffa0f3578e0ef6b50
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
rake_gpg (0.1.0.pre.
|
4
|
+
rake_gpg (0.1.0.pre.5)
|
5
5
|
rake_factory (>= 0.23, < 1)
|
6
|
-
ruby_gpg2 (= 0.1.0.pre.
|
6
|
+
ruby_gpg2 (= 0.1.0.pre.27)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
@@ -70,7 +70,7 @@ GEM
|
|
70
70
|
diff-lcs (>= 1.2.0, < 2.0)
|
71
71
|
rspec-support (~> 3.9.0)
|
72
72
|
rspec-support (3.9.3)
|
73
|
-
ruby_gpg2 (0.1.0.pre.
|
73
|
+
ruby_gpg2 (0.1.0.pre.27)
|
74
74
|
lino (= 1.3.0)
|
75
75
|
sawyer (0.8.2)
|
76
76
|
addressable (>= 2.3.5)
|
data/lib/rake_gpg/tasks.rb
CHANGED
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'rake_factory'
|
2
|
+
require 'ruby_gpg2'
|
3
|
+
|
4
|
+
module RakeGPG
|
5
|
+
module Tasks
|
6
|
+
module Encryption
|
7
|
+
class Decrypt < RakeFactory::Task
|
8
|
+
default_name :decrypt
|
9
|
+
default_description "Decrypt a file using GPG"
|
10
|
+
|
11
|
+
parameter :key_file_path, required: true
|
12
|
+
parameter :input_file_path, required: true
|
13
|
+
parameter :output_file_path, required: true
|
14
|
+
|
15
|
+
parameter :work_directory, default: 'build/gpg'
|
16
|
+
parameter :home_directory, default: :temporary
|
17
|
+
|
18
|
+
parameter :trust_mode, default: :always
|
19
|
+
parameter :passphrase
|
20
|
+
|
21
|
+
action do |t|
|
22
|
+
if t.home_directory == :temporary
|
23
|
+
Dir.mktmpdir(
|
24
|
+
'home', t.work_directory) do |home_directory|
|
25
|
+
do_decrypt(t, home_directory)
|
26
|
+
end
|
27
|
+
else
|
28
|
+
do_decrypt(t, t.home_directory)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def do_decrypt(t, home_directory)
|
35
|
+
puts "Decrypting #{t.input_file_path} with key #{t.key_file_path}..."
|
36
|
+
RubyGPG2.import(
|
37
|
+
key_file_paths: [t.key_file_path],
|
38
|
+
work_directory: t.work_directory,
|
39
|
+
home_directory: home_directory,
|
40
|
+
with_status: true)
|
41
|
+
|
42
|
+
RubyGPG2.decrypt(
|
43
|
+
input_file_path: t.input_file_path,
|
44
|
+
output_file_path: t.output_file_path,
|
45
|
+
home_directory: home_directory,
|
46
|
+
trust_mode: t.trust_mode,
|
47
|
+
passphrase: t.passphrase,
|
48
|
+
pinentry_mode: :loopback,
|
49
|
+
without_passphrase: !t.passphrase)
|
50
|
+
puts "Done."
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rake_factory'
|
2
|
+
require 'ruby_gpg2'
|
3
|
+
|
4
|
+
module RakeGPG
|
5
|
+
module Tasks
|
6
|
+
module Encryption
|
7
|
+
class Encrypt < RakeFactory::Task
|
8
|
+
default_name :encrypt
|
9
|
+
default_description "Encrypt a file using GPG"
|
10
|
+
|
11
|
+
parameter :key_file_path, required: true
|
12
|
+
parameter :input_file_path, required: true
|
13
|
+
parameter :output_file_path, required: true
|
14
|
+
|
15
|
+
parameter :work_directory, default: 'build/gpg'
|
16
|
+
parameter :home_directory, default: :temporary
|
17
|
+
|
18
|
+
parameter :armor, default: true
|
19
|
+
parameter :trust_mode, default: :always
|
20
|
+
|
21
|
+
action do |t|
|
22
|
+
if t.home_directory == :temporary
|
23
|
+
Dir.mktmpdir(
|
24
|
+
'home', t.work_directory) do |home_directory|
|
25
|
+
do_encrypt(t, home_directory)
|
26
|
+
end
|
27
|
+
else
|
28
|
+
do_encrypt(t, t.home_directory)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
|
34
|
+
def do_encrypt(t, home_directory)
|
35
|
+
puts "Encrypting #{t.input_file_path} for key #{t.key_file_path}..."
|
36
|
+
result = RubyGPG2.import(
|
37
|
+
key_file_paths: [t.key_file_path],
|
38
|
+
work_directory: t.work_directory,
|
39
|
+
home_directory: home_directory,
|
40
|
+
with_status: true)
|
41
|
+
|
42
|
+
key_fingerprint = result
|
43
|
+
.status
|
44
|
+
.filter_by_type(:import_ok)
|
45
|
+
.first_line
|
46
|
+
.key_fingerprint
|
47
|
+
|
48
|
+
RubyGPG2.encrypt(
|
49
|
+
recipient: key_fingerprint,
|
50
|
+
input_file_path: t.input_file_path,
|
51
|
+
output_file_path: t.output_file_path,
|
52
|
+
home_directory: home_directory,
|
53
|
+
armor: t.armor,
|
54
|
+
trust_mode: t.trust_mode)
|
55
|
+
puts "Done."
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -3,7 +3,7 @@ require 'ruby_gpg2'
|
|
3
3
|
|
4
4
|
module RakeGPG
|
5
5
|
module Tasks
|
6
|
-
module
|
6
|
+
module Keys
|
7
7
|
class Generate < RakeFactory::Task
|
8
8
|
default_name :generate
|
9
9
|
default_description "Generate a GPG key"
|
@@ -31,16 +31,16 @@ module RakeGPG
|
|
31
31
|
if t.home_directory == :temporary
|
32
32
|
Dir.mktmpdir(
|
33
33
|
'home', t.work_directory) do |home_directory|
|
34
|
-
|
34
|
+
do_generate_key(t, home_directory)
|
35
35
|
end
|
36
36
|
else
|
37
|
-
|
37
|
+
do_generate_key(t, t.home_directory)
|
38
38
|
end
|
39
39
|
end
|
40
40
|
|
41
41
|
private
|
42
42
|
|
43
|
-
def
|
43
|
+
def do_generate_key(t, home_directory)
|
44
44
|
puts "Generating GPG key for #{t.owner_name} <#{t.owner_email}>..."
|
45
45
|
|
46
46
|
mkdir_p t.work_directory
|
@@ -3,7 +3,7 @@ require 'ruby_gpg2'
|
|
3
3
|
|
4
4
|
module RakeGPG
|
5
5
|
module Tasks
|
6
|
-
module
|
6
|
+
module Keys
|
7
7
|
class Import < RakeFactory::Task
|
8
8
|
default_name :import
|
9
9
|
default_description "Import a GPG key"
|
@@ -16,17 +16,17 @@ module RakeGPG
|
|
16
16
|
if t.home_directory == :temporary
|
17
17
|
Dir.mktmpdir(
|
18
18
|
'home', t.work_directory) do |home_directory|
|
19
|
-
|
19
|
+
do_import_key(t, home_directory)
|
20
20
|
end
|
21
21
|
else
|
22
|
-
|
22
|
+
do_import_key(t, t.home_directory)
|
23
23
|
end
|
24
24
|
|
25
25
|
end
|
26
26
|
|
27
27
|
private
|
28
28
|
|
29
|
-
def
|
29
|
+
def do_import_key(t, home_directory)
|
30
30
|
puts "Importing GPG key from #{t.key_file_path} " +
|
31
31
|
"into #{home_directory}..."
|
32
32
|
RubyGPG2.import(
|
data/lib/rake_gpg/version.rb
CHANGED
data/rake_gpg.gemspec
CHANGED
@@ -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.1.0.pre.
|
28
|
+
spec.add_dependency 'ruby_gpg2', '0.1.0.pre.27'
|
29
29
|
|
30
30
|
spec.add_development_dependency 'bundler', '~> 2.1'
|
31
31
|
spec.add_development_dependency 'rake', '~> 13.0'
|
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.1.0.pre.
|
4
|
+
version: 0.1.0.pre.5
|
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-
|
11
|
+
date: 2020-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake_factory
|
@@ -36,14 +36,14 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - '='
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: 0.1.0.pre.
|
39
|
+
version: 0.1.0.pre.27
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
44
|
- - '='
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 0.1.0.pre.
|
46
|
+
version: 0.1.0.pre.27
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: bundler
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,9 +236,12 @@ files:
|
|
236
236
|
- go
|
237
237
|
- lib/rake_gpg.rb
|
238
238
|
- lib/rake_gpg/tasks.rb
|
239
|
-
- lib/rake_gpg/tasks/
|
240
|
-
- lib/rake_gpg/tasks/
|
241
|
-
- lib/rake_gpg/tasks/
|
239
|
+
- lib/rake_gpg/tasks/encryption.rb
|
240
|
+
- lib/rake_gpg/tasks/encryption/decrypt.rb
|
241
|
+
- lib/rake_gpg/tasks/encryption/encrypt.rb
|
242
|
+
- lib/rake_gpg/tasks/keys.rb
|
243
|
+
- lib/rake_gpg/tasks/keys/generate.rb
|
244
|
+
- lib/rake_gpg/tasks/keys/import.rb
|
242
245
|
- lib/rake_gpg/version.rb
|
243
246
|
- rake_gpg.gemspec
|
244
247
|
- scripts/ci/common/configure-git.sh
|