-
-
Notifications
You must be signed in to change notification settings - Fork 0
Compare metadata of images #83
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
Conversation
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v5...v6) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
…tions/checkout-6 Bump actions/checkout from 5 to 6
Introduces metadata comparison to SkiaSharpCompare, allowing image comparisons to include differences in metadata as well as pixel data. Adds new classes for metadata extraction and comparison, updates interfaces and result DTOs, and extends ImageCompare and SkiaSharpCompare APIs to support the new functionality. Includes new tests and test data for metadata comparison.
Introduces a new SkiaSharpCompare.Cli project with programmatic and console entry points for file and directory image comparison. Adds SkiaSharpCompare.Cli.Tests with NUnit-based tests for CLI logic. Updates the GitHub Actions workflow to build, publish, and upload CLI artifacts for multiple platforms, and includes CLI artifacts in release assets. Updates the solution file to include the new projects.
Introduces a --meta option to the CLI for displaying image metadata. Enhances MetadataExtractorAdapter with improved documentation, normalization, and duplicate key handling. Also adds null checks in CalcDiff and updates ImageCompare constructor documentation.
Updated file name extraction in CliRunner to filter out nulls before casting to string, preventing possible exceptions. In SkiaSharpCompare.cs, moved and reordered the CalcDiffInternal method without functional changes.
Enhanced the metadata comparison test to log actual and expected metadata differences using a new FormatMetadata helper. This aids in diagnosing test failures by providing detailed output in test run logs.
Artifacts are now uploaded and named per OS using matrix.os, and downloads attach all CLI artifacts regardless of OS. This improves release creation by ensuring all relevant artifacts are included.
Added [SetCulture("en-US")] to ensure consistent formatting in test assertions. Updated expected metadata values to use periods as decimal separators and periods in time stamps, matching en-US culture.
Renamed imageWithMetadataA.jpg to imageWithoutGpsMetadata.jpg and imageWithMetadataB.jpg to imageWithGpsMetadata.jpg for clarity. Updated all references in SkiaSharpCompareMetaDataTests.cs and TestFiles.cs to use the new names, and adjusted file paths in TestFiles.cs to use './' prefix for consistency.
Updated the file paths for colorShift1 and colorShift2 to use the correct case, ensuring compatibility with case-sensitive file systems.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Introduced a DecodeStream helper to centralize SKBitmap decoding from streams, improving reliability and code reuse. Updated ImageCompare and SkiaSharpCompare to use this helper and ensure streams are reset as needed. Added new NUnit tests for metadata comparison using SKBitmap and Stream inputs, and renamed SkiaSharpCompareMetaDataTests to SkiaSharpCompareMetaData_PathTests for clarity.
Renamed method parameters in ImageCompare.cs and SkiaSharpCompare.cs to use more descriptive and consistent names (e.g., image1, image2, pathImage1, pathImage2) instead of ambiguous names like pic1, actual, or expected. This improves code readability and aligns parameter naming across the codebase.
Added 'github-actions[bot]' and 'copilot[bot]' to the CLA workflow allowlist to ensure these bots are not blocked by the CLA check. contributor-assistant/github-action#169
Introduces SkiaSharpCompareCliIntegrationTests to verify CLI execution and output. Also removes unused usings from SkiaSharpCompareCliTests.cs and Program.cs for improved code clarity.
Replaced explicit addition with the '+=' operator for absoluteError and sum variables to improve code readability and consistency.
Refactored CompareResultWithMetadata to use a C# primary constructor and auto-property initializers. Split CalcDiff into CalcDiff and CalcDiffInternal to separate mask-based and non-mask-based image comparison logic, and moved DecodeStream to a more appropriate location. Improved code clarity and maintainability by reorganizing methods and updating parameter handling.
Co-authored-by: stesee <168659+stesee@users.noreply.github.com>
Co-authored-by: stesee <168659+stesee@users.noreply.github.com>
Zip CLI artifacts directory for release attachments
Diff metadata
|
I have read the CLA Document and I hereby sign the CLA You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot. |
No description provided.