lino 1.4.0.pre.2 → 1.8.0.pre.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '08242ffff1dc13ed9e5b88d55b83f895d2ed98e055de188fd0ad90bdd5d23fe0'
4
- data.tar.gz: af4128c87d54932767de53cb8868fa4177e0bbcdd4e946bdd5b6cffcaa645a49
3
+ metadata.gz: d080aeff7401e2706a8d09877bb45f3b4f607289f9a422fe6e7cb8ae56f64a0c
4
+ data.tar.gz: 9b2b787947844e9af983a1e6f5eda10beb5dc9e13068dde2eb889dca429c89aa
5
5
  SHA512:
6
- metadata.gz: 45c56b2392ca9d5a7f5121e8cdd19ecbed1e7d418712446597450a1344b4aaff21fb3b849c1366736e5dbb6c182e0847b5dbb630508ab4cdf4810cd6a1544a91
7
- data.tar.gz: fed90e1ece5b65247f0faf5943a565f12148ebc032f5e5281187111fd6f820af4e3ded9cf017f724223bedbcd20f95b8fd834667184fa46145d33a2a12bf4268
6
+ metadata.gz: '04596746b3bcee1f1d18ace01c68953cdac43070492f28bb262aee74b2ad21e8a8fdeb0ebb628ff7ebe1d61ac66ed4afa1e7aeb830556bd4175ac6206fd4f88b'
7
+ data.tar.gz: 496bf9bf680bb92c192670fb3a251fc2adeb80194baa558e3b4d76da6b9b366fa363111c0bfbe9137f851d638a85728f6b2f7bdfed05c5b27a926ee883b0e581
data/CODE_OF_CONDUCT.md CHANGED
@@ -55,7 +55,7 @@ further defined and clarified by project maintainers.
55
55
  ## Enforcement
56
56
 
57
57
  Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at tobyclemson@gmail.com. All
58
+ reported by contacting the project team at maintainers@infrablocks.io. All
59
59
  complaints will be reviewed and investigated and will result in a response that
60
60
  is deemed necessary and appropriate to the circumstances. The project team is
61
61
  obligated to maintain confidentiality with regard to the reporter of an incident.
data/Gemfile.lock CHANGED
@@ -1,42 +1,45 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lino (1.4.0.pre.2)
4
+ lino (1.8.0.pre.2)
5
5
  hamster (~> 3.0)
6
6
  open4 (~> 1.3)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (6.0.3.1)
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
- faraday (1.0.1)
20
+ concurrent-ruby (1.1.7)
21
+ diff-lcs (1.4.4)
22
+ docile (1.3.4)
23
+ excon (0.78.1)
24
+ faraday (1.3.0)
25
+ faraday-net_http (~> 1.0)
25
26
  multipart-post (>= 1.2, < 3)
26
- gem-release (2.1.1)
27
+ ruby2_keywords
28
+ faraday-net_http (1.0.0)
29
+ gem-release (2.2.0)
27
30
  hamster (3.0.0)
28
31
  concurrent-ruby (~> 1.0)
29
- i18n (1.8.2)
32
+ i18n (1.8.6)
30
33
  concurrent-ruby (~> 1.0)
31
- minitest (5.14.1)
34
+ minitest (5.14.2)
32
35
  multipart-post (2.1.1)
33
- octokit (4.18.0)
36
+ octokit (4.20.0)
34
37
  faraday (>= 0.9)
35
38
  sawyer (~> 0.8.0, >= 0.5.3)
36
39
  open4 (1.3.4)
37
- public_suffix (4.0.5)
38
- rake (13.0.1)
39
- rake_circle_ci (0.7.0)
40
+ public_suffix (4.0.6)
41
+ rake (13.0.3)
42
+ rake_circle_ci (0.9.0)
40
43
  colored2 (~> 3.1)
41
44
  excon (~> 0.72)
42
45
  rake_factory (~> 0.23)
@@ -49,35 +52,42 @@ GEM
49
52
  octokit (~> 4.16)
50
53
  rake_factory (~> 0.23)
51
54
  sshkey (~> 2.0)
55
+ rake_gpg (0.12.0)
56
+ rake_factory (>= 0.23, < 1)
57
+ ruby_gpg2 (>= 0.6, < 1)
52
58
  rake_ssh (0.4.0)
53
59
  colored2 (~> 3.1)
54
60
  rake_factory (~> 0.23)
55
61
  sshkey (~> 2.0)
56
- rspec (3.9.0)
57
- rspec-core (~> 3.9.0)
58
- rspec-expectations (~> 3.9.0)
59
- rspec-mocks (~> 3.9.0)
60
- rspec-core (3.9.2)
61
- rspec-support (~> 3.9.3)
62
- rspec-expectations (3.9.2)
62
+ rspec (3.10.0)
63
+ rspec-core (~> 3.10.0)
64
+ rspec-expectations (~> 3.10.0)
65
+ rspec-mocks (~> 3.10.0)
66
+ rspec-core (3.10.1)
67
+ rspec-support (~> 3.10.0)
68
+ rspec-expectations (3.10.1)
63
69
  diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.9.0)
65
- rspec-mocks (3.9.1)
70
+ rspec-support (~> 3.10.0)
71
+ rspec-mocks (3.10.1)
66
72
  diff-lcs (>= 1.2.0, < 2.0)
