ruby_leiningen 0.0.1

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 (47) hide show
  1. checksums.yaml +7 -0
  2. data/.circleci/config.yml +56 -0
  3. data/.circleci/gpg.private.enc +0 -0
  4. data/.envrc +5 -0
  5. data/.git-crypt/.gitattributes +4 -0
  6. data/.git-crypt/keys/default/0/41D2606F66C3FF28874362B61A16916844CE9D82.gpg +0 -0
  7. data/.git-crypt/keys/default/0/837D1812341A8C7F3E556D33623A196DE10A7326.gpg +0 -0
  8. data/.gitattributes +1 -0
  9. data/.gitignore +32 -0
  10. data/.rspec +2 -0
  11. data/.ruby-version +1 -0
  12. data/CODE_OF_CONDUCT.md +74 -0
  13. data/Gemfile +4 -0
  14. data/Gemfile.lock +59 -0
  15. data/LICENSE.txt +21 -0
  16. data/README.md +111 -0
  17. data/Rakefile +24 -0
  18. data/bin/console +14 -0
  19. data/bin/setup +8 -0
  20. data/config/secrets/.unlocked +1 -0
  21. data/config/secrets/ci/encryption.passphrase +1 -0
  22. data/config/secrets/ci/gpg.private +105 -0
  23. data/config/secrets/ci/gpg.public +51 -0
  24. data/config/secrets/ci/ssh.private +51 -0
  25. data/config/secrets/ci/ssh.public +1 -0
  26. data/config/secrets/rubygems/credentials +2 -0
  27. data/go +56 -0
  28. data/lib/ruby_leiningen/commands/base.rb +53 -0
  29. data/lib/ruby_leiningen/commands/check.rb +17 -0
  30. data/lib/ruby_leiningen/commands/clean.rb +17 -0
  31. data/lib/ruby_leiningen/commands/deps.rb +17 -0
  32. data/lib/ruby_leiningen/commands/mixins/profile.rb +27 -0
  33. data/lib/ruby_leiningen/commands/run.rb +35 -0
  34. data/lib/ruby_leiningen/commands/uberjar.rb +22 -0
  35. data/lib/ruby_leiningen/commands/version.rb +24 -0
  36. data/lib/ruby_leiningen/commands.rb +57 -0
  37. data/lib/ruby_leiningen/version.rb +3 -0
  38. data/lib/ruby_leiningen.rb +36 -0
  39. data/ruby_leiningen.gemspec +34 -0
  40. data/scripts/ci/common/configure-git.sh +8 -0
  41. data/scripts/ci/common/configure-rubygems.sh +16 -0
  42. data/scripts/ci/common/install-git-crypt.sh +8 -0
  43. data/scripts/ci/common/install-gpg-key.sh +19 -0
  44. data/scripts/ci/steps/prerelease.sh +16 -0
  45. data/scripts/ci/steps/release.sh +18 -0
  46. data/scripts/ci/steps/test.sh +12 -0
  47. metadata +179 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: db033baef70c5ff08fa491ff1a9de46034e785e8516400bf2c7a495cd40f667b
