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 +4 -4
- data/CHANGELOG.md +7 -2
- data/lib/spandx/terraform/parsers/hcl.rb +18 -13
- data/lib/spandx/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bb37d5c085e6c24f08f563a34abe6395448e63a0f8a7571cd16ee7353fcf0e86
|
4
|
+
data.tar.gz: 8cb0c804cf63410200d1a8d7b28e7ba7ec1cf57e180d1e66e63664f3daf2e4b8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '0815ee42c9a013e2d4979d662166ca44d898d513b64250635ab36e8c65ab55d2eb1d7683b7cd1dcf4c2d8bc365d55433aba88713b3d4e2613c47dc62a7b53ba7'
|
7
|
+
data.tar.gz: 1dd8fa583d48f9007162b2eda18e07b0e58e906791c06491dd1d43dece6304c6831b279a4840761e8a370c6aaf6d7304e16eb2baa2a9f80b627bdffbf0ae2632
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
Version 0.18.
|
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.
|
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 >>
|
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 :
|
76
|
-
|
80
|
+
rule :argument_value do
|
81
|
+
(array.as(:values) | string) >> eol
|
77
82
|
end
|
78
83
|
|
79
|
-
rule :
|
80
|
-
|
84
|
+
rule :argument do
|
85
|
+
whitespace >> alpha.repeat(1).as(:name) >> whitespace >> assign >> whitespace >> argument_value
|
81
86
|
end
|
82
87
|
|
83
|
-
rule :
|
84
|
-
|
88
|
+
rule :block_body do
|
89
|
+
lcurly >> crlf >> argument.repeat.as(:arguments) >> rcurly
|
85
90
|
end
|
86
91
|
|
87
|
-
rule :
|
88
|
-
|
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
|
-
|
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)
|
data/lib/spandx/version.rb
CHANGED
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.
|
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-
|
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.
|
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.
|