Skip to content
Open
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
6a174b8
🔨 binstubs: console, setup, rake, rspec, cucumber
pboling Oct 26, 2025
76c388f
🚚 rename LICENSE => LICENSE.txt
pboling Oct 26, 2025
6d29520
🎨 modernize dotfiles
pboling Oct 26, 2025
ea1339d
🎨 modernize Rakefile
pboling Oct 26, 2025
bd7f47f
🎨 modernize for 2025
pboling Oct 26, 2025
378f62e
🎨 modernize for 2025
pboling Oct 26, 2025
c91de22
⚡️ Frozen Strings (performance benefit)
pboling Oct 26, 2025
cbd8f71
⏪️ Revert accidental changes
pboling Oct 26, 2025
dded808
🚨 Linting
pboling Oct 30, 2025
14413f0
🔒️ Signed releases, checksums & CONTRIBUTING.md
pboling Oct 30, 2025
9980c19
👷 Update build matrix (light)
pboling Oct 30, 2025
e0de431
🔨 binstub: gem_checksums
pboling Oct 30, 2025
9f75e11
Merge branch 'master' into fix/nokogiri-incompatible-with-global-purl
jkowalleck Oct 30, 2025
9422296
add `NOTICE` to `extra_rdoc_files`
jkowalleck Oct 30, 2025
a492361
📝 Use hardcoded homepage roots
pboling Oct 30, 2025
d243fe2
🔥 Remove unnecessary test artifacts
pboling Oct 30, 2025
a5df2d4
🔥 Remove gem release signing logic
pboling Oct 31, 2025
b2182d3
🔥 Remove documentation uri
pboling Oct 31, 2025
a36b45a
🐛 Fix latent reference to BomComponent without namespace
pboling Nov 3, 2025
9834ae3
🐛 Fix latent reference to @logger out of context
pboling Nov 3, 2025
a17b6a3
📄 Add back license, scoped to relevant lines
pboling Nov 3, 2025
ff97361
🐛 fix reference to variable bom_directory within rescue block
pboling Nov 3, 2025
7a55d34
✏️ fix method indicator in deprecation warnings
pboling Nov 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 8 additions & 4 deletions .github/workflows/ruby.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,14 @@ jobs:
fail-fast: false
matrix:
ruby:
- '3.2.2'
- '3.1.4'
- '3.0.6'
- '2.7.7'
- '3.4.7'
- '3.3.9'
- '3.2.9'
# Not supported by latest bundler. These will be added back to the build matrix later.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

note to self: create a followup ticket for this

# They are not being dropped from support, just from CI testing for now.
# - '3.1.7'
# - '3.0.7'
# - '2.7.8'

steps:
- uses: actions/checkout@v3
Expand Down
54 changes: 50 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,50 @@
.idea
/Gemfile.lock
/tmp/aruba
/coverage
# Build Artifacts
/pkg/
/tmp/
*.gem

# Bundler
/vendor/bundle/
/.bundle/
/gemfiles/*.lock
/gemfiles/.bundle/
/gemfiles/.bundle/config
/gemfiles/vendor/
Appraisal.*.gemfile.lock

# Specs
.rspec_status
/coverage/
/spec/reports/
/results/
.output.txt

# Documentation
/.yardoc/
/_yardoc/
/rdoc/
/doc/

# Ruby Version Managers (RVM, rbenv, etc)
.rvmrc
.ruby-version
.ruby-gemset
.tool-versions

# Benchmarking
/measurement/

# Debugger detritus
.byebug_history

# direnv - brew install direnv
.env.local

# OS Detritus
.DS_Store

# Editors
*~

# vendor
/vendor/
7 changes: 7 additions & 0 deletions .rspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
--format documentation
--require spec_helper
--color
--order random
--warnings
--format html
--out results/test_results.html
3 changes: 3 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ AllCops:

inherit_from: .rubocop_todo.yml

Gemspec/DevelopmentDependencies:
EnforcedStyle: gemspec

# The behavior of RuboCop can be controlled via the .rubocop.yml
# configuration file. It makes it possible to enable/disable
# certain cops (checks) and to alter their behavior if they accept
Expand Down
208 changes: 20 additions & 188 deletions .rubocop_todo.yml
Original file line number Diff line number Diff line change
@@ -1,136 +1,29 @@
# This configuration was generated by
# `rubocop --auto-gen-config`
# on 2023-04-05 19:57:43 UTC using RuboCop version 1.49.0.
# on 2025-10-30 06:45:50 UTC using RuboCop version 1.81.6.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Severity, Include.
# Include: **/*.gemspec
Gemspec/DeprecatedAttributeAssignment:
Exclude:
- 'cyclonedx-ruby.gemspec'