67
- rspec-support (~> 3.9.0)
68
- rspec-support (3.9.3)
73
+ rspec-support (~> 3.10.0)
74
+ rspec-support (3.10.1)
75
+ ruby2_keywords (0.0.2)
76
+ ruby_gpg2 (0.6.0)
77
+ lino (>= 1.5)
69
78
  sawyer (0.8.2)
70
79
  addressable (>= 2.3.5)
71
80
  faraday (> 0.8, < 2.0)
72
- simplecov (0.18.5)
81
+ simplecov (0.20.0)
73
82
  docile (~> 1.1)
74
83
  simplecov-html (~> 0.11)
75
- simplecov-html (0.12.2)
84
+ simplecov_json_formatter (~> 0.1)
85
+ simplecov-html (0.12.3)
86
+ simplecov_json_formatter (0.1.2)
76
87
  sshkey (2.0.0)
77
- thread_safe (0.3.6)
78
- tzinfo (1.2.7)
79
- thread_safe (~> 0.1)
80
- zeitwerk (2.3.0)
88
+ tzinfo (2.0.4)
89
+ concurrent-ruby (~> 1.0)
90
+ zeitwerk (2.4.2)
81
91
 
82
92
  PLATFORMS
83
93
  ruby
@@ -87,11 +97,12 @@ DEPENDENCIES
87
97
  gem-release (~> 2.0)
88
98
  lino!
89
99
  rake (~> 13.0)
90
- rake_circle_ci (~> 0.3)
91
- rake_github (~> 0.3)
92
- rake_ssh (~> 0.2)
100
+ rake_circle_ci (~> 0.9)
101
+ rake_github (~> 0.5)
102
+ rake_gpg (~> 0.12)
103
+ rake_ssh (~> 0.4)
93
104
  rspec (~> 3.9)
94
105
  simplecov (~> 0.16)
95
106
 
96
107
  BUNDLED WITH
97
- 2.1.4
108
+ 2.2.15
data/README.md CHANGED
@@ -40,7 +40,8 @@ command_line.execute
40
40
 
41
41
  ### `Lino::CommandLineBuilder`
42
42
 
43
- The `CommandLineBuilder` allows a number of different styles of commands to be built:
43
+ The `CommandLineBuilder` allows a number of different styles of commands to be
44
+ built:
44
45
 
45
46
  ```ruby
46
47
  # commands with flags
@@ -49,37 +50,53 @@ Lino::CommandLineBuilder.for_command('ls')
49
50
  .with_flag('-a')
50
51
  .build
51
52
  .to_s
52
-
53
+
53
54
  # => ls -l -a
54
-
55
+
55
56
  # commands with options
56
57
  Lino::CommandLineBuilder.for_command('gpg')
57
58
  .with_option('--recipient', 'tobyclemson@gmail.com')
58
59
  .with_option('--sign', './doc.txt')
59
60
  .build
60
- .to_s
61
-
61
+ .to_s
62
+
62
63
  # => gpg --recipient tobyclemson@gmail.com --sign ./doc.txt
63
-
64
- # commands with arguments
64
+
65
+ # commands with an option repeated multiple times
66
+ Lino::CommandLineBuilder.for_command('example.sh')
67
+ .with_repeated_option('--opt', ['file1.txt', nil, '', 'file2.txt'])
68
+ .build
69
+ .to_s
70
+
71
+ # => example.sh --opt file1.txt --opt file2.txt
72
+
73
+ # commands with arguments
65
74
  Lino::CommandLineBuilder.for_command('diff')
66
75
  .with_argument('./file1.txt')
67
76
  .with_argument('./file2.txt')
68
77
  .build
69
- .to_s
70
-
78
+ .to_s
79
+
71
80
  # => diff ./file1.txt ./file2.txt
72
-
81
+
82
+ # commands with an array of arguments
83
+ Lino::CommandLineBuilder.for_command('diff')
84
+ .with_arguments(['./file1.txt', nil, '', './file2.txt'])
85
+ .build
86
+ .to_s
87
+
88
+ # => diff ./file1.txt ./file2.txt
89
+
73
90
  # commands with custom option separator
74
91
  Lino::CommandLineBuilder.for_command('java')
75
92
  .with_option_separator(':')
76
93
  .with_option('-splash', './images/splash.jpg')
77
94
  .with_argument('./application.jar')
78
95
  .build
79
- .to_s
80
-
96
+ .to_s
97
+
81
98
  # => java -splash:./images/splash.jpg ./application.jar
82
-
99
+
83
100
  # commands using a subcommand style
84
101
  Lino::CommandLineBuilder.for_command('git')
85
102
  .with_flag('--no-pager')
@@ -88,9 +105,9 @@ Lino::CommandLineBuilder.for_command('git')
88
105
  end
89
106
  .build
90
107
  .to_s
91
-
108
+
92
109
  # => git --no-pager log --since 2016-01-01
93
-
110
+
94
111
  # commands with multiple levels of subcommand
95
112
  Lino::CommandLineBuilder.for_command('gcloud')
96
113
  .with_subcommand('sql')
@@ -131,7 +148,8 @@ command_line.execute
131
148
  # => <contents of / directory>
132
149
  ```
133
150
 
134
- By default, the standard input stream is empty and the process writes to the standard output and error streams.
151
+ By default, the standard input stream is empty and the process writes to the
152
+ standard output and error streams.
135
153
 
136
154
  To populate standard input:
137
155
 
@@ -139,7 +157,8 @@ To populate standard input:
139
157
  command_line.execute(stdin: 'something to be passed to standard input')
