Add PHP Analyzer Plugin and Composer Lock Data Handling
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Implemented the PhpAnalyzerPlugin to analyze PHP projects. - Created ComposerLockData class to represent data from composer.lock files. - Developed ComposerLockReader to load and parse composer.lock files asynchronously. - Introduced ComposerPackage class to encapsulate package details. - Added PhpPackage class to represent PHP packages with metadata and evidence. - Implemented PhpPackageCollector to gather packages from ComposerLockData. - Created PhpLanguageAnalyzer to perform analysis and emit results. - Added capability signals for known PHP frameworks and CMS. - Developed unit tests for the PHP language analyzer and its components. - Included sample composer.lock and expected output for testing. - Updated project files for the new PHP analyzer library and tests.
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
using System;
|
||||
using System.Collections.Immutable;
|
||||
|
||||
namespace StellaOps.Excititor.Core.Observations;
|
||||
|
||||
/// <summary>
|
||||
/// Minimal observation reference used in linkset updates while preserving Aggregation-Only semantics.
|
||||
/// </summary>
|
||||
public sealed record VexLinksetObservationRefCore(
|
||||
string ObservationId,
|
||||
string ProviderId,
|
||||
string Status,
|
||||
double? Confidence,
|
||||
ImmutableDictionary<string, string> Attributes)
|
||||
{
|
||||
public static VexLinksetObservationRefCore Create(
|
||||
string observationId,
|
||||
string providerId,
|
||||
string status,
|
||||
double? confidence,
|
||||
ImmutableDictionary<string, string>? attributes = null)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(observationId);
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(providerId);
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(status);
|
||||
|
||||
return new VexLinksetObservationRefCore(
|
||||
observationId.Trim(),
|
||||
providerId.Trim(),
|
||||
status.Trim(),
|
||||
confidence,
|
||||
attributes ?? ImmutableDictionary<string, string>.Empty);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user