Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FlatMerge should deduplicate "equivalent" entries and squash their data #245

Open
wants to merge 297 commits into
base: main
Choose a base branch
from
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Aug 11, 2023

  1. CycloneDX.Core/Models/Component.cs: basic adjustment to be a BomEntit…

    …y (inherit equality methods, adapt MergeWith())
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    815285c View commit details
    Browse the repository at this point in the history
  2. CycloneDX.Core/Models/Component.cs: MergeWith(): revise logging level…

    …s for different traces
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    37849b3 View commit details
    Browse the repository at this point in the history
  3. CycloneDX.Core/Models/Component.cs: MergeWith(): speed-up with BomEnt…

    …ity.KnownEntityTypeProperties[]
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    277d0da View commit details
    Browse the repository at this point in the history
  4. CycloneDX.Core/Models/Component.cs: MergeWith(): revise logging of sk…

    …ipping
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    f2e83b7 View commit details
    Browse the repository at this point in the history
  5. CycloneDX.Core/Models/Component.cs: MergeWith(): revise logging of sk…

    …ipping
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    6c3b667 View commit details
    Browse the repository at this point in the history
  6. CycloneDX.Core/Models/Component.cs: rearrange processing of un-set (n…

    …ull) Scope value
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    eb51a96 View commit details
    Browse the repository at this point in the history
  7. CycloneDX.Core/Models/Component.cs: MergeWith(): revise logging of sk…

    …ipping
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    a439246 View commit details
    Browse the repository at this point in the history
  8. CycloneDX.Core/Models/Component.cs: MergeWith(): revise handling of v…

    …arious Scope values, refresh comments about spec versions involved
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    cefd853 View commit details
    Browse the repository at this point in the history
  9. CycloneDX.Core/Models/Component.cs: MergeWith(): revise discovery of …

    …methodEquals and methodMergeWith via pre-cached BomEntity static Dicts
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    1624c20 View commit details
    Browse the repository at this point in the history
  10. Component.MergeWith() and ListMergeHelper.Merge(): use cached BomEnti…

    …tyListMergeHelperReflection and BomEntityListReflection
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    476e0e8 View commit details
    Browse the repository at this point in the history
  11. Component.MergeWith(): handle Enum values quickly

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    6c7795f View commit details
    Browse the repository at this point in the history
  12. Component.MergeWith(): handle Enum values even more quickly

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    d564eb1 View commit details
    Browse the repository at this point in the history
  13. Component.MergeWith(): try to avoid spurious values for null (missing…

    … in original JSON) NonNullable properties
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    dd4f042 View commit details
    Browse the repository at this point in the history
  14. Component.MergeWith(): keep track of BomEntity-derived classes which …

    …use default Equals() and Equivalent() implementations
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    49cfff7 View commit details
    Browse the repository at this point in the history
  15. BomEntity: when tracking BomEntityListReflection[type] also leave a k…

    …ey for BomEntityListReflection[List<type>]
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    c945c45 View commit details
    Browse the repository at this point in the history
  16. Component.MergeWith(): skip changes due to un-set "other" Modified pr…

    …operty
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    a55b30d View commit details
    Browse the repository at this point in the history
  17. Component.MergeWith(): skip changes due to un-set "this+other" Scope …

    …property
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    6ac10ba View commit details
    Browse the repository at this point in the history
  18. Component.MergeWith(): update comments about Scope and NonNullableScope

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    510f4d1 View commit details
    Browse the repository at this point in the history
  19. Component.MergeWith(): interrupt list processing as soon as we have a…

    … hit (handled a "tmp" target entry which was equivalent or equal to an incoming "obj" entry)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    fb06139 View commit details
    Browse the repository at this point in the history
  20. Component.MergeWith(): when preparing the "tmp" clone, skip "NonNulla…

    …ble" helper properties
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    006811e View commit details
    Browse the repository at this point in the history
  21. Component.MergeWith(): when copying back from the "tmp" clone to "thi…

    …s", skip "NonNullable" helper properties
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    ac15233 View commit details
    Browse the repository at this point in the history
  22. Component.MergeWith(): leave a TODO comment for code sharing eventually

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    9666e7a View commit details
    Browse the repository at this point in the history
  23. CycloneDX.Core/Json/Serializer.Serialization.cs: implement the one Se…

    …rialize(BomEntity) to rule them all
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    9c72658 View commit details
    Browse the repository at this point in the history
  24. CycloneDX.Core/Json/Serializer.Serialization.cs: comment away other i…

    …nternal Serialize() implementations
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    0827020 View commit details
    Browse the repository at this point in the history
  25. CycloneDX.Core/Json/Serializer.Serialization.cs: tidy up Serialize(Bo…

    …mEntity implem)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    8f1be8c View commit details
    Browse the repository at this point in the history
  26. CycloneDX.Core/Json/Serializer.Serialization.cs: introduce SerializeC…

    …ompact(BomEntity) with minimal markup overhead and use it in BomEntity.Equals()
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    5adb785 View commit details
    Browse the repository at this point in the history
  27. BomEntity: avoid caching in KnownTypeSerializers any default implemen…

    …tations for BomEntity itself as the handler for derived classes
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    ebd6fdd View commit details
    Browse the repository at this point in the history
  28. Component.MergeWith(): fix comparison of enums

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    e54ef7f View commit details
    Browse the repository at this point in the history
  29. Component.MergeWith(): optimize detection of Nullable a bit

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    a5db319 View commit details
    Browse the repository at this point in the history
  30. Component.MergeWith(): fix comparison of stubborn enums

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    423cf2b View commit details
    Browse the repository at this point in the history
  31. Introduce BomEntityListMergeHelperStrategy to tweak run-time behaviors

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    03f967a View commit details
    Browse the repository at this point in the history
  32. Merge.cs: Use BomEntityListMergeHelperStrategy for quick FlatMerge() …

    …over the big population of Boms, and a clean-up pass in the end to deduplicate equivalent but unequal entries
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    29614e0 View commit details
    Browse the repository at this point in the history
  33. Merge.cs, BomEntity.cs: implement BomEntityListMergeHelperStrategy fo…

    …r quick and careless merges in BomEntityListMergeHelper<T> class
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    00a8ac5 View commit details
    Browse the repository at this point in the history
  34. Merge.cs, BomEntity.cs: refactor BomEntityListMergeHelperStrategy for…

    … slow careful merges in BomEntityListMergeHelper<T> class, to also dedup input list1 and to not skip work due to null/empty inputs
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    9ff40f0 View commit details
    Browse the repository at this point in the history
  35. Merge.cs, BomEntity.cs et al: clean up commented-away experimental an…

    …d obsoleted code before PR
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    e297e97 View commit details
    Browse the repository at this point in the history
  36. Merge.cs, BomEntity.cs et al: address CI complaints (code style, etc.)

    ...and the bike-shed must be green!
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    8f0bf43 View commit details
    Browse the repository at this point in the history
  37. BomEntity.cs: address CI complaints (protect prepared public lists an…

    …d dicts as immutable)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    684c899 View commit details
    Browse the repository at this point in the history
  38. BomEntity.cs: address CI complaints (protect helper class public fiel…

    …ds with getters/setters)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    618a90c View commit details
    Browse the repository at this point in the history
  39. ListMergeHelper: update doc summary of the class

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 11, 2023
    Configuration menu
    Copy the full SHA
    d1938c3 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2023

  1. Validator.cs: document addDictList()

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    aff0ea5 View commit details
    Browse the repository at this point in the history
  2. Validator.cs: check that for each "ref" pointer in the document, a ta…

    …rget "bom-ref" is defined
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    11b62da View commit details
    Browse the repository at this point in the history
  3. Merge branch 'validate-json-bomref' into privateBuild/20230814

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    641f1ed View commit details
    Browse the repository at this point in the history
  4. Merge.cs, Component.cs: add support for optional mergeWith() method t…

    …o process the complex object properties to squash two similar items together into one better informed entity
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    cde95ef View commit details
    Browse the repository at this point in the history
  5. Merge.cs: refactor with GetMethod() called once and using type-specif…

    …ic Equals() implementation, fix remaining duplicates
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    4545835 View commit details
    Browse the repository at this point in the history
  6. Merge.cs: ListMerge: quiesce much of debug message noise

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    8f7f53f View commit details
    Browse the repository at this point in the history
  7. Component.cs: try using ListMergeHelper

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    363f6f5 View commit details
    Browse the repository at this point in the history
  8. Revert "Component.cs: try using ListMergeHelper"

    This reverts commit 9239be0.
    Can't easily pull in Utils dependency.
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    4c5e93d View commit details
    Browse the repository at this point in the history
  9. Component.cs: experiment more for mergeWith() to actually act

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    0a6f7ee View commit details
    Browse the repository at this point in the history
  10. Merge.cs, Component.cs: relegate debug trace printing to CYCLONEDX_DE…

    …BUG_MERGE envvar
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    37adbf7 View commit details
    Browse the repository at this point in the history
  11. Component.cs: address some compiler warnings

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    e91f16f View commit details
    Browse the repository at this point in the history
  12. Component.cs: clean up handling of SCOPE merging

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    d67c320 View commit details
    Browse the repository at this point in the history
  13. Merge.cs: always apply a new timestamp to freshly created "result" Bo…

    …m object
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    86a35e3 View commit details
    Browse the repository at this point in the history
  14. Merge.cs: HierarchicalMerge(): be sure to have a non-null result.Meta…

    …data.Tools list before adding into it (might be AWOL if bomSubject==null at start)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    3f11613 View commit details
    Browse the repository at this point in the history
  15. Merge.cs: add logic to CleanupMetadataComponent() and CleanupEmptyLis…

    …ts() as a finishing touch, to avoid inducing a spec violation with a duplicate bom-ref or publishing empty JSON lists
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ec71bbe View commit details
    Browse the repository at this point in the history
  16. Merge.cs: be more careful about populating metadata/component vs. com…

    …ponents[] array; use CleanupMetadataComponent() and CleanupEmptyLists() as a finishing touch, to avoid inducing a spec violation with a duplicate bom-ref or publishing empty JSON lists
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ce0afc6 View commit details
    Browse the repository at this point in the history
  17. Components.cs: mergeWith(): revise exception catching for NonNullable…

    … types
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    e0c615b View commit details
    Browse the repository at this point in the history
  18. Components.cs: mergeWith(): fix equality check for list items

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    f177609 View commit details
    Browse the repository at this point in the history
  19. Revert "Components.cs: mergeWith(): revise exception catching for Non…

    …Nullable types"
    
    This reverts commit 9ead840bef0353b24ee26995e981ed39829b35e2.
    Seems to be involved in more un-deduped entries than without it.
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    0b6d1ce View commit details
    Browse the repository at this point in the history
  20. Introduce a CycloneDX.Core/Models/BomEntity.cs as a base class for sh…

    …ared features
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    c7af4ce View commit details
    Browse the repository at this point in the history
  21. Hash.cs: implement as a BomEntity descendant class

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    3ef0d36 View commit details
    Browse the repository at this point in the history
  22. Restore simplistic CycloneDX.Utils/Merge.cs logic for ListMergeHelper…

    …: move the BomEntity related complexity to CycloneDX.Core/BomUtils.cs (initially "as is")
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    9b4ea8b View commit details
    Browse the repository at this point in the history
  23. Restore simplistic CycloneDX.Utils/Merge.cs logic for ListMergeHelper…

    …: move the BomEntity related complexity to CycloneDX.Core/BomUtils.cs (refactor for BomEntity)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    42d96c3 View commit details
    Browse the repository at this point in the history
  24. Component.cs: implement as a BomEntity descendant class

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    8920767 View commit details
    Browse the repository at this point in the history
  25. CycloneDX.Utils/Merge.cs: debug trace if proceeding with legacy logic

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    99b6644 View commit details
    Browse the repository at this point in the history
  26. BomUtils.cs: MergeBomEntityLists(): refactor so it builds

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    4901a93 View commit details
    Browse the repository at this point in the history
  27. BomEntity: make exception classes public

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ada2fe5 View commit details
    Browse the repository at this point in the history
  28. Merge.cs: update comment

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    75fff60 View commit details
    Browse the repository at this point in the history
  29. Tool.cs: subclass from BomEntity

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ce29985 View commit details
    Browse the repository at this point in the history
  30. Move BomUtils:MergeBomEntityLists() to BomEntityListMergeHelper<T> cl…

    …ass for consistency
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    497c0a1 View commit details
    Browse the repository at this point in the history
  31. Merge.cs: unite back uses of BomEntityListMergeHelper<T> and legacy L…

    …istMergeHelper<T> so consumers/callers do not have to change
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    a6b1ee2 View commit details
    Browse the repository at this point in the history
  32. BomEntity.cs: refactor with SerializeEntity() helper

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    b934207 View commit details
    Browse the repository at this point in the history
  33. BomEntity.cs: fix SerializeEntity() to find custom serializer method …

    …if defined for the type
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    efcd3ba View commit details
    Browse the repository at this point in the history
  34. BomEntity.cs: pre-cache info about custom serializer method if define…

    …d for the type (avoid looping main logic with many reflection queries)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    73fbb8e View commit details
    Browse the repository at this point in the history
  35. BomEntity.cs: pre-cache info about Equals(), Equivalent() and MergeWi…

    …th() overrides in derived BomEntity classes (avoid looking for this info in a loop)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    eb67d8b View commit details
    Browse the repository at this point in the history
  36. Merge.cs: ListMergeHelper: use idiomatic and more efficient typeof(T)…

    … rather than list1[0].GetType()
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    9b78d6a View commit details
    Browse the repository at this point in the history
  37. BomEntity: forward from default Equals() and Equivalent() implems to …

    …class-customized ones if present
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ae5a84b View commit details
    Browse the repository at this point in the history
  38. Move ListMergeHelper from Merge.cs to CycloneDX.Core so it can be sha…

    …red by different codebase more efficiently
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ce746c1 View commit details
    Browse the repository at this point in the history
  39. CycloneDX.Core Model classes: make them all derivates of BomEntity so…

    … common equality, equivalence and merging methods are inherited and applied by default
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    e2adbef View commit details
    Browse the repository at this point in the history
  40. BomEntity: forward from default Equals() and Equivalent() implems to …

    …class-customized ones if present - fix discovery, optimize GetType() call count
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    42648fd View commit details
    Browse the repository at this point in the history
  41. BomEntity: use KnownTypeMergeWith[] from BomEntityListMergeHelper<> t…

    …o call customized handlers where applicable
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    9484afb View commit details
    Browse the repository at this point in the history
  42. CycloneDX.Core/Models/Component.cs: basic adjustment to be a BomEntit…

    …y (inherit equality methods, adapt MergeWith())
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    457909d View commit details
    Browse the repository at this point in the history
  43. CycloneDX.Core/Models/Component.cs: MergeWith(): revise logging level…

    …s for different traces
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    837bd5d View commit details
    Browse the repository at this point in the history
  44. CycloneDX.Core/Models/Component.cs: MergeWith(): speed-up with BomEnt…

    …ity.KnownEntityTypeProperties[]
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    4d30059 View commit details
    Browse the repository at this point in the history
  45. CycloneDX.Core/Models/Component.cs: MergeWith(): revise logging of sk…

    …ipping
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    8801c51 View commit details
    Browse the repository at this point in the history
  46. CycloneDX.Core/Models/Component.cs: MergeWith(): revise logging of sk…

    …ipping
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    693a8e7 View commit details
    Browse the repository at this point in the history
  47. CycloneDX.Core/Models/Component.cs: rearrange processing of un-set (n…

    …ull) Scope value
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    a330604 View commit details
    Browse the repository at this point in the history
  48. CycloneDX.Core/Models/Component.cs: MergeWith(): revise logging of sk…

    …ipping
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    80b8c46 View commit details
    Browse the repository at this point in the history
  49. CycloneDX.Core/Models/Component.cs: MergeWith(): revise handling of v…

    …arious Scope values, refresh comments about spec versions involved
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    4f19ce1 View commit details
    Browse the repository at this point in the history
  50. CycloneDX.Core/Models/Component.cs: MergeWith(): revise discovery of …

    …methodEquals and methodMergeWith via pre-cached BomEntity static Dicts
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    a37a6e4 View commit details
    Browse the repository at this point in the history
  51. Component.MergeWith() and ListMergeHelper.Merge(): use cached BomEnti…

    …tyListMergeHelperReflection and BomEntityListReflection
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    c538a3e View commit details
    Browse the repository at this point in the history
  52. Component.MergeWith(): handle Enum values quickly

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    3f8b8aa View commit details
    Browse the repository at this point in the history
  53. Component.MergeWith(): handle Enum values even more quickly

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    fbe83b1 View commit details
    Browse the repository at this point in the history
  54. Component.MergeWith(): try to avoid spurious values for null (missing…

    … in original JSON) NonNullable properties
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    51e7eac View commit details
    Browse the repository at this point in the history
  55. Component.MergeWith(): keep track of BomEntity-derived classes which …

    …use default Equals() and Equivalent() implementations
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    1c8c5a8 View commit details
    Browse the repository at this point in the history
  56. BomEntity: when tracking BomEntityListReflection[type] also leave a k…

    …ey for BomEntityListReflection[List<type>]
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    5f3b30b View commit details
    Browse the repository at this point in the history
  57. Component.MergeWith(): skip changes due to un-set "other" Modified pr…

    …operty
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    c7d2f41 View commit details
    Browse the repository at this point in the history
  58. Component.MergeWith(): skip changes due to un-set "this+other" Scope …

    …property
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ddc71d2 View commit details
    Browse the repository at this point in the history
  59. Component.MergeWith(): update comments about Scope and NonNullableScope

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    5701a1c View commit details
    Browse the repository at this point in the history
  60. Component.MergeWith(): interrupt list processing as soon as we have a…

    … hit (handled a "tmp" target entry which was equivalent or equal to an incoming "obj" entry)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ce4df43 View commit details
    Browse the repository at this point in the history
  61. Component.MergeWith(): when preparing the "tmp" clone, skip "NonNulla…

    …ble" helper properties
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    993903d View commit details
    Browse the repository at this point in the history
  62. Component.MergeWith(): when copying back from the "tmp" clone to "thi…

    …s", skip "NonNullable" helper properties
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    f72f6b5 View commit details
    Browse the repository at this point in the history
  63. Component.MergeWith(): leave a TODO comment for code sharing eventually

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    50dea1f View commit details
    Browse the repository at this point in the history
  64. CycloneDX.Core/Json/Serializer.Serialization.cs: implement the one Se…

    …rialize(BomEntity) to rule them all
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    d93e2d2 View commit details
    Browse the repository at this point in the history
  65. CycloneDX.Core/Json/Serializer.Serialization.cs: comment away other i…

    …nternal Serialize() implementations
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    182b9cf View commit details
    Browse the repository at this point in the history
  66. CycloneDX.Core/Json/Serializer.Serialization.cs: tidy up Serialize(Bo…

    …mEntity implem)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    205c986 View commit details
    Browse the repository at this point in the history
  67. CycloneDX.Core/Json/Serializer.Serialization.cs: introduce SerializeC…

    …ompact(BomEntity) with minimal markup overhead and use it in BomEntity.Equals()
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ad26001 View commit details
    Browse the repository at this point in the history
  68. BomEntity: avoid caching in KnownTypeSerializers any default implemen…

    …tations for BomEntity itself as the handler for derived classes
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    a728449 View commit details
    Browse the repository at this point in the history
  69. Component.MergeWith(): fix comparison of enums

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    3d46dbc View commit details
    Browse the repository at this point in the history
  70. Component.MergeWith(): optimize detection of Nullable a bit

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    43a72f1 View commit details
    Browse the repository at this point in the history
  71. Component.MergeWith(): fix comparison of stubborn enums

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    c8b704e View commit details
    Browse the repository at this point in the history
  72. Introduce BomEntityListMergeHelperStrategy to tweak run-time behaviors

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    ffb3108 View commit details
    Browse the repository at this point in the history
  73. Merge.cs: Use BomEntityListMergeHelperStrategy for quick FlatMerge() …

    …over the big population of Boms, and a clean-up pass in the end to deduplicate equivalent but unequal entries
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    45c30f2 View commit details
    Browse the repository at this point in the history
  74. Merge.cs, BomEntity.cs: implement BomEntityListMergeHelperStrategy fo…

    …r quick and careless merges in BomEntityListMergeHelper<T> class
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    48fcc03 View commit details
    Browse the repository at this point in the history
  75. Merge.cs, BomEntity.cs: refactor BomEntityListMergeHelperStrategy for…

    … slow careful merges in BomEntityListMergeHelper<T> class, to also dedup input list1 and to not skip work due to null/empty inputs
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    483689e View commit details
    Browse the repository at this point in the history
  76. Merge.cs, BomEntity.cs et al: clean up commented-away experimental an…

    …d obsoleted code before PR
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    7c7aa82 View commit details
    Browse the repository at this point in the history
  77. Merge.cs, BomEntity.cs et al: address CI complaints (code style, etc.)

    ...and the bike-shed must be green!
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    2ee5906 View commit details
    Browse the repository at this point in the history
  78. BomEntity.cs: address CI complaints (protect prepared public lists an…

    …d dicts as immutable)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    d15e8ec View commit details
    Browse the repository at this point in the history
  79. BomEntity.cs: address CI complaints (protect helper class public fiel…

    …ds with getters/setters)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    7f3837e View commit details
    Browse the repository at this point in the history
  80. ListMergeHelper: update doc summary of the class

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    d54affe View commit details
    Browse the repository at this point in the history
  81. Merge branch 'flatmerge-dedup-squash' into privateBuild/20230814

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    49fc976 View commit details
    Browse the repository at this point in the history
  82. BomEntity.cs, ListMergeHelper.cs: avoid syntax that requires newer C#

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    1f4c12b View commit details
    Browse the repository at this point in the history
  83. BomEntity.cs, ListMergeHelper.cs: avoid syntax that requires newer C#

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    5e2f78e View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. ListMergeHelper.cs: avoid potential null dereference in logging

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    44ab3a8 View commit details
    Browse the repository at this point in the history
  2. ListMergeHelper.cs: avoid potential null dereference in logging

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    f8807ce View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2023

  1. Merge.cs: update comments

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    5620e17 View commit details
    Browse the repository at this point in the history
  2. Merge.cs: introduce CleanupSortLists() as last step, and ListMergeHel…

    …per::SortByAscending()/SortByDescending()
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    5406535 View commit details
    Browse the repository at this point in the history
  3. BomEntity: PoC CompareSelector() offload into classes

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    c17ac40 View commit details
    Browse the repository at this point in the history
  4. Revert "BomEntity: PoC CompareSelector() offload into classes"

    This reverts commit c17ac40.
    Too much hassle to cast Tuple<random, amount, of, type, args>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    4e6fea6 View commit details
    Browse the repository at this point in the history
  5. Merge.cs: update comments

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    880c416 View commit details
    Browse the repository at this point in the history
  6. Merge.cs: introduce CleanupSortLists() as last step, and ListMergeHel…

    …per::SortByAscending()/SortByDescending()
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    6932232 View commit details
    Browse the repository at this point in the history
  7. Merge.cs: inject this cyclonedx-cli script into metadata/tools[]

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    ef320e9 View commit details
    Browse the repository at this point in the history
  8. BomEntityListMergeHelper: be sure to use info from list1 if it is pre…

    …sent and unique
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    15bbfe0 View commit details
    Browse the repository at this point in the history
  9. BomEntityListMergeHelper: be sure to use info from list1 if it is pre…

    …sent and unique
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    e131cd0 View commit details
    Browse the repository at this point in the history
  10. Merge.cs: inject this cyclonedx-cli script into metadata/tools[]

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    48cc06f View commit details
    Browse the repository at this point in the history
  11. Address codacy CI warnings

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    3044b8d View commit details
    Browse the repository at this point in the history
  12. Merge.cs: account different object trees which wield a "BomRef" to ma…

    …ke sure we do not lose any
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    9049efa View commit details
    Browse the repository at this point in the history
  13. Merge.cs: comment away INJECTED-ERROR-FOR-TESTING

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    4376167 View commit details
    Browse the repository at this point in the history
  14. Merge.cs: account the "BomRef" of the bomSubject optionally coming fr…

    …om CLI arguments
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    35bc42b View commit details
    Browse the repository at this point in the history
  15. BomEntity.GetHashCode(): mix length of the serialized representation …

    …into its hash for a bit more randomness
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    65e0397 View commit details
    Browse the repository at this point in the history
  16. Merge branch 'flatmerge-dedup-squash' into privateBuild/20230821

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    1e788f6 View commit details
    Browse the repository at this point in the history
  17. Merge.cs: comment away INJECTED-ERROR-FOR-TESTING - reword for CI

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 21, 2023
    Configuration menu
    Copy the full SHA
    6c6cf70 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2023

  1. Merge.cs: comment away INJECTED-ERROR-FOR-TESTING - reword for CI

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    9946f2e View commit details
    Browse the repository at this point in the history
  2. Merge branch 'flatmerge-dedup-squash' into privateBuild/20230821

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    922a2b3 View commit details
    Browse the repository at this point in the history
  3. Component.cs: Equivalent(): refine based on spec and practical identi…

    …fying fields
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    5296596 View commit details
    Browse the repository at this point in the history
  4. Component.cs: Equivalent(): refine based on spec and practical identi…

    …fying fields
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    0ca4680 View commit details
    Browse the repository at this point in the history
  5. ListMergeHelper: refactor SortBy*() methods to minimize the amount of…

    … implementations behind various parameter-set variants
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    b61ac44 View commit details
    Browse the repository at this point in the history
  6. BomEntity: cache info about Sort() and Reverse() methods of construct…

    …ed list types
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    33a89ec View commit details
    Browse the repository at this point in the history
  7. BomEntity: implement a recursible static NormalizeList() to sort list…

    …s of BomEntity-derived types (optionally recursing into their properties which are lists of something)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    01c2215 View commit details
    Browse the repository at this point in the history
  8. ListMergeHelper.SortByImpl(): support calling BomEntity.NormalizeList…

    …() and pass the "recurse" option to it and back from it where applicable (for having the actual recursion)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    3073e00 View commit details
    Browse the repository at this point in the history
  9. ListMergeHelper: hack around type-less SortByAscending()/SortByDescen…

    …ding() variants
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    375a4a3 View commit details
    Browse the repository at this point in the history
  10. BomEntity: introduce interface IBomEntity to fiddle with inheritance

    UPDATE: Did not help make List<IBomEntity> easier.
    The List<> type does not really care about data types
    inside, just rejects them whichever way.
    
    So reflection stays...
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    57d45ee View commit details
    Browse the repository at this point in the history
  11. BomEntity: extend KnownTypeNormalizeList detection to cover IBomEntit…

    …y among fallbacks, and a more specific list type for derived classes
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    2208616 View commit details
    Browse the repository at this point in the history
  12. BomEntity and ListMergeHelper: fix calling of NormalizeList() and bac…

    …k to SortByImpl()
    
    ...if having to create copies of lists as a fake cast
    for List<AnotherType> and back counts as a "fix".
    But hey, it works!
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    157d660 View commit details
    Browse the repository at this point in the history
  13. BomEntity: create simpler NormalizeList() aliases with default settings

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    5ac86c1 View commit details
    Browse the repository at this point in the history
  14. Merge: simplify CleanupSortLists() by not keeping sort-filters in the…

    … method - move them to class definitions and use new BomEntity.NormalizeList() codepath
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    9843d5d View commit details
    Browse the repository at this point in the history
  15. Drop IBomEntity as a failed and useless experiment

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    568ddc2 View commit details
    Browse the repository at this point in the history
  16. ListMergeHelper: refactor SortBy*() methods to minimize the amount of…

    … implementations behind various parameter-set variants
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    3262d6d View commit details
    Browse the repository at this point in the history
  17. BomEntity: cache info about Sort() and Reverse() methods of construct…

    …ed list types
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    f7844dc View commit details
    Browse the repository at this point in the history
  18. BomEntity: implement a recursible static NormalizeList() to sort list…

    …s of BomEntity-derived types (optionally recursing into their properties which are lists of something)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    f4121e0 View commit details
    Browse the repository at this point in the history
  19. ListMergeHelper.SortByImpl(): support calling BomEntity.NormalizeList…

    …() and pass the "recurse" option to it and back from it where applicable (for having the actual recursion)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    9bd6c02 View commit details
    Browse the repository at this point in the history
  20. ListMergeHelper: hack around type-less SortByAscending()/SortByDescen…

    …ding() variants
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    2101308 View commit details
    Browse the repository at this point in the history
  21. BomEntity: introduce interface IBomEntity to fiddle with inheritance

    UPDATE: Did not help make List<IBomEntity> easier.
    The List<> type does not really care about data types
    inside, just rejects them whichever way.
    
    So reflection stays...
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    c1cd826 View commit details
    Browse the repository at this point in the history
  22. BomEntity: extend KnownTypeNormalizeList detection to cover IBomEntit…

    …y among fallbacks, and a more specific list type for derived classes
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    1550c27 View commit details
    Browse the repository at this point in the history
  23. BomEntity and ListMergeHelper: fix calling of NormalizeList() and bac…

    …k to SortByImpl()
    
    ...if having to create copies of lists as a fake cast
    for List<AnotherType> and back counts as a "fix".
    But hey, it works!
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    e0555bf View commit details
    Browse the repository at this point in the history
  24. BomEntity: create simpler NormalizeList() aliases with default settings

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    45ad014 View commit details
    Browse the repository at this point in the history
  25. Merge: simplify CleanupSortLists() by not keeping sort-filters in the…

    … method - move them to class definitions and use new BomEntity.NormalizeList() codepath
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    0a101e9 View commit details
    Browse the repository at this point in the history
  26. Drop IBomEntity as a failed and useless experiment

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    283544b View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2023

  1. BomMerge.cs: fix codacy (bogus) warnings

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    06343c6 View commit details
    Browse the repository at this point in the history
  2. BomEntity: KnownEntityTypeLists[]: track BomEntity.NormalizeList() too

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    0641912 View commit details
    Browse the repository at this point in the history
  3. Merge: CleanupSortLists(): make use of recursive sorting of BomEntity…

    … objects
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    c2c2e6f View commit details
    Browse the repository at this point in the history
  4. Merge branch 'flatmerge-dedup-squash' into privateBuild/20230821

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    a1dfacf View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2023

  1. BomEntity and derived types: extend MergeWith() API signature to hand…

    …le a BomEntityListMergeHelperStrategy argument
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    0449e94 View commit details
    Browse the repository at this point in the history
  2. BomEntityListMergeHelperStrategy: add and explain the renameConflicti…

    …ngComponents option
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    c5af163 View commit details
    Browse the repository at this point in the history
  3. Merge.cs: refactor with ReferThisToolkitMetadata() and update some co…

    …mments
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    90951dd View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2023

  1. Bom.cs: add ability to update Bom document basic metadata (Timestamp,…

    … SerialNumber, Version, Metadata/Tools[] for current library and its consumer script)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    ff0cff9 View commit details
    Browse the repository at this point in the history
  2. Merge.cs: refactor away ReferThisToolkitMetadata() in favor of Bom.Bo…

    …mMetadataReferThisToolkit()
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    4a0f409 View commit details
    Browse the repository at this point in the history
  3. BomEntityListMergeHelperStrategy: add toggles to request calls to Bom…

    ….BomMetadataUpdate*() and Bom.BomMetadataReferThisToolkit()
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    316098d View commit details
    Browse the repository at this point in the history
  4. Merge.cs: refactor updates of Bom Timestamp and similar basic metadat…

    …a via BomEntityListMergeHelperStrategy toggles
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Aug 30, 2023
    Configuration menu
    Copy the full SHA
    0964657 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2023

  1. Bom.cs: add ability to update Bom document basic metadata (Timestamp,…

    … SerialNumber, Version, Metadata/Tools[] for current library and its consumer script)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    9b232d5 View commit details
    Browse the repository at this point in the history
  2. Merge.cs: use result.BomMetadataUpdate() and BomMetadataReferThisTool…

    …kit() to pre-init HierarchicalMerge() and FlatMerge() output object
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    00287b9 View commit details
    Browse the repository at this point in the history
  3. Bom.cs: modernize BomMetadataReferThisToolkit() for cyclonedx-dotnet-…

    …library 6.0.0 with its intermediate ToolChoices type (for CDX spec 1.5)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    cd750b9 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'v6.0.0' into privateBuild/20230914

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    67c3cdb View commit details
    Browse the repository at this point in the history
  5. Bom.cs: BomMetadataUpdateSerialNumberVersion(): address static analys…

    …is concerns
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    d12445c View commit details
    Browse the repository at this point in the history
  6. Merge branch 'bom-self-metadata' into privateBuild/20230914

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    8e1fc0c View commit details
    Browse the repository at this point in the history
  7. Merge.cs: FlatMerge(): if we did pre-populate result...Tools[], then …

    …do not overwrite it with the incoming set of merged values - merge them again
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    cdbb139 View commit details
    Browse the repository at this point in the history
  8. Merge.cs: HierarchicalMerge(): we did pre-populate result...Tools[], …

    …no need to check and reinit them
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 13, 2023
    Configuration menu
    Copy the full SHA
    9fdf96e View commit details
    Browse the repository at this point in the history