# Offense count: 4
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation, Include.
# Include: **/*.gemspec
# Configuration parameters: TreatCommentsAsGroupSeparators, ConsiderPunctuation.
Gemspec/OrderedDependencies:
Exclude:
- 'cyclonedx-ruby.gemspec'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: Severity, Include.
# Include: **/*.gemspec
Gemspec/RequireMFA:
Exclude:
- 'cyclonedx-ruby.gemspec'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Layout/EmptyLineAfterMagicComment:
Exclude:
- 'lib/bom_builder.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: around, only_before
Layout/EmptyLinesAroundAccessModifier:
Exclude:
- 'lib/bom_builder.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Layout/EmptyLinesAroundMethodBody:
Exclude:
- 'lib/bom_component.rb'

# Offense count: 1
# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
Layout/ExtraSpacing:
Exclude:
- 'cyclonedx-ruby.gemspec'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, IndentationWidth.
# SupportedStyles: special_inside_parentheses, consistent, align_brackets
Layout/FirstArrayElementIndentation:
Exclude:
- 'lib/bom_component.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Layout/LeadingEmptyLines:
Exclude:
- 'lib/bom_component.rb'

# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: final_newline, final_blank_line
Layout/TrailingEmptyLines:
Exclude:
- 'Rakefile'
- 'lib/bom_component.rb'

# Offense count: 3
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowInHeredoc.
Layout/TrailingWhitespace:
Exclude:
- 'Rakefile'
- 'spec/bom_component_spec.rb'

# Offense count: 2
Lint/IneffectiveAccessModifier:
Exclude:
- 'lib/bom_builder.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Lint/ScriptPermission:
Exclude:
- 'Rakefile'

# Offense count: 1
Lint/ShadowingOuterLocalVariable:
Exclude:
- 'lib/bom_builder.rb'

# Offense count: 19
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: strict, consistent
Lint/SymbolConversion:
Exclude:
- 'lib/bom_component.rb'
- 'lib/bom_helpers.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods, IgnoreNotImplementedMethods.
Lint/UnusedMethodArgument:
Exclude:
- 'lib/bom_builder.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: ContextCreatingMethods, MethodCreatingMethods.
Lint/UselessAccessModifier:
Exclude:
- 'lib/bom_builder.rb'

# Offense count: 4
# Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes.
Metrics/AbcSize:
Max: 67
Max: 68

# Offense count: 4
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
Expand All @@ -141,92 +34,52 @@ Metrics/BlockLength:
# Offense count: 1
# Configuration parameters: CountComments, CountAsOne.
Metrics/ClassLength:
Max: 128
Max: 129

# Offense count: 1
# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/CyclomaticComplexity:
Max: 9

# Offense count: 6
# Offense count: 7
# Configuration parameters: CountComments, CountAsOne, AllowedMethods, AllowedPatterns.
Metrics/MethodLength:
Max: 68
Max: 69

# Offense count: 1
# Configuration parameters: AllowedMethods, AllowedPatterns.
Metrics/PerceivedComplexity:
Max: 12

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: PreferredName.
Naming/RescuedExceptionsVariableName:
Exclude:
- 'Rakefile'

