ruby_leiningen 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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-----