Commits on Sep 14, 2023

  1. Merge remote-tracking branch 'upstream/main' into flatmerge-dedup-squash

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    14084c5 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'flatmerge-dedup-squash' into privateBuild/20230914

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    d52517d View commit details
    Browse the repository at this point in the history
  3. Bom.cs: fix compilation warnings with obsoleted Tool class

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    2e87f5d View commit details
    Browse the repository at this point in the history
  4. Merge.cs: fix compilation warnings with obsoleted Tool class

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    d29e330 View commit details
    Browse the repository at this point in the history
  5. Merge branch 'bom-self-metadata' into privateBuild/20230914

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    9479e4d View commit details
    Browse the repository at this point in the history
  6. Merge branch 'flatmerge-dedup-squash' into privateBuild/20230914

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 14, 2023
    Configuration menu
    Copy the full SHA
    9e3cd74 View commit details
    Browse the repository at this point in the history

Commits on Sep 22, 2023

  1. Make new classes introduced with cyclonedx-dotnet-library v6.0.0 rele…

    …ase (for CycloneDX 1.5 spec) descendants of BomEntity
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    9e808cb View commit details
    Browse the repository at this point in the history
  2. Make new classes introduced with cyclonedx-dotnet-library v6.0.0 rele…

    …ase (for CycloneDX 1.5 spec) descendants of BomEntity
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 22, 2023
    Configuration menu
    Copy the full SHA
    4829101 View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. Bom: introduce GetBomRefsByContainer() and transposed GetBomRefsWithC…

    …ontainer() helpers, and RenameBomRef() feature
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    545c218 View commit details
    Browse the repository at this point in the history
  2. BomEntity.cs: Introduce BomWalkResult helper class

    Walk a BomEntity (typically whole document) and store the
    discovered results for merge, validation, etc. purposes.
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    3a10bf9 View commit details
    Browse the repository at this point in the history
  3. Bom.cs: moved most of BomRef discovery PoC/logic into a BomWalkResult

    ...using the helper class to reduce reference tossing and to help keep
    track of related data collections
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    2640634 View commit details
    Browse the repository at this point in the history
  4. BomWalkResult: add SerializeBomEntity_BomRefs() helper

    ...to iterate the actual search for bom-refs
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    82bef90 View commit details
    Browse the repository at this point in the history
  5. BomWalkResult: move big comments to SerializeBomEntity_BomRefs()

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    86231b3 View commit details
    Browse the repository at this point in the history
  6. BomWalkResult: use class props for results, not PoC dicts

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    e950f08 View commit details
    Browse the repository at this point in the history
  7. BomWalkResult: SerializeBomEntity_BomRefs(): try/catch GetValue()

    ...to rule out null items earlier in the loop
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    1d3232b View commit details
    Browse the repository at this point in the history
  8. BomWalkResult: SerializeBomEntity_BomRefs(): fix naming for objType

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    cc59a9d View commit details
    Browse the repository at this point in the history
  9. BomWalkResult: SerializeBomEntity_BomRefs(): check for "NonNullable*"…

    … prop names
    
    ...to avoid exception hiccups in debugger
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    270f768 View commit details
    Browse the repository at this point in the history
  10. BomWalkResult: SerializeBomEntity_BomRefs(): with the name check for …

    …"NonNullable*", try/catch overhead is not needed anymore
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    8ee6a67 View commit details
    Browse the repository at this point in the history
  11. BomWalkResult: SerializeBomEntity_BomRefs(): speed up check for "bom-…

    …ref"
    
    ...name/annotation by splitting into optional refinement steps
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    50e5bee View commit details
    Browse the repository at this point in the history
  12. BomWalkResult: SerializeBomEntity_BomRefs(): speed up objProperties[]…

    … iteration by using the cache from BomEntity
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    260e95f View commit details
    Browse the repository at this point in the history
  13. BomWalkResult: rename GetBomRefsByContainer() => GetBomRefsInContaine…

    …rs()
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    28e9132 View commit details
    Browse the repository at this point in the history
  14. Merge.cs: PoC with BomWalkResult in the loop

    Have some calls to gauge timing and walk in debugger
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    d27a1a5 View commit details
    Browse the repository at this point in the history
  15. BomWalkResult: add poor-man's profiling

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    45af0d0 View commit details
    Browse the repository at this point in the history
  16. BomWalkResult: minimize lookups into dict by complex key

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    1daa940 View commit details
    Browse the repository at this point in the history
  17. BomWalkResult: SerializeBomEntity_BomRefs(): avoid dict key lookup

    ...via hashing (of BomEntity) which is catastrophically slow
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    dd90ba3 View commit details
    Browse the repository at this point in the history
  18. BomWalkResult: add a toggle for debugPerformance

    Toggles both accounting and reporting, each has its measurable overheads
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    ef7f5c4 View commit details
    Browse the repository at this point in the history
  19. BomWalkResult: constrain evaluation of bom-ref fields to string types

    Valid assumption for current CDX spec versions (1.5 and older)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    bf591fc View commit details
    Browse the repository at this point in the history
  20. BomWalkResult: add tracking of "string Ref" back-links

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    851c978 View commit details
    Browse the repository at this point in the history
  21. BomEntity.cs: extend the family with IBomEntity* interfaces

    ...to tag certain use-case patterns in source: this is relatively compact
    in terms of copy-paste, and cheaper for generalized approach than "blind"
    reflection-based walks.
    
    Can eventually optimize BomWalkResult: SerializeBomEntity_BomRefs(), but
    even more so - simplify writing consumers of those walk results that would
    act on existing object instances in a Bom document.
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    e1da8c6 View commit details
    Browse the repository at this point in the history
  22. BomWalkResult: clarify comments about ref/bomref occurences in spec

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    288ef31 View commit details
    Browse the repository at this point in the history
  23. BomWalkResult: add tracking of "List<string> Something" back-links

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    3b203ff View commit details
    Browse the repository at this point in the history

