git_helper 3.3.5 → 3.5.0

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: d74d094412a3d4f474722dd3c188e029a10087c0b85417e31fa7bcd14d89a08d
4
- data.tar.gz: b0e353cb0f8fcae55d82ce858cab7a2e47f933dbf9cd790f738d673e205c88bc
3
+ metadata.gz: 37d1cb4ca342aac0362a8e7bd6f9726731315aead8c49ee2462d34ccdd6026c8
4
+ data.tar.gz: d5d4193926ecfc3d37ab4f5289be2364d5cca527aec32fcae7fa1ede7406d9da
5
5
  SHA512:
6
- metadata.gz: 22cf7cd312ffd1770effc7f1c3b0f128dd917f667a6ad65717a4e78b2d19c2463776eeb2cefd2895c4518eabe6fffd5ff7aef55589505a844e4cb8b7a67f9aab
7
- data.tar.gz: 99fb83f4324c82c9110847aae36adceee0823de922721dc733bd698b863ebff71db2e5af1df61d5beace2f311adec5824e80a0448ff4d57bda3417a6ce6adf8b
6
+ metadata.gz: 7d44f55e02a52b3c419a06b10d99755fb1858270b82e505d134a97b2a61b53378c15fea01f54c9f421bf097a403ba9cdc029f5872529a5db051932e9b036df75
7
+ data.tar.gz: c31682a0cb41f8ccf74ecf70ec1f302904d209dcdd043730207127f428541a91f4619db9d23e493bfd5d67481d769d2c84fb496f4dee6402c0ce0dee2d5c3357
data/Gemfile.lock CHANGED
@@ -1,35 +1,48 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- git_helper (3.3.4)
4
+ git_helper (3.5.0)
5
5
  gitlab (~> 4.16)
6
6
  gli (~> 2.13)
7
- highline_wrapper (~> 0.1.0)
7
+ highline_wrapper (~> 1.1)
8
8
  octokit (~> 4.18)
9
+ psych (< 4)
9
10
 
10
11
  GEM
11
12
  remote: https://rubygems.org/
12
13
  specs:
13
- addressable (2.7.0)
14
+ addressable (2.8.0)
14
15
  public_suffix (>= 2.0.2, < 5.0)
15
16
  ast (2.4.2)
16
17
  coderay (1.1.3)
17
- concurrent-ruby (1.1.8)
18
+ concurrent-ruby (1.1.9)
18
19
  diff-lcs (1.4.4)
19
- faker (2.16.0)
20
+ faker (2.18.0)
20
21
  i18n (>= 1.6, < 2)
21
- faraday (1.3.0)
22
+ faraday (1.5.0)
23
+ faraday-em_http (~> 1.0)
24
+ faraday-em_synchrony (~> 1.0)
25
+ faraday-excon (~> 1.1)
26
+ faraday-httpclient (~> 1.0.1)
22
27
  faraday-net_http (~> 1.0)
28
+ faraday-net_http_persistent (~> 1.1)
29
+ faraday-patron (~> 1.0)
23
30
  multipart-post (>= 1.2, < 3)
24
- ruby2_keywords
31
+ ruby2_keywords (>= 0.0.4)
32
+ faraday-em_http (1.0.0)
33
+ faraday-em_synchrony (1.0.0)
34
+ faraday-excon (1.1.0)
35
+ faraday-httpclient (1.0.1)
25
36
  faraday-net_http (1.0.1)
26
- ffi (1.14.2)
27
- formatador (0.2.5)
37
+ faraday-net_http_persistent (1.1.0)
38
+ faraday-patron (1.0.0)
39
+ ffi (1.15.3)
40
+ formatador (0.3.0)
28
41
  gitlab (4.17.0)
29
42
  httparty (~> 0.18)
30
43
  terminal-table (~> 1.5, >= 1.5.1)
31
- gli (2.20.0)
32
- guard (2.16.2)
44
+ gli (2.20.1)
45
+ guard (2.17.0)
33
46
  formatador (>= 0.2.4)
