thermite-ruby3-fork-dont-use 0.14.0

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.
@@ -0,0 +1,160 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright (c) 2016, 2017 Mark Lee and contributors
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
+ # associated documentation files (the "Software"), to deal in the Software without restriction,
7
+ # including without limitation the rights to use, copy, modify, merge, publish, distribute,
8
+ # sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all copies or
12
+ # substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15
+ # NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
17
+ # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
18
+ # OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
+
20
+ require 'tmpdir'
21
+ require 'test_helper'
22
+ require 'thermite/github_release_binary'
23
+ require 'thermite/util'
24
+
25
+ module Thermite
26
+ class GithubReleaseBinaryTest < Minitest::Test
27
+ include Thermite::ModuleTester
28
+
29
+ class Tester
30
+ include Thermite::GithubReleaseBinary
31
+ include Thermite::TestHelper
32
+ include Thermite::Util
33
+ end
34
+
35
+ def test_no_downloading_when_github_releases_is_false
36
+ mock_module(github_releases: false)
37
+ mock_module.expects(:download_latest_binary_from_github_release).never
38
+ mock_module.expects(:download_cargo_version_from_github_release).never
39
+
40
+ assert !mock_module.download_binary_from_github_release
41
+ end
42
+
43
+ def test_github_release_type_defaults_to_cargo
44
+ mock_module(github_releases: true)
45
+ mock_module.expects(:download_latest_binary_from_github_release).never
46
+ mock_module.expects(:download_cargo_version_from_github_release).once
47
+
48
+ mock_module.download_binary_from_github_release
49
+ end
50
+
51
+ def test_download_cargo_version_from_github_release
52
+ mock_module(github_releases: true)
53
+ mock_module.config.stubs(:toml).returns(package: { version: '4.5.6' })
54
+ stub_github_download_uri('v4.5.6')
55
+ Net::HTTP.stubs(:get_response).returns('location' => 'redirect')
56
+ mock_module.stubs(:http_get).returns('tarball')
57
+ mock_module.expects(:unpack_tarball).once
58
+ mock_module.expects(:prepare_downloaded_library).once
59
+
60
+ assert mock_module.download_binary_from_github_release
61
+ end
62
+
63
+ def test_download_cargo_version_from_github_release_with_custom_git_tag_format
64
+ mock_module(github_releases: true, git_tag_format: 'VER_%s')
65
+ mock_module.config.stubs(:toml).returns(package: { version: '4.5.6' })
66
+ stub_github_download_uri('VER_4.5.6')
67
+ Net::HTTP.stubs(:get_response).returns('location' => 'redirect')
68
+ mock_module.stubs(:http_get).returns('tarball')
69
+ mock_module.expects(:unpack_tarball).once
70
+ mock_module.expects(:prepare_downloaded_library).once
71
+
72
+ assert mock_module.download_binary_from_github_release
73
+ end
74
+
75
+ def test_download_cargo_version_from_github_release_with_no_repository
76
+ mock_module(github_releases: true)
77
+ mock_module.config.stubs(:toml).returns(package: { version: '4.5.6' })
78
+
79
+ assert_raises KeyError do
80
+ mock_module.download_binary_from_github_release
81
+ end
82
+ end
83
+
84
+ def test_download_cargo_version_from_github_release_with_client_error
85
+ mock_module(github_releases: true)
86
+ mock_module.config.stubs(:toml).returns(
87
+ package: {
88
+ repository: 'test/test',
89
+ version: '4.5.6'
90
+ }
91
+ )
92
+ Net::HTTP.stubs(:get_response).returns(Net::HTTPClientError.new('1.1', 403, 'Forbidden'))
93
+
94
+ assert !mock_module.download_binary_from_github_release
95
+ end
96
+
97
+ def test_download_cargo_version_from_github_release_with_server_error
98
+ mock_module(github_releases: true)
99
+ mock_module.config.stubs(:toml).returns(
100
+ package: {
101
+ repository: 'test/test',
102
+ version: '4.5.6'
103
+ }
104
+ )
105
+ server_error = Net::HTTPServerError.new('1.1', 500, 'Internal Server Error')
106
+ Net::HTTP.stubs(:get_response).returns(server_error)
107
+
108
+ assert_raises Net::HTTPServerException do
109
+ mock_module.download_binary_from_github_release
110
+ end
111
+ end
112
+
113
+ def test_download_latest_binary_from_github_release
114
+ mock_module(github_releases: true, github_release_type: 'latest', git_tag_regex: 'v(.*)_rust')
115
+ stub_releases_atom
116
+ mock_module.stubs(:download_versioned_github_release_binary).returns(StringIO.new('tarball'))
117
+ mock_module.expects(:unpack_tarball).once
118
+ mock_module.expects(:prepare_downloaded_library).once
119
+
120
+ assert mock_module.download_binary_from_github_release
121
+ end
122
+
123
+ def test_download_latest_binary_from_github_release_no_releases_match_regex
124
+ mock_module(github_releases: true, github_release_type: 'latest')
125
+ stub_releases_atom
126
+ mock_module.expects(:github_download_uri).never
127
+
128
+ assert !mock_module.download_binary_from_github_release
129
+ end
130
+
131
+ def test_download_latest_binary_from_github_release_no_tarball_found
132
+ mock_module(github_releases: true, github_release_type: 'latest', git_tag_regex: 'v(.*)_rust')
133
+ stub_releases_atom
134
+ mock_module.stubs(:download_versioned_github_release_binary).returns(nil)
135
+ mock_module.expects(:unpack_tarball).never
136
+ mock_module.expects(:prepare_downloaded_library).never
137
+
138
+ assert !mock_module.download_binary_from_github_release
139
+ end
140
+
141
+ private
142
+
143
+ def described_class
144
+ Tester
145
+ end
146
+
147
+ def stub_github_download_uri(tag)
148
+ uri = 'https://github.com/user/project/downloads/project-4.5.6.tar.gz'
149
+ mock_module.expects(:github_download_uri).with(tag, '4.5.6').returns(uri)
150
+ end
151
+
152
+ def stub_releases_atom
153
+ atom = File.read(fixtures_path('github', 'releases.atom'))
154
+ project_uri = 'https://github.com/user/project'
155
+ releases_uri = "#{project_uri}/releases.atom"
156
+ mock_module.config.stubs(:toml).returns(package: { repository: project_uri })
157
+ mock_module.expects(:http_get).with(releases_uri).returns(atom)
158
+ end
159
+ end
160
+ end
@@ -0,0 +1,119 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright (c) 2016, 2017 Mark Lee and contributors
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
+ # associated documentation files (the "Software"), to deal in the Software without restriction,
7
+ # including without limitation the rights to use, copy, modify, merge, publish, distribute,
8
+ # sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all copies or
12
+ # substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15
+ # NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
17
+ # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
18
+ # OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
+
20
+ require 'fileutils'
21
+ require 'tmpdir'
22
+ require 'test_helper'
23
+ require 'thermite/package'
24
+ require 'thermite/util'
25
+
26
+ module Thermite
27
+ class PackageTest < Minitest::Test
28
+ include Thermite::ModuleTester
29
+
30
+ class Tester
31
+ include Thermite::Package
32
+ include Thermite::TestHelper
33
+ include Thermite::Util
34
+ end
35
+
36
+ def test_build_package_and_unpack_tarball
37
+ using_temp_dir do |dir, tgz_filename|
38
+ using_project_dir(stub_dir(dir, 'project')) do |project_dir|
39
+ extension_path = stub_extension_path(project_dir)
40
+ stub_config(project_dir, extension_path, tgz_filename)
41
+
42
+ mock_module.build_package
43
+ FileUtils.rm_f(extension_path)
44
+
45
+ # This simulates having an extension build via `install/Rakefile` instead of the
46
+ # top-level Rakefile.
47
+ using_install_dir(stub_dir(dir, 'install')) do
48
+ assert_file_created(extension_path) do
49
+ File.open(tgz_filename, 'rb') do |f|
50
+ mock_module.unpack_tarball(f)
51
+ end
52
+ end
53
+ assert_equal 'some extension', File.read(extension_path)
54
+ end
55
+ end
56
+ end
57
+ end
58
+
59
+ private
60
+
61
+ def described_class
62
+ Tester
63
+ end
64
+
65
+ def stub_config(project_dir, extension_path, filename)
66
+ mock_module.config.stubs(:ruby_toplevel_dir).returns(project_dir)
67
+ mock_module.config.stubs(:ruby_extension_path).returns(extension_path)
68
+ mock_module.config.stubs(:toml).returns(package: { version: '7.8.9' })
69
+ mock_module.config.stubs(:tarball_filename).with('7.8.9').returns(filename)
70
+ end
71
+
72
+ def stub_dir(base, name)
73
+ subdir = File.join(base, name)
74
+ Dir.mkdir(subdir)
75
+
76
+ subdir
77
+ end
78
+
79
+ def stub_extension_path(dir)
80
+ extension_path = File.join(dir, 'lib', 'test.txt')
81
+ Dir.mkdir(File.dirname(extension_path))
82
+ File.write(extension_path, 'some extension')
83
+
84
+ extension_path
85
+ end
86
+
87
+ def using_project_dir(project_dir)
88
+ yield project_dir
89
+ ensure
90
+ FileUtils.rm_rf(project_dir)
91
+ end
92
+
93
+ def using_install_dir(install_dir)
94
+ Dir.mkdir(File.join(install_dir, 'lib'))
95
+ Dir.chdir(install_dir) do
96
+ yield install_dir
97
+ end
98
+ ensure
99
+ FileUtils.rm_rf(install_dir)
100
+ end
101
+
102
+ def using_temp_dir
103
+ Dir.mktmpdir do |dir|
104
+ filename = File.join(dir, 'test-7.8.9.tar.gz')
105
+ begin
106
+ yield dir, filename
107
+ ensure
108
+ FileUtils.rm_f(filename)
109
+ end
110
+ end
111
+ end
112
+
113
+ def assert_file_created(filename)
114
+ refute File.exist?(filename), "File '#{filename}' already exists."
115
+ yield
116
+ assert File.exist?(filename), "File '#{filename}' does not exist."
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,58 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright (c) 2018 Mark Lee and contributors
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
+ # associated documentation files (the "Software"), to deal in the Software without restriction,
7
+ # including without limitation the rights to use, copy, modify, merge, publish, distribute,
8
+ # sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all copies or
12
+ # substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15
+ # NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
17
+ # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
18
+ # OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
+
20
+ require 'thermite/semver'
21
+
22
+ module Thermite
23
+ class SemVerTest < Minitest::Test
24
+ def test_valid_semantic_versions
25
+ # From https://github.com/malept/thermite/pull/45
26
+ assert semantic_version_regexp.match('0.3.2')
27
+ assert semantic_version_regexp.match('v0.3.2')
28
+ assert semantic_version_regexp.match('0.3.0-rc1')
29
+ assert semantic_version_regexp.match('0.3.0-rc.1')
30
+ end
31
+
32
+ def test_invalid_semantic_versions
33
+ # From https://github.com/malept/thermite/pull/45
34
+ assert_nil semantic_version_regexp.match('v0.3.2.beta13')
35
+ assert_nil semantic_version_regexp.match('0.5.3.alpha1')
36
+ assert_nil semantic_version_regexp.match('0.5.3.1')
37
+ end
38
+
39
+ def test_valid_semantic_prerelease_versions
40
+ # From https://semver.org/spec/v2.0.0.html#spec-item-9
41
+ assert semantic_version_regexp.match('1.0.0-alpha')
42
+ assert semantic_version_regexp.match('1.0.0-alpha.1')
43
+ assert semantic_version_regexp.match('1.0.0-0.3.7')
44
+ assert semantic_version_regexp.match('1.0.0-x.7.z.92')
45
+ end
46
+
47
+ def test_valid_semantic_build_metadata_versions
48
+ # From https://semver.org/spec/v2.0.0.html#spec-item-10
49
+ assert semantic_version_regexp.match('1.0.0-alpha+001')
50
+ assert semantic_version_regexp.match('1.0.0+20130313144700')
51
+ assert semantic_version_regexp.match('1.0.0-beta+exp.sha.5114f85')
52
+ end
53
+
54
+ def semantic_version_regexp
55
+ @semantic_version_regexp ||= /^#{Thermite::SemVer::VERSION}$/
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright (c) 2016, 2017 Mark Lee and contributors
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
+ # associated documentation files (the "Software"), to deal in the Software without restriction,
7
+ # including without limitation the rights to use, copy, modify, merge, publish, distribute,
8
+ # sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all copies or
12
+ # substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15
+ # NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
17
+ # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
18
+ # OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
+
20
+ require 'tempfile'
21
+ require 'test_helper'
22
+ require 'thermite/util'
23
+
24
+ module Thermite
25
+ class UtilTest < Minitest::Test
26
+ include Thermite::ModuleTester
27
+
28
+ class Tester
29
+ include Thermite::TestHelper
30
+ include Thermite::Util
31
+ end
32
+
33
+ def test_debug
34
+ stub_debug_filename(nil)
35
+ mock_module.debug('will not exist')
36
+ debug_file = Tempfile.new('thermite_test')
37
+ stub_debug_filename(debug_file.path)
38
+ mock_module.debug('some message')
39
+ mock_module.instance_variable_get('@debug').flush
40
+ debug_file.rewind
41
+ assert_equal "some message\n", debug_file.read
42
+ ensure
43
+ debug_file.close
44
+ debug_file.unlink
45
+ end
46
+
47
+ def stub_debug_filename(value)
48
+ mock_module.config.stubs(:debug_filename).returns(value)
49
+ end
50
+
51
+ def described_class
52
+ Tester
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+ #
3
+ # Copyright (c) 2016, 2017 Mark Lee and contributors
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
6
+ # associated documentation files (the "Software"), to deal in the Software without restriction,
7
+ # including without limitation the rights to use, copy, modify, merge, publish, distribute,
8
+ # sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
9
+ # furnished to do so, subject to the following conditions:
10
+ #
11
+ # The above copyright notice and this permission notice shall be included in all copies or
12
+ # substantial portions of the Software.
13
+ #
14
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT
15
+ # NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
16
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
17
+ # DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT
18
+ # OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
+
20
+ require 'simplecov'
21
+ SimpleCov.start do
22
+ load_profile 'test_frameworks'
23
+ add_filter 'lib/thermite/fiddle.rb'
24
+ add_filter 'lib/thermite/tasks.rb'
25
+ track_files 'lib/**/*.rb'
26
+ end
27
+
28
+ ENV['THERMITE_TEST'] = '1'
29
+
30
+ require 'minitest/autorun'
31
+ require 'mocha/minitest'
32
+ require 'thermite/config'
33
+
34
+ module Minitest
35
+ class Test
36
+ def fixtures_path(*components)
37
+ File.join(File.dirname(__FILE__), 'fixtures', *components)
38
+ end
39
+ end
40
+ end
41
+
42
+ module Thermite
43
+ module ModuleTester
44
+ def mock_module(options = {})
45
+ @mock_module ||= described_class.new(options)
46
+ end
47
+ end
48
+
49
+ module TestHelper
50
+ attr_reader :config, :options
51
+
52
+ def initialize(options = {})
53
+ @options = options
54
+ @config = Thermite::Config.new(@options)
55
+ end
56
+ end
57
+ end
data/thermite.gemspec ADDED
@@ -0,0 +1,27 @@
1
+ require 'English'
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = 'thermite-ruby3-fork-dont-use'
5
+ s.version = '0.14.0'
6
+ s.summary = 'Rake helpers for Rust+Ruby'
7
+ s.description = 'A Rake-based helper for building and distributing Rust-based Ruby extensions'
8
+
9
+ s.authors = ['Mark Lee']
10
+ s.email = 'malept@users.noreply.github.com'
11
+ s.homepage = 'https://github.com/Mayurifag/thermite-ruby3-fork-dont-use'
12
+ s.license = 'MIT'
13
+
14
+ s.files = `git ls-files`.split($OUTPUT_RECORD_SEPARATOR)
15
+ s.require_paths = %w[lib]
16
+
17
+ s.required_ruby_version = '>= 2.7'
18
+
19
+ s.add_runtime_dependency 'minitar', '~> 0.9'
20
+ s.add_runtime_dependency 'rake', '~> 13.0'
21
+ s.add_runtime_dependency 'rexml', '~> 3.2'
22
+ s.add_runtime_dependency 'tomlrb', '~> 2.0'
23
+ s.add_development_dependency 'minitest', '~> 5.14'
24
+ s.add_development_dependency 'mocha', '~> 1.12'
25
+ s.add_development_dependency 'rubocop', '~> 1.13'
26
+ s.add_development_dependency 'yard', '~> 0.9'
27
+ end
metadata ADDED
@@ -0,0 +1,184 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: thermite-ruby3-fork-dont-use
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.14.0
5
+ platform: ruby
6
+ authors:
7
+ - Mark Lee
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2023-12-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: minitar
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0.9'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '13.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rexml
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: tomlrb
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '5.14'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '5.14'
83
+ - !ruby/object:Gem::Dependency
84
+ name: mocha
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.12'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '1.12'
97
+ - !ruby/object:Gem::Dependency
98
+ name: rubocop
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '1.13'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '1.13'
111
+ - !ruby/object:Gem::Dependency
112
+ name: yard
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '0.9'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '0.9'
125
+ description: A Rake-based helper for building and distributing Rust-based Ruby extensions
126
+ email: malept@users.noreply.github.com
127
+ executables: []
128
+ extensions: []
129
+ extra_rdoc_files: []
130
+ files:
131
+ - ".gitignore"
132
+ - ".rubocop.yml"
133
+ - ".ruby-version"
134
+ - ".yardopts"
135
+ - CONTRIBUTING.md
136
+ - Gemfile
137
+ - LICENSE
138
+ - NEWS.md
139
+ - README.md
140
+ - Rakefile
141
+ - lib/thermite/cargo.rb
142
+ - lib/thermite/config.rb
143
+ - lib/thermite/custom_binary.rb
144
+ - lib/thermite/fiddle.rb
145
+ - lib/thermite/github_release_binary.rb
146
+ - lib/thermite/package.rb
147
+ - lib/thermite/semver.rb
148
+ - lib/thermite/tasks.rb
149
+ - lib/thermite/util.rb
150
+ - test/fixtures/config/Cargo.toml
151
+ - test/fixtures/github/releases.atom
152
+ - test/lib/thermite/cargo_test.rb
153
+ - test/lib/thermite/config_test.rb
154
+ - test/lib/thermite/custom_binary_test.rb
155
+ - test/lib/thermite/github_release_binary_test.rb
156
+ - test/lib/thermite/package_test.rb
157
+ - test/lib/thermite/semver_test.rb
158
+ - test/lib/thermite/util_test.rb
159
+ - test/test_helper.rb
160
+ - thermite.gemspec
161
+ homepage: https://github.com/Mayurifag/thermite-ruby3-fork-dont-use
162
+ licenses:
163
+ - MIT
164
+ metadata: {}
165
+ post_install_message:
166
+ rdoc_options: []
167
+ require_paths:
168
+ - lib
169
+ required_ruby_version: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: '2.7'
174
+ required_rubygems_version: !ruby/object:Gem::Requirement
175
+ requirements:
176
+ - - ">="
177
+ - !ruby/object:Gem::Version
178
+ version: '0'
179
+ requirements: []
180
+ rubygems_version: 3.4.10
181
+ signing_key:
182
+ specification_version: 4
183
+ summary: Rake helpers for Rust+Ruby
184
+ test_files: []