Commits on Oct 5, 2023

  1. Bom.cs: introduce an AssertThisBomWalkResult() helper

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    e844169 View commit details
    Browse the repository at this point in the history
  2. BomWalkResult: do not constrain refs that they may not be pure whites…

    …pace (must be not-empty though)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    686ab5d View commit details
    Browse the repository at this point in the history
  3. BomEntity: make sure interfaces IBomEntityWithRefType_String_BomRef a…

    …nd IBomEntityWithRefLinkType_String_Ref declare the getter/setter methods for easy generic use
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    574cdd3 View commit details
    Browse the repository at this point in the history
  4. BomEntity: BomWalkResult: rectify drilling into EvidenceIdentity/Tool…

    …s[] vs. (probably lacking) EvidenceTools[]
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    75d3c17 View commit details
    Browse the repository at this point in the history
  5. Bom.cs: implement the logic for RenameBomRef() method

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    ee524e7 View commit details
    Browse the repository at this point in the history
  6. Mark suitable classes with IBomEntityWithRefType_String_BomRef

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    8045799 View commit details
    Browse the repository at this point in the history
  7. Mark suitable classes with IBomEntityWithRefLinkType_String_Ref and I…

    …BomEntityWithRefLinkType_StringList
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    a9d56a1 View commit details
    Browse the repository at this point in the history
  8. Implement GetRefLinkConstraints() for classes marked with IBomEntityW…

    …ithRefLinkType* interfaces
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    f588a4e View commit details
    Browse the repository at this point in the history
  9. Bom.cs, BomEntity.cs: common base-class default implementation of get…

    …ter/setter methods
    
    Could not just declare in interface anticipated getter/setter methods (for zero copy-pasta) - that conflicted with the later generated getters/setter actual methods.
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    e2473cc View commit details
    Browse the repository at this point in the history
  10. Bom.cs: drop commented-away code about RenameBomRef() alternative exp…

    …eriments
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    f5046ab View commit details
    Browse the repository at this point in the history
  11. Merge branch 'flatmerge-dedup-squash-bomwalk' as of 2023-10-05 into f…

    …latmerge-dedup-squash
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 5, 2023
    Configuration menu
    Copy the full SHA
    8a275d4 View commit details
    Browse the repository at this point in the history