34
47
  listen (>= 2.7, < 4.0)
35
48
  lumberjack (>= 1.0.12, < 2.0)
@@ -44,44 +57,44 @@ GEM
44
57
  guard-compat (~> 1.1)
45
58
  rspec (>= 2.99.0, < 4.0)
46
59
  highline (2.0.3)
47
- highline_wrapper (0.1.0)
60
+ highline_wrapper (1.2.2)
48
61
  highline (~> 2.0)
49
62
  httparty (0.18.1)
50
63
  mime-types (~> 3.0)
51
64
  multi_xml (>= 0.5.2)
52
- i18n (1.8.9)
65
+ i18n (1.8.10)
53
66
  concurrent-ruby (~> 1.0)
54
- listen (3.4.1)
67
+ listen (3.5.1)
55
68
  rb-fsevent (~> 0.10, >= 0.10.3)
56
69
  rb-inotify (~> 0.9, >= 0.9.10)
57
70
  lumberjack (1.2.8)
58
71
  method_source (1.0.0)
59
72
  mime-types (3.3.1)
60
73
  mime-types-data (~> 3.2015)
61
- mime-types-data (3.2021.0225)
74
+ mime-types-data (3.2021.0704)
62
75
  multi_xml (0.6.0)
63
76
  multipart-post (2.1.1)
64
77
  nenv (0.3.0)
65
78
  notiffany (0.1.3)
66
79
  nenv (~> 0.1)
67
80
  shellany (~> 0.0)
68
- octokit (4.20.0)
81
+ octokit (4.21.0)
69
82
  faraday (>= 0.9)
70
83
  sawyer (~> 0.8.0, >= 0.5.3)
71
84
  parallel (1.20.1)
72
- parser (3.0.0.0)
85
+ parser (3.0.1.1)
73
86
  ast (~> 2.4.1)
74
- pry (0.14.0)
87
+ pry (0.14.1)
75
88
  coderay (~> 1.1)
76
89
  method_source (~> 1.0)
90
+ psych (3.3.2)
77
91
  public_suffix (4.0.6)
78
92
  rainbow (3.0.0)
79
- rake (13.0.3)
80
- rb-fsevent (0.10.4)
93
+ rb-fsevent (0.11.0)
81
94
  rb-inotify (0.10.1)
82
95
  ffi (~> 1.0)
83
96
  regexp_parser (2.1.1)
84
- rexml (3.2.4)
97
+ rexml (3.2.5)
85
98
  rspec (3.10.0)
86
99
  rspec-core (~> 3.10.0)
87
100
  rspec-expectations (~> 3.10.0)
@@ -95,17 +108,17 @@ GEM
95
108
  diff-lcs (>= 1.2.0, < 2.0)
96
109
  rspec-support (~> 3.10.0)
97
110
  rspec-support (3.10.2)
98
- rubocop (1.11.0)
111
+ rubocop (1.18.2)
99
112
  parallel (~> 1.10)
100
113
  parser (>= 3.0.0.0)
101
114
  rainbow (>= 2.2.2, < 4.0)
102
115
  regexp_parser (>= 1.8, < 3.0)
103
116
  rexml
104
- rubocop-ast (>= 1.2.0, < 2.0)
117
+ rubocop-ast (>= 1.7.0, < 2.0)
105
118
  ruby-progressbar (~> 1.7)
106
119
  unicode-display_width (>= 1.4.0, < 3.0)
107
- rubocop-ast (1.4.1)
108
- parser (>= 2.7.1.5)
120
+ rubocop-ast (1.7.0)
121
+ parser (>= 3.0.1.1)
109
122
  ruby-progressbar (1.11.0)
110
123
  ruby2_keywords (0.0.4)
111
124
  sawyer (0.8.2)
@@ -118,7 +131,7 @@ GEM
118
131
  unicode-display_width (1.7.0)
119
132
 
120
133
  PLATFORMS
121
- x86_64-darwin-20
134
+ x86_64-darwin-19
122
135
 
123
136
  DEPENDENCIES
124
137
  bundler (~> 2.2)