# Offense count: 3
# Offense count: 4
# Configuration parameters: AllowedConstants.
Style/Documentation:
Exclude:
- 'spec/**/*'
- 'test/**/*'
- 'Rakefile'
- 'lib/bom_builder.rb'
- 'lib/bom_component.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedVars.
Style/FetchEnvVar:
Exclude:
- 'lib/bom_helpers.rb'
- 'lib/cyclonedx/bom_builder.rb'
- 'lib/cyclonedx/bom_component.rb'
- 'lib/cyclonedx/bom_helpers.rb'
- 'lib/cyclonedx/ruby/deprecation.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Style/FileWrite:
Style/MixinUsage:
Exclude:
- 'lib/bom_builder.rb'

# Offense count: 12
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: always, always_true, never
Style/FrozenStringLiteralComment:
Exclude:
- '.simplecov'
- 'Gemfile'
- 'Rakefile'
- 'features/fixtures/simple/Gemfile'
- 'features/step_definitions/json_bom_matching.rb'
- 'features/step_definitions/xml_bom_matching.rb'
- 'features/support/env.rb'
- 'features/support/simplecov_support.rb'
- 'lib/bom_component.rb'
- 'spec/bom_component_spec.rb'
- 'spec/bom_helpers_spec.rb'
- 'spec/spec_helper.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowedMethods, AllowedPatterns.
Style/MethodCallWithoutArgsParentheses:
Exclude:
- 'lib/bom_helpers.rb'
- 'lib/cyclonedx_deprecated.rb'

# Offense count: 1
# This cop supports unsafe autocorrection (--autocorrect-all).
# Configuration parameters: EnforcedStyle.
# SupportedStyles: literals, strict
Style/MutableConstant:
Exclude:
- 'lib/bom_builder.rb'
- 'lib/cyclonedx/bom_builder.rb'

# Offense count: 2
Style/OpenStructUse:
Exclude:
- 'lib/bom_builder.rb'
- 'spec/bom_component_spec.rb'
- 'lib/cyclonedx/bom_builder.rb'
- 'spec/cyclonedx/bom_component_spec.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Expand All @@ -235,27 +88,14 @@ Style/PercentLiteralDelimiters:
Exclude:
- 'Rakefile'

# Offense count: 19
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: .
# SupportedStyles: same_as_string_literals, single_quotes, double_quotes
Style/QuotedSymbols:
EnforcedStyle: double_quotes

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Style/RedundantBegin:
Exclude:
- 'Rakefile'

# Offense count: 6
# This cop supports safe autocorrection (--autocorrect).
Style/RedundantRegexpEscape:
Exclude:
- 'features/step_definitions/json_bom_matching.rb'
- 'features/step_definitions/xml_bom_matching.rb'

# Offense count: 20
# Offense count: 41
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: EnforcedStyle, ConsistentQuotesInMultiline.
# SupportedStyles: single_quotes, double_quotes
Expand All @@ -266,8 +106,6 @@ Style/StringLiterals:
- 'cyclonedx-ruby.gemspec'
- 'lib/bom_component.rb'
- 'lib/bom_helpers.rb'
- 'spec/bom_component_spec.rb'
- 'spec/bom_helpers_spec.rb'

# Offense count: 1
# This cop supports safe autocorrection (--autocorrect).
Expand All @@ -276,15 +114,9 @@ Style/StringLiterals:
Style/SymbolArray:
EnforcedStyle: brackets

# Offense count: 2
# This cop supports safe autocorrection (--autocorrect).
Style/SymbolLiteral:
Exclude:
- 'lib/bom_component.rb'

# Offense count: 5
# Offense count: 7
# This cop supports safe autocorrection (--autocorrect).
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, AllowedPatterns.
# Configuration parameters: AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, IgnoreCopDirectives, AllowedPatterns, SplitStrings.
# URISchemes: http, https
Layout/LineLength:
Max: 237
Loading