140
158
  ```
141
159
 
142
- The `stdin` option supports any object that responds to `each`, `read` or `to_s`.
160
+ The `stdin` option supports any object that responds to `each`, `read` or
161
+ `to_s`.
143
162
 
144
163
  To provide custom streams for standard output or standard error:
145
164
 
@@ -158,16 +177,29 @@ The `stdout` and `stderr` options support any object that responds to `<<`.
158
177
 
159
178
  ## Development
160
179
 
161
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
180
+ To install dependencies and run the build, run the pre-commit build:
162
181
 
163
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
182
+ ```shell script
183
+ ./go
184
+ ```
164
185
 
165
- ## Contributing
186
+ Tou can also run only the specs:
166
187
 
167
- Bug reports and pull requests are welcome on GitHub at https://github.com/tobyclemson/lino. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
188
+ ```shell script
189
+ ./go spec
190
+ ```
168
191
 
192
+ You can also run `bin/console` for an interactive prompt that will allow you to
193
+ experiment.
169
194
 
170
- ## License
195
+ ## Contributing
171
196
 
172
- The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
197
+ Bug reports and pull requests are welcome on GitHub at
198
+ https://github.com/infrablocks/lino. This project is intended to be a safe,
199
+ welcoming space for collaboration, and contributors are expected to adhere to
200
+ the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
201
+
202
+ ## License
173
203
 
204
+ The gem is available as open source under the terms of the
205
+ [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -2,17 +2,40 @@ require 'yaml'
2
2
  require 'rake_circle_ci'
3
3
  require 'rake_github'
4
4
  require 'rake_ssh'
5
+ require 'rake_gpg'
6
+ require 'securerandom'
5
7
  require 'rspec/core/rake_task'
6
8
 
7
9
  task :default => :spec
8
10
 
9
11
  RSpec::Core::RakeTask.new(:spec)
10
12
 
11
- RakeSSH.define_key_tasks(
12
- namespace: :deploy_key,
13
- path: 'config/secrets/ci/',
14
- comment: 'maintainers@infrablocks.io'
15
- )
13
+ namespace :encryption do
14
+ namespace :passphrase do
15
+ task :generate do
16
+ File.open('config/secrets/ci/encryption.passphrase', 'w') do |f|
17
+ f.write(SecureRandom.base64(36))
18
+ end
19
+ end
20
+ end
21
+ end
22
+
23
+ namespace :keys do
24
+ namespace :deploy do
25
+ RakeSSH.define_key_tasks(
26
+ path: 'config/secrets/ci/',
27
+ comment: 'maintainers@infrablocks.io')
28
+ end
29
+
30
+ namespace :gpg do
31
+ RakeGPG.define_generate_key_task(
32
+ output_directory: 'config/secrets/ci',
33
+ name_prefix: 'gpg',
34
+ owner_name: 'InfraBlocks Maintainers',
35
+ owner_email: 'maintainers@infrablocks.io',
36
+ owner_comment: 'lino CI Key')
37
+ end
38
+ end
16
39
 
17
40
  RakeCircleCI.define_project_tasks(
18
41
  namespace: :circle_ci,
@@ -27,6 +50,7 @@ RakeCircleCI.define_project_tasks(
27
50
  File.read('config/secrets/ci/encryption.passphrase')
28
51
  .chomp
29
52
  }
53
+ t.checkout_keys = []
30
54
  t.ssh_keys = [
31
55
  {
32
56
  hostname: "github.com",
@@ -55,6 +79,7 @@ namespace :pipeline do
55
79
  task :prepare => [
56
80
  :'circle_ci:project:follow',
57
81
  :'circle_ci:env_vars:ensure',
82
+ :'circle_ci:checkout_keys:ensure',
58
83
  :'circle_ci:ssh_keys:ensure',
59
84
  :'github:deploy_keys:ensure'
60
85
  ]
@@ -2,10 +2,12 @@ require 'hamster'
2
2
  require_relative 'utilities'
3
3
  require_relative 'command_line'
4
4
  require_relative 'subcommand_builder'
5
+ require_relative 'switches'
5
6
 
6
7
  module Lino
7
8
  class CommandLineBuilder
8
9
  include Lino::Utilities
10
+ include Lino::Switches
9
11
 
10
12
  class <<self
11
13
  def for_command(command)
@@ -14,13 +16,14 @@ module Lino
14
16
  end
15
17
 
16
18
  def initialize(
17
- command: nil,
18
- subcommands: [],
19
- switches: [],
20
- arguments: [],
21
- environment_variables: [],
22
- option_separator: ' ',
23
- option_quoting: nil)
19
+ command: nil,
20
+ subcommands: [],
21
+ switches: [],
22
+ arguments: [],
23
+ environment_variables: [],
24
+ option_separator: ' ',
25
+ option_quoting: nil
26
+ )
24
27
  @command = command
25
28
  @subcommands = Hamster::Vector.new(subcommands)
26
29
  @switches = Hamster::Vector.new(switches)
@@ -31,16 +34,13 @@ module Lino
31
34
  end
32
35
 
33
36
  def with_subcommand(subcommand, &block)
34
- with(subcommands: @subcommands.add((block || lambda { |sub| sub }).call(
35
- SubcommandBuilder.for_subcommand(subcommand))))
36
- end
37
-
38
- def with_option(switch, value, separator: nil, quoting: nil)
39
- with(switches: @switches.add({
40
- components: [switch, value],
41
- separator: separator,
42
- quoting: quoting
43
- }))
37
+ with(
38
+ subcommands: @subcommands.add(
39
+ (block || ->(sub) { sub }).call(
40
+ SubcommandBuilder.for_subcommand(subcommand)
41
+ )
42
+ )
43
+ )
44
44
  end
45
45
 
46
46
  def with_option_separator(option_separator)
@@ -51,12 +51,13 @@ module Lino
51
51
  with(option_quoting: character)
52
52
  end
53
53
 
54
- def with_flag(flag)
55
- with(switches: @switches.add({components: [flag]}))
54
+ def with_argument(argument)
55
+ with(arguments: add_argument(argument))
56
56
  end
57
57
 
58
- def with_argument(argument)
59
- with(arguments: @arguments.add({components: [argument]}))
58
+ def with_arguments(arguments)
59
+ arguments.each { |argument| add_argument(argument) }
60
+ with({})
60
61
  end
61
62
 
62
63
  def with_environment_variable(environment_variable, value)
@@ -65,41 +66,47 @@ module Lino
65
66
 
66
67
  def build
67
68
  components = [
68
- map_and_join(@environment_variables) { |var|
69
- "#{var[0]}=\"#{var[1].to_s.gsub(/"/, "\\\"")}\""
70
- },
71
- @command,
72
- map_and_join(@switches,
73
- &(quote_with(@option_quoting) >> join_with(@option_separator))),
74
- map_and_join(@subcommands) { |sub|
75
- sub.build(@option_separator, @option_quoting)
76
- },
77
- map_and_join(@arguments, &join_with(' '))
69
+ map_and_join(@environment_variables) do |var|
70
+ "#{var[0]}=\"#{var[1].to_s.gsub(/"/, '\\"')}\""
71
+ end,
72
+ @command,
73
+ map_and_join(
74
+ @switches,
75
+ &(quote_with(@option_quoting) >> join_with(@option_separator))
76
+ ),
77
+ map_and_join(@subcommands) do |sub|
78
+ sub.build(@option_separator, @option_quoting)
79
+ end,
80
+ map_and_join(@arguments, &join_with(' '))
78
81
  ]
79
82
 
80
- command_string = components
81
- .reject { |item| item.empty? }
82
- .join(' ')
83
+ command_string = components.reject(&:empty?).join(' ')
83
84
 
84
85
  CommandLine.new(command_string)
85
86
  end
86
87
 
87
88
  private
88
89
 
89
- def with **replacements
90
+ def with(**replacements)
90
91
  CommandLineBuilder.new(**state.merge(replacements))
91
92
  end
92
93
 
93
94
  def state
94
95
  {
95
- command: @command,
96
- subcommands: @subcommands,
97
- switches: @switches,
98
- arguments: @arguments,
99
- environment_variables: @environment_variables,
100
- option_separator: @option_separator,
101
- option_quoting: @option_quoting
96
+ command: @command,
97
+ subcommands: @subcommands,
98
+ switches: @switches,
99
+ arguments: @arguments,
100
+ environment_variables: @environment_variables,
101
+ option_separator: @option_separator,
102
+ option_quoting: @option_quoting
102
103
  }
103
104
  end
105
+
106
+ def add_argument(argument)
107
+ return @arguments if missing?(argument)
108
+
109
+ @arguments = @arguments.add({ components: [argument] })
110
+ end
104
111
  end
105
- end
112
+ end
@@ -1,58 +1,45 @@
1
1
  require 'hamster'
2
2
  require_relative 'utilities'
3
+ require_relative 'switches'
3
4
 
4
5
  module Lino
5
6
  class SubcommandBuilder
6
7
  include Lino::Utilities
8
+ include Lino::Switches
7
9
 
8
10
  class <<self
9
- def for_subcommand subcommand
11
+ def for_subcommand(subcommand)
10
12
  SubcommandBuilder.new(subcommand: subcommand)
11
13
  end
12
14
  end
13
15
 
14
- def initialize(
15
- subcommand: nil,
16
- switches: [])
16
+ def initialize(subcommand: nil, switches: [])
17
17
  @subcommand = subcommand
18
18
  @switches = Hamster::Vector.new(switches)
19
19
  end
20
20
 
21
- def with_option(switch, value, separator: nil, quoting: nil)
22
- with(switches: @switches.add({
23
- components: [switch, value],
24
- separator: separator,
25
- quoting: quoting
26
- }))
27
- end
28
-
29
- def with_flag(flag)
30
- with(switches: @switches.add({components: [flag]}))
31
- end
32
-
33
21
  def build(option_separator, option_quoting)
34
22
  components = [
35
- @subcommand,
36
- map_and_join(@switches,
37
- &(quote_with(option_quoting) >> join_with(option_separator)))
23
+ @subcommand,
24
+ map_and_join(
25
+ @switches,
26
+ &(quote_with(option_quoting) >> join_with(option_separator))
27
+ )
38
28
  ]
39
-
40
- components
41
- .reject { |item| item.empty? }
42
- .join(' ')
29
+ components.reject(&:empty?).join(' ')
43
30
  end
44
31
 
45
32
  private
46
33
 
47
- def with **replacements
34
+ def with(**replacements)
48
35
  SubcommandBuilder.new(**state.merge(replacements))
49
36
  end
50
37
 
51
38
  def state
52
39
  {
53
- subcommand: @subcommand,
54
- switches: @switches
40
+ subcommand: @subcommand,
41
+ switches: @switches
55
42
  }
56
43
  end
57
44
  end
58
- end
45
+ end
@@ -0,0 +1,32 @@
1
+ module Lino
2
+ module Switches
3
+ def with_option(switch, value, separator: nil, quoting: nil)
4
+ with(switches: add_option(switch, value, separator, quoting))
5
+ end
6
+
7
+ def with_repeated_option(switch, values, separator: nil, quoting: nil)
8
+ values.each do |value|
9
+ add_option(switch, value, separator, quoting)
10
+ end
11
+ with({})
12
+ end
13
+
14
+ def with_flag(flag)
15
+ with(switches: @switches.add({ components: [flag] }))
16
+ end
17
+
18
+ private
19
+
20
+ def add_option(switch, value, separator, quoting)
21
+ return @switches if missing?(value)
22
+
23
+ @switches = @switches.add(
24
+ {
25
+ components: [switch, value],
26
+ separator: separator,
27
+ quoting: quoting
28
+ }
29
+ )
30
+ end
31
+ end
32
+ end
@@ -25,5 +25,9 @@ module Lino
25
25
  components)
26
26
  end
27
27
  end
28
+
29
+ def missing?(value)
30
+ value.nil? || (value.respond_to?(:empty?) && value.empty?)
31
+ end
28
32
  end
29
33
  end
data/lib/lino/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lino
2
- VERSION = '1.4.0.pre.2'
2
+ VERSION = '1.8.0.pre.2'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lino
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0.pre.2
4
+ version: 1.8.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: 2017-01-27 00:00:00.000000000 Z
11
+ date: 2021-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hamster
@@ -72,42 +72,56 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.3'
75
+ version: '0.9'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.3'
82
+ version: '0.9'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rake_github
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '0.3'
89
+ version: '0.5'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '0.3'
96
+ version: '0.5'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rake_ssh
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.2'
103
+ version: '0.4'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.2'
110
+ version: '0.4'
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake_gpg
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.12'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.12'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rspec
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -157,16 +171,6 @@ executables: []
157
171
  extensions: []
158
172
  extra_rdoc_files: []
159
173
  files:
160
- - ".circleci/config.yml"
161
- - ".circleci/gpg.private.enc"
162
- - ".envrc"
163
- - ".git-crypt/.gitattributes"
164
- - ".git-crypt/keys/default/0/41D2606F66C3FF28874362B61A16916844CE9D82.gpg"
165
- - ".git-crypt/keys/default/0/AAE932B730C2BA697FFDFAE05DA390873E38358B.gpg"
166
- - ".gitattributes"
167
- - ".gitignore"
168
- - ".rspec"
169
- - ".ruby-version"
170
174
  - CODE_OF_CONDUCT.md
171
175
  - Gemfile
172
176
  - Gemfile.lock
@@ -175,29 +179,13 @@ files:
175
179
  - Rakefile
176
180
  - bin/console
177
181
  - bin/setup
178
- - config/secrets/ci/encryption.passphrase
179
- - config/secrets/ci/gpg.private
180
- - config/secrets/ci/gpg.public
181
- - config/secrets/ci/ssh.private
182
- - config/secrets/ci/ssh.public
183
- - config/secrets/circle_ci/config.yaml
184
- - config/secrets/github/config.yaml
185
- - config/secrets/rubygems/credentials
186
- - go
187
182
  - lib/lino.rb
188
183
  - lib/lino/command_line.rb
189
184
  - lib/lino/command_line_builder.rb
190
185
  - lib/lino/subcommand_builder.rb
186
+ - lib/lino/switches.rb
191
187
  - lib/lino/utilities.rb
192
188
  - lib/lino/version.rb
193
- - lino.gemspec
194
- - scripts/ci/common/configure-git.sh
195
- - scripts/ci/common/configure-rubygems.sh
196
- - scripts/ci/common/install-git-crypt.sh
197
- - scripts/ci/common/install-gpg-key.sh
198
- - scripts/ci/steps/prerelease.sh
199
- - scripts/ci/steps/release.sh
200
- - scripts/ci/steps/test.sh
201
189
  homepage: https://github.com/infrablocks/lino
202
190
  licenses:
203
191
  - MIT
data/.circleci/config.yml DELETED
@@ -1,56 +0,0 @@
1
- version: 2.1
2
- jobs:
3
- test:
4
- working_directory: ~/source
5
- docker:
6
- - image: ruby:2.6.0
7
- steps:
8
- - checkout
9
- - run: ./scripts/ci/steps/test.sh
10
- prerelease:
11
- working_directory: ~/source
12
- docker:
13
- - image: ruby:2.6.0
14
- steps:
15
- - checkout
16
- - run: ./scripts/ci/common/install-git-crypt.sh
17
- - run: ./scripts/ci/common/install-gpg-key.sh
18
- - run: ./scripts/ci/common/configure-git.sh
19
- - run: ./scripts/ci/common/configure-rubygems.sh
20
- - run: ./scripts/ci/steps/prerelease.sh
21
- release:
22
- working_directory: ~/source
23
- docker:
24
- - image: ruby:2.6.0
25
- steps:
26
- - checkout
27
- - run: ./scripts/ci/common/install-git-crypt.sh
28
- - run: ./scripts/ci/common/install-gpg-key.sh
29
- - run: ./scripts/ci/common/configure-git.sh
30
- - run: ./scripts/ci/common/configure-rubygems.sh
31
- - run: ./scripts/ci/steps/release.sh
32
-
33
- workflows:
34
- version: 2
35
- pipeline:
36
- jobs:
37
- - test
38
- - prerelease:
39
- requires:
40
- - test
41
- filters:
42
- branches:
43
- only: master
44
- - hold:
45
- type: approval
46
- requires:
47
- - prerelease
48
- filters:
49
- branches:
50
- only: master
51
- - release:
52
- requires:
53
- - hold
54
- filters:
55
- branches:
56
- only: master
Binary file
data/.envrc DELETED
@@ -1,5 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- PROJECT_DIR="$(pwd)"
4
-
5
- PATH_add ${PROJECT_DIR}
@@ -1,4 +0,0 @@
1
- # Do not edit this file. To specify the files to encrypt, create your own
2
- # .gitattributes file in the directory where your files are.
3
- * !filter !diff
4
- *.gpg binary
data/.gitattributes DELETED
@@ -1 +0,0 @@
1
- config/secrets/** filter=git-crypt diff=git-crypt
data/.gitignore DELETED
@@ -1,31 +0,0 @@
1
- ## Standard stuff:
2
- *.gem
3
- *.rbc
4
- /.config
5
- /coverage/
6
- /InstalledFiles
7
- /pkg/
8
- .rspec_status
9
- /spec/reports/
10
- /spec/examples.txt
11
- /test/tmp/
12
- /test/version_tmp/
13
- /tmp/
14
- .rakeTasks
15
-
16
- ## Documentation cache and generated files:
17
- /.yardoc/
18
- /_yardoc/
19
- /doc/
20
- /rdoc/
21
-
22
- ## Environment normalization:
23
- /.bundle/
24
- /vendor/bundle
25
- /lib/bundler/man/
26
-
27
- ## IDE:
28
- .idea
29
- *.ipr
30
- *.iws
31
- *.iml
data/.rspec DELETED
@@ -1,2 +0,0 @@
1
- --format documentation
2
- --color
data/.ruby-version DELETED
@@ -1 +0,0 @@
1
- 2.6.0
@@ -1 +0,0 @@
1
- fmFsBRd0haxdPyYDNZkgDHojaZ3MgWg5DFZKrzJtQCVdehpX
@@ -1,58 +0,0 @@
1
- -----BEGIN PGP PRIVATE KEY BLOCK-----
2
-
3
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- anKhBADqXGuE8sUA8/BcrA6WpgSzRQzMMcz+g4bnfaddLDRmwlmsMKZFs07MwNQ6
15
- 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
- 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
- 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
- kuYqgVyqN5TFVObFZNHE3ESVsHBrmYJyFYldIK3q6jkg8c+C01GKgE7ykZdByiUy
19
- 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
- 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
- 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
- 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
- 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
- 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
- ODWLqhUIAMSJ9l+acSPSnW0MDhjFn46cFUSCb7YF77wBBrMj6LhQnvad5ii+ik+f
26
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- zebfWYUpDiq/0BAID+avUg9KLVcL8gq7ZlRP5ev4gXE5UYkBPAQYAQgAJhYhBKrp
50
- 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
- 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
- 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
- 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
- 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
- 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
56
- 3zYh8+8wYJ4+vrkTFspeu2s=
57
- =bs3g
58
- -----END PGP PRIVATE KEY BLOCK-----
@@ -1,31 +0,0 @@
1
- -----BEGIN PGP PUBLIC KEY BLOCK-----
2
-
3
- mQENBF5iajgBCADpMbSEz+Fl4HgUxXQLTuIi01QMf/dkwVDuwNrPdVtkKKi27RS5
4
- OOiJYYzHkSqJwdbrMf1R/Uj1S4D4zP9BPc9VmKm1tPRnk4rrhpJPE9jR9X/6RTw3
5
- ilIqelK84WfR74yAbaQYtEF3YEOhWSCvwsf3jQuE8LBMGh+Zf8DlYeH5wBvIIF5x
6
- y0GDktvq5+dr/szqi8rMCz3MdiouUDbyWmMKwjmegSLzS/kf8dgiEg7iChVYNSAT
7
- SBqxRZCWADiO61vzTO8YlZj4ke+S7Lkg/d4lafVJ3Bsw89K7F79+mIZaBU1oon8v
8
- y+AM7QAK6kGgb50vsS9QYRtYqZzK0DsaLNhVABEBAAG0M09wZW4gU291cmNlIENJ
9
- IDx0b2J5Y2xlbXNvbitvcGVuc291cmNlY2lAZ21haWwuY29tPokBVAQTAQgAPhYh
10
- BKrpMrcwwrppf/364F2jkIc+ODWLBQJeYmo4AhsDBQkDwmcABQsJCAcCBhUKCQgL
11
- AgQWAgMBAh4BAheAAAoJEF2jkIc+ODWLqhUIAMSJ9l+acSPSnW0MDhjFn46cFUSC
12
- b7YF77wBBrMj6LhQnvad5ii+ik+fld2iK0ZGg33j9b6xY7XzoLUsa/HISdLdF6xg
13
- sMJZMhDfBRaCDDH98cbvUkR1rdimSxNMWnEd+q7BApgSItVfnuMcZDpAPY+Qnoqj
14
- WTlM1GVK0cjD7Fb3QiAOomBsD+O3zBqBpGBZ8bnkaxu7WfQMSV0QBBoyV5pNkYPs
15
- pHWJgIm1axwYX9383ftDDtVzAQ6YcO8x+NntEIbV7RFwyCD+AlglDfUMe4ZYxniI
16
- jYhAWrGNVMrLsyfkSYDd9keUQGXgrWupgrH1oEPUv0RkM43KV82wqoxJJaG5AQ0E
17
- XmJqOAEIALXw6hlF/PWRPIWIO6tJS6u5g8ndnwlmNLbhgUj0D7OjXS1mzjFIeKvm
18
- jFBb/6klmrow8WilnbjzgNWzHsSgkQGrn5WgiC+jDhwAv2UB6afs4MySM+gD1EZc
19
- 8AAIE/asONMql/GVhPMRr4vbd7D7UdEA8YCVUc7qPRFITBPS/x2/E4lAzY/q5KZ9
20
- uFI89Xrw02A7/Z4j+pWgOpUu/yExSu8pvFJ65aJ5t2nw48MdnYoykKKeZ/0FEzXj
21
- s/MbJGDwVcM699TGodqMw40Kl7jIqIje7HvW18pRKgbwuzFJTA0gfAl6qWWbhaGB
22
- m5E1zr/vTBh+vt4dLOtXD+5rG0blNlMAEQEAAYkBPAQYAQgAJhYhBKrpMrcwwrpp
23
- f/364F2jkIc+ODWLBQJeYmo4AhsMBQkDwmcAAAoJEF2jkIc+ODWLedoIAKOh0rzN
24
- ykH7uHPxqFLele2y0mv2HlYTDlZyZOnqqAa1dQeVRPwKzdWxzKuz8EJUBeLPTuj2
25
- jNYxNSzax6TjYUGnRZES1/w1lOWHcBjM3A2XcR7sLNHQkM0NWsmL941tCs/wqRhw
26
- WStCju+3uQHjlopABeMsfKfaOmfwgZqXgqm6wPucObTXy61ZxAXSY7yhnTj0jP/o
27
- idMQDddNRDwPMleebjEHX0QbcKb3Cc6dapyUxKDMkER7eQfeHXnV/aOMVv6yigG1
28
- jaOPJ+k3Atri5cZEFcdAqB4X30VOIHnSSIY/I/XIMnkJ6nrQclZzgRMH3zYh8+8w
29
- YJ4+vrkTFspeu2s=
30
- =aLlT
31
- -----END PGP PUBLIC KEY BLOCK-----
@@ -1,51 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- yhKTIStM1a3Z1IfcAYEBOkic715tOT/uY6V7VntZVKrccmdFTPjU8B4jBbuicaCY
12
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 7QrnEnhvXE7HCPSNNmBggXhv4ICjoYNTLn9CTsPe5h8RcD1W2IkxF5RMH5iG6H3s
36
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- EpnbOt3ZGJWHtXVg+hDiYIw9ya+L8grBiOrIhMGMbThFOFeWgJRllKIVq6DDyaU1
47
- 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
- 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
- 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
- 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
51
- -----END RSA PRIVATE KEY-----
@@ -1 +0,0 @@
1
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC53wvncgMc7mMp9QIVdsAuespzMhOezvHQ6oEz3+UDnrTKRuquvCgwlIWAHYOh3Lc8nRiH6p8zaa0Jla67rQdL4Ox4GH5BjF2tRG4ZsmR/448/AQUUGyae6cRXFeEAGU6tvQpF5boFmvlqQTQnaGrc2KRkZxvSfTMNru50bR35z1J7kOVUtSXPPJ+qNPeO/rtvlLd/Oovju16CEMzJqR68XM8j87YT51rbe2nAA7uhA3PUl0MsoSyGz71pV+aAqeAOyXSk1Lrr+7Nv42x8TcCvoCUPp2c/R5vX093/M8gcVZmnswERGQVE/j+j5yJZBc5mEaXzkOi3s+e1TbZ8/mVHw6deLp1t5cRa7ZekyBtCJm1CK2oQ9beaJJM+APPTMkzRmgOzYKir5Kfm7I3hyFFwaArRTXtlxnof5j3Px55p3QaJE7q8bURlumDvlBXBlA4R3IzKjm75yMDf6Hzu6/llsk20mqS/PXq90BBXNL0LQgw6IlHqDwv7FJacwk33KDvBjqu8w7XprXeIhbUCp7yXuSrh9q5kq+qe80ySA+Sv2DH+tJ/KEpMhK0zVrdnUh9wBgQE6SJzvXm05P+5jpXtWe1lUqtxyZ0VM+NTwHiMFu6JxoJgIG6grNKdUZojCgRT4r5Xck9nqQ9l9m5zXIbFnapRTZWb0kq+mDybP0BL8Xw== maintainers@infrablocks.io
@@ -1,2 +0,0 @@
1
- ---
2
- circle_ci_api_token: "27393e98772c1342785957a776ca4acbaea7f7cb"
@@ -1,2 +0,0 @@
1
- ---
2
- github_personal_access_token: "6deebdb15c371069618942f48acd76f35880ebb5"
@@ -1,2 +0,0 @@
1
- ---
2
- :rubygems_api_key: bd53d6202bc5ec5d4c51dd2b245f2f14
data/go DELETED
@@ -1,56 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$GO_DEBUG" ] && set -x
4
- set -e
5
-
6
- project_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
7
-
8
- verbose="no"
9
- skip_checks="no"
10
- offline="no"
11
-
12
- missing_dependency="no"
13
-
14
- [ -n "$GO_DEBUG" ] && verbose="yes"
15
- [ -n "$GO_SKIP_CHECKS" ] && skip_checks="yes"
16
- [ -n "$GO_OFFLINE" ] && offline="yes"
17
-
18
-
19
- if [[ "$skip_checks" = "no" ]]; then
20
- echo "Checking for system dependencies."
21
- ruby_version="$(cat "$project_dir"/.ruby-version)"
22
- if ! type ruby >/dev/null 2>&1 || ! ruby -v | grep -q "$ruby_version"; then
23
- echo "This codebase requires Ruby $ruby_version."
24
- missing_dependency="yes"
25
- fi
26
-
27
- if [[ "$missing_dependency" = "yes" ]]; then
28
- echo "Please install missing dependencies to continue."
29
- exit 1
30
- fi
31
-
32
- echo "All system dependencies present. Continuing."
33
- fi
34
-
35
- if [[ "$offline" = "no" ]]; then
36
- echo "Installing bundler."
37
- if [[ "$verbose" = "yes" ]]; then
38
- gem install --no-document bundler
39
- else
40
- gem install --no-document bundler --silent
41
- fi
42
-
43
- echo "Installing ruby dependencies."
44
- if [[ "$verbose" = "yes" ]]; then
45
- bundle install
46
- else
47
- bundle install --quiet
48
- fi
49
- fi
50
-
51
- echo "Starting rake."
52
- if [[ "$verbose" = "yes" ]]; then
53
- time bundle exec rake --verbose "$@"
54
- else
55
- time bundle exec rake "$@"
56
- fi
data/lino.gemspec DELETED
@@ -1,38 +0,0 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require 'lino/version'
5
-
6
- Gem::Specification.new do |spec|
7
- spec.name = 'lino'
8
- spec.version = Lino::VERSION
9
- spec.authors = ['Toby Clemson']
10
- spec.email = ['tobyclemson@gmail.com']
11
-
12
- spec.date = '2017-01-27'
13
- spec.summary = 'Command line execution utilities'
14
- spec.description = 'Command line builders and executors.'
15
- spec.homepage = 'https://github.com/infrablocks/lino'
16
- spec.license = 'MIT'
17
-
18
- spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
- f.match(%r{^(test|spec|features)/})
20
- end
21
- spec.bindir = 'exe'
22
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
- spec.require_paths = ['lib']
24
-
25
- spec.required_ruby_version = '>= 2.6'
26
-
27
- spec.add_dependency 'hamster', '~> 3.0'
28
- spec.add_dependency 'open4', '~> 1.3'
29
-
30
- spec.add_development_dependency 'bundler', '~> 2.0'
31
- spec.add_development_dependency 'rake', '~> 13.0'
32
- spec.add_development_dependency 'rake_circle_ci', '~> 0.3'
33
- spec.add_development_dependency 'rake_github', '~> 0.3'
34
- spec.add_development_dependency 'rake_ssh', '~> 0.2'
35
- spec.add_development_dependency 'rspec', '~> 3.9'
36
- spec.add_development_dependency 'gem-release', '~> 2.0'
37
- spec.add_development_dependency 'simplecov', '~> 0.16'
38
- end
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$DEBUG" ] && set -x
4
- set -e
5
- set -o pipefail
6
-
7
- git config --global user.email "circleci@infrablocks.io"
8
- git config --global user.name "Circle CI"
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$DEBUG" ] && set -x
4
- set -e
5
- set -o pipefail
6
-
7
- SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
- PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
-
10
- cd "$PROJECT_DIR"
11
-
12
- git crypt unlock
13
-
14
- mkdir -p ~/.gem
15
- cp config/secrets/rubygems/credentials ~/.gem/credentials
16
- chmod 0600 ~/.gem/credentials
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$DEBUG" ] && set -x
4
- set -e
5
- set -o pipefail
6
-
7
- apt-get update
8
- apt-get install -y --no-install-recommends git ssh git-crypt
@@ -1,19 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$DEBUG" ] && set -x
4
- set -e
5
- set -o pipefail
6
-
7
- SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
- PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
-
10
- cd "$PROJECT_DIR"
11
-
12
- set +e
13
- openssl version
14
- openssl aes-256-cbc \
15
- -d \
16
- -md sha1 \
17
- -in ./.circleci/gpg.private.enc \
18
- -k "${ENCRYPTION_PASSPHRASE}" | gpg --import -
19
- set -e
@@ -1,16 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$DEBUG" ] && set -x
4
- set -e
5
- set -o pipefail
6
-
7
- SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
- PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
-
10
- cd "$PROJECT_DIR"
11
-
12
- ./go version:bump[pre]
13
- ./go release
14
-
15
- git status
16
- git push
@@ -1,18 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$DEBUG" ] && set -x
4
- set -e
5
- set -o pipefail
6
-
7
- SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
- PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
-
10
- cd "$PROJECT_DIR"
11
-
12
- git pull
13
-
14
- ./go version:bump[minor]
15
- ./go release
16
-
17
- git status
18
- git push
@@ -1,12 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- [ -n "$DEBUG" ] && set -x
4
- set -e
5
- set -o pipefail
6
-
7
- SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
- PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
-
10
- cd "$PROJECT_DIR"
11
-
12
- ./go spec