Commits on Oct 13, 2023

  1. Address Codacy complaints: redundant parentheses in new Dict<...>() {…

    …...}
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    4b8e1ae View commit details
    Browse the repository at this point in the history
  2. Address Codacy complaints: redundant parentheses in new List<...>() {…

    …...}
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    c944324 View commit details
    Browse the repository at this point in the history
  3. Address Codacy complaints: make use of namedObjectContainer, convert …

    …some messages to formatting strings, wrap longer others
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    e6f6070 View commit details
    Browse the repository at this point in the history
  4. Address Codacy complaints: make use of referrerModified for return va…

    …lue, as planned
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    92a5e26 View commit details
    Browse the repository at this point in the history
  5. Address Codacy complaints: convert some properties to private with ge…

    …tter/setter; avoid initializing to default value du-jour
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    7a49466 View commit details
    Browse the repository at this point in the history
  6. Address Codacy complaints: code example is not commented-away code (a…

    …dd pragma for Sonar)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    0a530f3 View commit details
    Browse the repository at this point in the history
  7. Address Codacy complaints: avoid needless cast

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    a06d465 View commit details
    Browse the repository at this point in the history
  8. BomEntity.cs: add GetRefsInContainers() for completeness (essentially…

    … returns dictBackrefs)
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    c911bd4 View commit details
    Browse the repository at this point in the history
  9. Address Codacy complaints: take BomWalkResult.dictBackrefs private

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    c2e850d View commit details
    Browse the repository at this point in the history
  10. Address Codacy complaints: take BomWalkResult.dictRefsInContainers pr…

    …ivate
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    575c505 View commit details
    Browse the repository at this point in the history
  11. Bom.cs: add GetRefsInContainers() for completeness

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    21487a0 View commit details
    Browse the repository at this point in the history
  12. Address Codacy complaints: redundant parentheses in new Dict<...>() {…

    …...}
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    590a619 View commit details
    Browse the repository at this point in the history
  13. Address Codacy complaints: make use of referrerModified for return va…

    …lue, as planned - correct fix
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    16e1300 View commit details
    Browse the repository at this point in the history
  14. Address Codacy complaints: twist back the needed assignment of debugP…

    …erformance even if privatized with getter/setter
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    fe41274 View commit details
    Browse the repository at this point in the history
  15. Address Codacy complaints: be sure to not stop the stopWatchWalkTotal…

    … in (unlikely) case it is null
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    e66bd4f View commit details
    Browse the repository at this point in the history
  16. Address Codacy complaints: shut them off for debugPerformance being p…

    …re-initialized or not (and a definitive value wins over compiler default du-jour), because Sonar analyzer wants opposite things
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    0b9fdb6 View commit details
    Browse the repository at this point in the history
  17. Address Codacy complaints fallout: add explicit getter/setter for Bom…

    …WalkResult.bomRoot
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    2a2b7b5 View commit details
    Browse the repository at this point in the history
  18. Address Codacy complaints fallout: fix signature for Bom.GetRefsInCon…

    …tainers() wrap
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 13, 2023
    Configuration menu
    Copy the full SHA
    86c38ce View commit details
    Browse the repository at this point in the history

Commits on Oct 14, 2023

  1. Address Codacy complaints fallout: *public*+get/set = love: fix back …

    …BomWalkResult.bomRoot
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 14, 2023
    Configuration menu
    Copy the full SHA
    3c48440 View commit details
    Browse the repository at this point in the history
  2. Component.cs: update comment

    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 14, 2023
    Configuration menu
    Copy the full SHA
    3d553e9 View commit details
    Browse the repository at this point in the history
  3. BomEntity.cs: BomWalkResult: update comment about performance-account…

    …ing info exposure
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 14, 2023
    Configuration menu
    Copy the full SHA
    5c1e10c View commit details
    Browse the repository at this point in the history
  4. Address Codacy complaints fallout: *public*+get/set = love: fix back …

    …BomWalkResult.debugPerformance
    
    Signed-off-by: Jim Klimov <jimklimov@gmail.com>
    jimklimov committed Oct 14, 2023
    Configuration menu
    Copy the full SHA
    2e52406 View commit details
    Browse the repository at this point in the history