4
+ data.tar.gz: af3e86b5e60471a555dbf581ce366b4b7257b75012c06325ffb7038a180df8f9
5
+ SHA512:
6
+ metadata.gz: 408baa9cee47b5f85c5cf2e3dbba1d412a9c261b12acd8e766a8a6aa4e642d6dae91353bc70e8016c1b8d33048b7f7c80d523559f1058032c927871c2f8fbf79
7
+ data.tar.gz: d19bfe3c59aabc61b413b60683f4184d61f28535c75bc56bd0c076884022a51c852217251bae3e1d62d0e0fdde33ee25917724a983627dcf771731cacf81f8c5
@@ -0,0 +1,56 @@
1
+ version: 2
2
+ jobs:
3
+ test:
4
+ working_directory: ~/ruby-leiningen
5
+ docker:
6
+ - image: ruby:2.4.7
7
+ steps:
8
+ - checkout
9
+ - run: ./scripts/ci/steps/test.sh
10
+ prerelease:
11
+ working_directory: ~/ruby-leiningen
12
+ docker:
13
+ - image: ruby:2.4.7
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: ~/ruby-leiningen
23
+ docker:
24
+ - image: ruby:2.4.7
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 ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ PROJECT_DIR="$(pwd)"
4
+
5
+ PATH_add ${PROJECT_DIR}
@@ -0,0 +1,4 @@
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 ADDED
@@ -0,0 +1 @@
1
+ config/secrets/** filter=git-crypt diff=git-crypt
data/.gitignore ADDED
@@ -0,0 +1,32 @@
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
+ /coverage/
22
+
23
+ ## Environment normalization:
24
+ /.bundle/
25
+ /vendor/bundle
26
+ /lib/bundler/man/
27
+
28
+ ## IDE:
29
+ .idea
30
+ *.ipr
31
+ *.iws
32
+ *.iml
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.6.0
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at tobyclemson@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in ruby_leiningen.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,59 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ruby_leiningen (0.0.1)
5
+ activesupport (~> 6.0, >= 6.0.2)
6
+ lino (~> 1.1)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activesupport (6.0.2)
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)
17
+ concurrent-ruby (1.1.5)
18
+ diff-lcs (1.3)
19
+ gem-release (2.1.1)
20
+ hamster (3.0.0)
21
+ concurrent-ruby (~> 1.0)
22
+ i18n (1.7.0)
23
+ concurrent-ruby (~> 1.0)
24
+ lino (1.1.0)
25
+ hamster (~> 3.0)
26
+ open4 (~> 1.3)
27
+ minitest (5.13.0)
28
+ open4 (1.3.4)
29
+ rake (13.0.1)
30
+ rspec (3.9.0)
31
+ rspec-core (~> 3.9.0)
32
+ rspec-expectations (~> 3.9.0)
33
+ rspec-mocks (~> 3.9.0)
34
+ rspec-core (3.9.0)
35
+ rspec-support (~> 3.9.0)
36
+ rspec-expectations (3.9.0)
37
+ diff-lcs (>= 1.2.0, < 2.0)
38
+ rspec-support (~> 3.9.0)
39
+ rspec-mocks (3.9.0)
40
+ diff-lcs (>= 1.2.0, < 2.0)
41
+ rspec-support (~> 3.9.0)
42
+ rspec-support (3.9.0)
43
+ thread_safe (0.3.6)
44
+ tzinfo (1.2.5)
45
+ thread_safe (~> 0.1)
46
+ zeitwerk (2.2.2)
47
+
48
+ PLATFORMS
49
+ ruby
50
+
51
+ DEPENDENCIES
52
+ bundler (~> 2.0)
53
+ gem-release (~> 2.0)
54
+ rake (~> 13.0)
55
+ rspec (~> 3.8)
56
+ ruby_leiningen!
57
+
58
+ BUNDLED WITH
59
+ 2.1.0
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2019 LogicBlocks Maintainers
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,111 @@
1
+ # RubyLeiningen
2
+
3
+ Wraps the leiningen CLI so that leiningen can be invoked from a Ruby script or
4
+ Rakefile.
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'ruby_leiningen'
12
+ ```
13
+
14
+ And then execute:
15
+
16
+ $ bundle
17
+
18
+ Or install it yourself as:
19
+
20
+ $ gem install ruby_leiningen
21
+
22
+ ## Usage
23
+
24
+ ### Binary Location
25
+
26
+ RubyLeiningen needs to know where the lein command is located before it can do
27
+ anything. By default, RubyLeiningen looks on the path however this can be
28
+ configured with:
29
+
30
+ ```ruby
31
+ RubyLeiningen.configure do |config|
32
+ config.binary = 'vendor/leiningen/bin/lein'
33
+ end
34
+ ```
35
+
36
+ In addition, each command takes a `binary` keyword argument at initialisation
37
+ that overrides the global configuration value.
38
+
39
+ ### Commands
40
+
41
+ Currently, there is partial support for the following commands:
42
+ * `RubyLeiningen::Commands::Deps`:
43
+ * `RubyLeiningen::Commands::Version`: returns the version of the leiningen
44
+ binary
45
+
46
+ #### `RubyLeiningen::Commands::Deps`
47
+
48
+ The deps command can be called in the following ways:
49
+
50
+ ```ruby
51
+ RubyLeiningen.deps
52
+ RubyLeiningen::Commands::Deps.new.execute
53
+ ```
54
+
55
+ #### `RubyLeiningen::Commands::Version`
56
+
57
+ The version command can be called in the following ways:
58
+
59
+ ```ruby
60
+ version = RubyLeiningen.version
61
+ version = RubyLeiningen::Commands::Version.new.execute
62
+ ```
63
+
64
+ ## Development
65
+
66
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run
67
+ `rake spec` to run the tests. You can also run `bin/console` for an interactive
68
+ prompt that will allow you to experiment.
69
+
70
+ To install this gem onto your local machine, run `bundle exec rake install`. To
71
+ release a new version, update the version number in `version.rb`, and then run
72
+ `bundle exec rake release`, which will create a git tag for the version, push
73
+ git commits and tags, and push the `.gem` file to
74
+ [rubygems.org](https://rubygems.org).
75
+
76
+ ### Managing CircleCI keys
77
+
78
+ To encrypt a GPG key for use by CircleCI:
79
+
80
+ ```bash
81
+ openssl aes-256-cbc \
82
+ -e \
83
+ -md sha1 \
84
+ -in ./config/secrets/ci/gpg.private \
85
+ -out ./.circleci/gpg.private.enc \
86
+ -k "<passphrase>"
87
+ ```
88
+
89
+ To check decryption is working correctly:
90
+
91
+ ```bash
92
+ openssl aes-256-cbc \
93
+ -d \
94
+ -md sha1 \
95
+ -in ./.circleci/gpg.private.enc \
96
+ -k "<passphrase>"
97
+ ```
98
+
99
+ ## Contributing
100
+
101
+ Bug reports and pull requests are welcome on GitHub at
102
+ https://github.com/infrablocks/ruby_leiningen. This project is intended to be a
103
+ safe, welcoming space for collaboration, and contributors are expected to
104
+ adhere to the [Contributor Covenant](http://contributor-covenant.org) code of
105
+ conduct.
106
+
107
+
108
+ ## License
109
+
110
+ The gem is available as open source under the terms of the
111
+ [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,24 @@
1
+ require "rspec/core/rake_task"
2
+
3
+ RSpec::Core::RakeTask.new(:spec)
4
+
5
+ task :default => :spec
6
+
7
+ namespace :version do
8
+ desc "Bump version for specified type (pre, major, minor patch)"
9
+ task :bump, [:type] do |_, args|
10
+ bump_version_for(args.type)
11
+ end
12
+ end
13
+
14
+ desc "Release gem"
15
+ task :release do
16
+ sh "gem release --tag --push"
17
+ end
18
+
19
+ def bump_version_for(version_type)
20
+ sh "gem bump --version #{version_type} " +
21
+ "&& bundle install " +
22
+ "&& export LAST_MESSAGE=\"$(git log -1 --pretty=%B)\" " +
23
+ "&& git commit -a --amend -m \"${LAST_MESSAGE} [ci skip]\""
24
+ end
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "ruby_leiningen"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1 @@
1
+ true
@@ -0,0 +1 @@
1
+ GRpGA9D6BvjzBzJhwU8CWk4ct34uRbMk8GQfr4n4pXNk8mAg
@@ -0,0 +1,105 @@
1
+ -----BEGIN PGP PRIVATE KEY BLOCK-----
2
+
3
+ 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
103
+ PDXv14trDg==
104
+ =Rqfy
105
+ -----END PGP PRIVATE KEY BLOCK-----
@@ -0,0 +1,51 @@
1
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
2
+
3
+ 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
49
+ wJ+Igj9ZPECXt3c8Ne/Xi2sO
50
+ =wZdG
51
+ -----END PGP PUBLIC KEY BLOCK-----
@@ -0,0 +1,51 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ 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
51
+ -----END RSA PRIVATE KEY-----