@@ -126,9 +139,8 @@ DEPENDENCIES
126
139
  git_helper!
127
140
  guard-rspec (~> 4.3)
128
141
  pry (~> 0.13)
129
- rake (~> 13.0)
130
142
  rspec (~> 3.9)
131
143
  rubocop (~> 1.10)
132
144
 
133
145
  BUNDLED WITH
134
- 2.2.4
146
+ 2.2.21
data/Guardfile CHANGED
@@ -2,6 +2,6 @@
2
2
 
3
3
  guard :rspec, cmd: 'bundle exec rspec', all_on_start: true do
4
4
  watch(%r{^spec/.+_spec\.rb$})
5
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
5
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
6
6
  watch('spec/spec_helper.rb') { 'spec' }
7
7
  end
data/LICENSE.md ADDED
@@ -0,0 +1,29 @@
1
+ BSD 3-Clause "New" or "Revised" License
2
+
3
+ Copyright (c) 2020 Emma Sax.
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions, and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions, and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # git_helper [![Main](https://github.com/emmahsax/git_helper/actions/workflows/main.yml/badge.svg)](https://github.com/emmahsax/git_helper/actions/workflows/main.yml)
1
+ # Git Helper [![Main](https://github.com/emmahsax/git_helper/actions/workflows/main.yml/badge.svg)](https://github.com/emmahsax/git_helper/actions/workflows/main.yml)
2
2
 
3
3
  ## Gem Usage
4
4
 
@@ -127,7 +127,7 @@ The command will provide an autogenerated code request title based on your branc
127
127
 
128
128
  The command will also ask you if the default branch of the repository is the proper base branch to use. You can say 'yes' or 'no'. If you respond 'no', then you can give the command your chosen base base.
129
129
 
130
- If your project uses GitLab, the command will potentially ask you if you'd like to delete the source branch upon merge. If the project defaults to deleting the source branch, then the script will use that selection, and the value can be changed for a specific MR either over the API or in the browser. If the project just provides source branch deletion as on option, then it'll ask the user. It also will probably ask you if you'd like to squash the MR upon merge. If the project requires or prevents squashing, then whatever answer you give will be _*ignored*_. This is unfortunate, but is here due to limited API functionality.
130
+ If your project uses GitLab, the command will potentially ask you if you'd like to delete the source branch upon merge. If the project defaults to deleting the source branch, then the script will use that selection, and the value can be changed for a specific MR either over the API or in the browser. If the project just provides source branch deletion as on option, then it'll ask the user. If the project has allowed squashing, but doesn't default it, then the code will ask the user whether to squash the merge request. If the project has set merge requests to require squashing, prevent squashing, or sets the project to default to squashing, then the code will skip a squash question. If default squashing is set, then the code will set the merge request to squash, and the user can change that over the API or in the browser.
131
131
 
132
132
  Lastly, it'll ask about code request templates. For GitHub, it'll ask the user to apply any pull request templates found at `.github/pull_request_template.md`, `./pull_request_template.md`, or `.github/PULL_REQUEST_TEMPLATE/*.md`. Applying any template is optional, and a user can make an empty pull request if they desire. For GitLab, it'll ask the user to apply any merge request templates found at any `.gitlab/merge_request_template.md`, `./merge_request_template.md`, or `.gitlab/merge_request_templates/*.md`. Applying any template is optional, and from the command's standpoint, a user can make an empty merge request if they desire (although GitLab may still add a merge request template if the project itself requires one). When searching for templates, the code ignores cases, so the file could be named with all capital letters or all lowercase letters.
133
133
 
@@ -176,15 +176,27 @@ git-helper new-branch NEW_BRANCH_NAME
176
176
 
177
177
  The command either accepts a branch name right away or it will ask you for the name of your new branch. Make sure your input does not contain any spaces or special characters.
178
178
 
179
- ## Contributing
179
+ ---
180
180
 
