spandx 0.18.0 → 0.18.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d25ff66ba00edb25cf87b9d9af71ed9433bf084a819a80f86676714754359b34
4
- data.tar.gz: 59e6783d2cba9287e0a65836aeae6705434fc0c9ccdfb093763d83b23d673207
3
+ metadata.gz: bb37d5c085e6c24f08f563a34abe6395448e63a0f8a7571cd16ee7353fcf0e86
4
+ data.tar.gz: 8cb0c804cf63410200d1a8d7b28e7ba7ec1cf57e180d1e66e63664f3daf2e4b8
5
5
  SHA512:
6
- metadata.gz: c75d55cc57a24d00912a98d0a339b22f21e04fb0c84459ce9b769b900cce83f5877557cbe70e2cdff522d1869ba4d89688b9e9d67913719247cc53897216cb01
7
- data.tar.gz: 770105bb92091a740afc3d886194712eb54908718af73e2769acfd512afe553d3f00de0e1ada81930b3d5c09a0a6053dfcc3cd8c9f48ecdb76673e1534ad9fff
6
+ metadata.gz: '0815ee42c9a013e2d4979d662166ca44d898d513b64250635ab36e8c65ab55d2eb1d7683b7cd1dcf4c2d8bc365d55433aba88713b3d4e2613c47dc62a7b53ba7'
7
+ data.tar.gz: 1dd8fa583d48f9007162b2eda18e07b0e58e906791c06491dd1d43dece6304c6831b279a4840761e8a370c6aaf6d7304e16eb2baa2a9f80b627bdffbf0ae2632
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- Version 0.18.0
1
+ Version 0.18.1
2
2
 
3
3
  # Changelog
4
4
 
@@ -9,6 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.18.1] - 2021-06-02
13
+ ### Fixed
14
+ - Parse `.terraform.lock.hcl` files with multiple providers.
15
+
12
16
  ## [0.18.0] - 2021-05-10
13
17
  ### Added
14
18
  - Add support for parsing `.terraform.lock.hcl` files.
@@ -228,7 +232,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
228
232
  ### Added
229
233
  - Provide ruby API to the latest SPDX catalogue.
230
234
 
231
- [Unreleased]: https://github.com/spandx/spandx/compare/v0.18.0...HEAD
235
+ [Unreleased]: https://github.com/spandx/spandx/compare/v0.18.1...HEAD
236
+ [0.18.1]: https://github.com/spandx/spandx/compare/v0.18.0...v0.18.1
232
237
  [0.18.0]: https://github.com/spandx/spandx/compare/v0.17.0...v0.18.0
233
238
  [0.17.0]: https://github.com/spandx/spandx/compare/v0.16.1...v0.17.0
234
239
  [0.16.1]: https://github.com/spandx/spandx/compare/v0.16.0...v0.16.1
@@ -6,6 +6,7 @@ module Spandx
6
6
  class Hcl < Parslet::Parser
7
7
  rule(:alpha) { match['a-zA-Z'] }
8
8
  rule(:assign) { str('=') }
9
+ rule(:colon) { str(':') }
9
10
  rule(:comma) { str(',') }
10
11
  rule(:comment) { (str('#') | str('//')) >> ((str("\n") >> str("\r").maybe).absent? >> any).repeat >> eol }
11
12
  rule(:crlf) { match('[\r\n]') }
@@ -21,11 +22,13 @@ module Spandx
21
22
  rule(:major_minor_patch) { number >> dot >> number >> dot >> number }
22
23
  rule(:multiline_comment) { str('/*') >> (str('*/').absent? >> any).repeat >> str('*/') }
23
24
  rule(:number) { digit.repeat }
25
+ rule(:plus) { str('+') }
24
26
  rule(:pre_release) { hyphen >> (alpha | digit).repeat }
25
27
  rule(:pre_release?) { pre_release.maybe }
26
28
  rule(:quote) { str('"') }
27
29
  rule(:rbracket) { str(']') }
28
30
  rule(:rcurly) { str('}') }
31
+ rule(:slash) { str('/') }
29
32
  rule(:space) { match('\s') }
30
33
  rule(:tilda_wacka) { str('~>') }
31
34
  rule(:version) { number >> dot >> number >> dot >> number >> pre_release? }
@@ -61,39 +64,41 @@ module Spandx
61
64
  end
62
65
 
63
66
  rule :string do
64
- quote >> match('[0-9A-Za-z.~> :=/]').repeat.as(:value) >> quote
67
+ quote >> (
68
+ digit | dot | alpha | str('~> ') | slash | colon | assign | plus
69
+ ).repeat(1).as(:value) >> quote
65
70
  end
66
71
 
67
72
  rule :array_item do
68
- whitespace >> string >> comma >> eol
73
+ whitespace? >> string >> comma.maybe >> eol
69
74
  end
70
75
 
71
76
  rule :array do
72
- lbracket >> eol >> array_item.repeat >> rbracket
77
+ lbracket >> eol >> array_item.repeat >> whitespace >> rbracket
73
78
  end
74
79
 
75
- rule :argument do
76
- alpha.repeat.as(:name) >> whitespace >> assign >> whitespace >> (array.as(:values) | string)
80
+ rule :argument_value do
81
+ (array.as(:values) | string) >> eol
77
82
  end
78
83
 
79
- rule :arguments do
80
- (argument >> eol).repeat
84
+ rule :argument do
85
+ whitespace >> alpha.repeat(1).as(:name) >> whitespace >> assign >> whitespace >> argument_value
81
86
  end
82
87
 
83
- rule :identifier do
84
- whitespace >> quote >> ((alpha | match('[./]')).repeat).as(:name) >> quote >> whitespace
88
+ rule :block_body do
89
+ lcurly >> crlf >> argument.repeat.as(:arguments) >> rcurly
85
90
  end
86
91
 
87
- rule :block_body do
88
- arguments.as(:arguments)
92
+ rule :identifier do
93
+ whitespace >> quote >> (alpha | dot | slash).repeat(1).as(:name) >> quote >> whitespace
89
94
  end
90
95
 
91
96
  rule :block do
92
- whitespace? >> (alpha.repeat).as(:type) >> identifier >> whitespace >> lcurly >> eol >> block_body >> rcurly >> eol
97
+ alpha.repeat(1).as(:type) >> identifier >> block_body
93
98
  end
94
99
 
95
100
  rule :blocks do
96
- block.repeat.as(:blocks)
101
+ whitespace? >> (block >> eol.maybe).repeat(1).as(:blocks)
97
102
  end
98
103
 
99
104
  root(:blocks)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Spandx
4
- VERSION = '0.18.0'
4
+ VERSION = '0.18.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spandx
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.18.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Can Eldem
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2021-05-11 00:00:00.000000000 Z
12
+ date: 2021-06-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: addressable
@@ -460,7 +460,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
460
460
  - !ruby/object:Gem::Version
461
461
  version: '0'
462
462
  requirements: []
463
- rubygems_version: 3.2.3
463
+ rubygems_version: 3.2.19
464
464
  signing_key:
465
465
  specification_version: 4
466
466
  summary: A ruby interface to the SPDX catalogue.