181
- To submit a feature request, bug ticket, etc, please submit an official [GitHub Issue](https://github.com/emmahsax/git_helper/issues/new).
181
+ ### Contributing
182
182
 
183
- To report any security vulnerabilities, please view this project's [Security Policy](https://github.com/emmahsax/git_helper/security/policy).
183
+ To submit a feature request, bug ticket, etc, please submit an official [GitHub issue](https://github.com/emmahsax/git_helper/issues/new). To copy or make changes, please [fork this repository](https://github.com/emmahsax/git_helper/fork). When/if you'd like to contribute back to this upstream, please create a pull request on this repository.
184
+
185
+ Please follow included Issue Template(s) and Pull Request Template(s) when creating issues or pull requests.
186
+
187
+ ### Security Policy
188
+
189
+ To report any security vulnerabilities, please view this repository's [Security Policy](https://github.com/emmahsax/git_helper/security/policy).
190
+
191
+ ### Licensing
192
+
193
+ For information on licensing, please see [LICENSE.md](https://github.com/emmahsax/git_helper/blob/main/LICENSE.md).
194
+
195
+ ### Code of Conduct
184
196
 
185
197
  When interacting with this repository, please follow [Contributor Covenant's Code of Conduct](https://contributor-covenant.org).
186
198
 
187
- ## Releasing
199
+ ### Releasing
188
200
 
189
201
  To make a new release of this gem:
190
202
 
@@ -125,7 +125,16 @@ module GitHelper
125
125
  end
126
126
 
127
127
  private def squash_merge_request
128
- @squash_merge_request ||= highline.ask_yes_no('Squash merge request? (y/n)')
128
+ return @squash_merge_request if @squash_merge_request
129
+
130
+ case existing_project.squash_option
131
+ when 'always', 'default_on'
132
+ @squash_merge_request = true
133
+ when 'never'
134
+ @squash_merge_request = false
135
+ else # 'default_off' or anything else
136
+ @squash_merge_request = highline.ask_yes_no('Squash merge request? (y/n)')
137
+ end
129
138
  end
130
139
 
131
140
  private def remove_source_branch
@@ -4,7 +4,7 @@ module GitHelper
4
4
  class NewBranch
5
5
  def execute(new_branch_name = nil)
6
6
  branch_name = new_branch_name || HighlineWrapper.new.ask('New branch name?', { required: true })
7
- puts "Attempting to create a new branch: #{branch_name}\n\n"
7
+ puts "Attempting to create a new branch: #{branch_name}"
8
8
  GitHelper::LocalCode.new.new_branch(branch_name)
9
9
  end
10
10
  end
@@ -33,7 +33,7 @@ module GitHelper
33
33
 
34
34
  create_or_update_plugin_files
35
35
  puts "\nNow add this line to your ~/.bash_profile:\n" \
36
- ' export PATH=/path/to/computer/home/.git_helper/plugins:$PATH'
36
+ ' export PATH=/path/to/computer/home/.git_helper/plugins:$PATH'
37
37
  puts "\nDone!"
38
38
  end
39
39
 
@@ -49,6 +49,7 @@ module GitHelper
49
49
  end
50
50
 
51
51
  # rubocop:disable Metrics/MethodLength
52
+ # rubocop:disable Layout/LineEndStringConcatenationIndentation
52
53
  private def generate_file_contents
53
54
  file_contents = ''.dup
54
55
 
@@ -75,6 +76,7 @@ module GitHelper
75
76
  file_contents.strip
76
77
  end
77
78
  # rubocop:enable Metrics/MethodLength
79
+ # rubocop:enable Layout/LineEndStringConcatenationIndentation
78
80
 
79
81
  private def ask_question(prompt, secret: false)
80
82
  highline.ask(prompt, { required: true, secret: secret })
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GitHelper
4
- VERSION = '3.3.5'
4
+ VERSION = '3.5.0'
5
5
  end
@@ -183,12 +183,39 @@ describe GitHelper::GitLabMergeRequest do
183
183
  end
184
184
 
185
185
  describe '#squash_merge_request' do
186
- it 'should ask the CLI for the code request ID' do
186
+ let(:existing_project) { double(squash_option: 'default_off') }
187
+
188
+ it 'should return true if the squash is set to always on the project' do
189
+ allow(subject).to receive(:existing_project).and_return(existing_project)
190
+ allow(existing_project).to receive(:squash_option).and_return('always')
191
+ expect(highline_wrapper).not_to receive(:ask_yes_no)
192
+ expect(subject.send(:squash_merge_request)).to eq(true)
193
+ end
194
+
195
+ it 'should return true if the squash is set to default_on on the project' do
196
+ allow(subject).to receive(:existing_project).and_return(existing_project)
197
+ allow(existing_project).to receive(:squash_option).and_return('default_on')
198
+ expect(highline_wrapper).not_to receive(:ask_yes_no)
199
+ expect(subject.send(:squash_merge_request)).to eq(true)
200
+ end
201
+
202
+ it 'should return false if the squash is set to never on the project' do
203
+ allow(subject).to receive(:existing_project).and_return(existing_project)
204
+ allow(existing_project).to receive(:squash_option).and_return('never')
205
+ expect(highline_wrapper).not_to receive(:ask_yes_no)
206
+ expect(subject.send(:squash_merge_request)).to eq(false)
207
+ end
208
+
209
+ it 'should ask the user for their response to the squash question' do
210
+ allow(subject).to receive(:existing_project).and_return(existing_project)
211
+ allow(existing_project).to receive(:squash_option).and_return(nil)
187
212
  expect(highline_wrapper).to receive(:ask_yes_no).and_return(true)
188
213
  subject.send(:squash_merge_request)
189
214
  end
190
215
 
191
216
  it 'should be a boolean' do
217
+ allow(subject).to receive(:existing_project).and_return(existing_project)
218
+ allow(existing_project).to receive(:squash_option).and_return(nil)
192
219
  expect(highline_wrapper).to receive(:ask_yes_no).and_return(false)
193
220
  expect([true, false]).to include(subject.send(:squash_merge_request))
194
221
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git_helper
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.5
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Emma Sax
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-03-06 00:00:00.000000000 Z
11
+ date: 2021-07-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '1.0'
47
+ version: '1.1'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '1.0'
54
+ version: '1.1'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: octokit
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '4.18'
69
+ - !ruby/object:Gem::Dependency
70
+ name: psych
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "<"
74
+ - !ruby/object:Gem::Version
75
+ version: '4'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "<"
81
+ - !ruby/object:Gem::Version
82
+ version: '4'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: bundler
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -122,20 +136,6 @@ dependencies:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0.13'
125
- - !ruby/object:Gem::Dependency
126
- name: rake
127
- requirement: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '13.0'
132
- type: :development
133
- prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - "~>"
137
- - !ruby/object:Gem::Version
138
- version: '13.0'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: rspec
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -175,7 +175,7 @@ files:
175
175
  - Gemfile
176
176
  - Gemfile.lock
177
177
  - Guardfile
178
- - LICENSE
178
+ - LICENSE.md
179
179
  - README.md
180
180
  - Rakefile
181
181
  - bin/git-helper
@@ -213,7 +213,7 @@ files:
213
213
  - spec/spec_helper.rb
214
214
  homepage: https://github.com/emmahsax/git_helper
215
215
  licenses:
216
- - MIT
216
+ - BSD-3-Clause
217
217
  metadata: {}
218
218
  post_install_message:
219
219
  rdoc_options: []
@@ -230,10 +230,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
230
230
  - !ruby/object:Gem::Version
231
231
  version: '0'
232
232
  requirements: []
233
- rubygems_version: 3.2.3
233
+ rubygems_version: 3.2.15
234
234
  signing_key:
235
235
  specification_version: 4
236
- summary: A set of GitHub and GitLab workflow scripts.
236
+ summary: A set of GitHub and GitLab workflow scripts
237
237
  test_files:
238
238
  - spec/spec_helper.rb
239
239
  - spec/git_helper/change_remote_spec.rb
data/LICENSE DELETED
@@ -1,22 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright 2020 Emma Sax
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.