Skip to content

Remove "system_dependency_graph" key from analysis.json #130

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

rahlk
Copy link
Collaborator

@rahlk rahlk commented Mar 12, 2025

This PR removes the misnamed system_dependency_graph key from the output analysis.json file, keeping only the call_graph key which accurately represents the data.

Motivation and Context

The key system_dependency_graph in the output analysis.json is a misnomer that doesn't accurately reflect the data it contains. This can lead to confusion for users who expect this key to represent something different than what it actually contains. Standardizing on the more accurate call_graph terminology improves clarity and consistency in the codebase.

How Has This Been Tested?

The change has been tested by running the analysis tool on multiple codebases and verifying that:

  1. The output analysis.json file only contains the call_graph key
  2. No data is lost during the removal of the duplicate system_dependency_graph key
  3. All regression tests now run.
> Task :checkKotlinGradlePluginConfigurationErrors SKIPPED
> Task :compileKotlin NO-SOURCE
> Task :compileJava UP-TO-DATE
> Task :processResources UP-TO-DATE
> Task :classes UP-TO-DATE
> Task :jar UP-TO-DATE
> Task :compileTestKotlin NO-SOURCE
> Task :compileTestJava UP-TO-DATE
> Task :processTestResources UP-TO-DATE
> Task :testClasses UP-TO-DATE
> Task :test
[Test worker] INFO org.testcontainers.images.PullPolicy - Image pull policy will be performed by: DefaultPullPolicy()
[Test worker] INFO org.testcontainers.utility.ImageNameSubstitutor - Image name substitution will be performed by: DefaultImageNameSubstitutor (composite of 'ConfigurationFileImageNameSubstitutor' and 'PrefixingImageNameSubstitutor')
[Test worker] INFO org.testcontainers.dockerclient.DockerClientProviderStrategy - Loaded org.testcontainers.dockerclient.UnixSocketClientProviderStrategy from ~/.testcontainers.properties, will try it first
[Test worker] INFO org.testcontainers.dockerclient.DockerClientProviderStrategy - Found Docker environment with local Unix socket (unix:///var/run/docker.sock)
[Test worker] INFO org.testcontainers.DockerClientFactory - Docker host IP address is localhost
[Test worker] INFO org.testcontainers.DockerClientFactory - Connected to docker: 
  Server Version: 4.9.4
  API Version: 1.41
  Operating System: fedora
  Total Memory: 7916 MB
[Test worker] INFO tc.testcontainers/ryuk:0.5.1 - Creating container for image: testcontainers/ryuk:0.5.1
[Test worker] INFO tc.testcontainers/ryuk:0.5.1 - Container testcontainers/ryuk:0.5.1 is starting: 524070d435b85c16af92feee810ee9ad7ce48d1a331b5574cd8619c6606f617b
[Test worker] INFO tc.testcontainers/ryuk:0.5.1 - Container testcontainers/ryuk:0.5.1 started in PT0.286901S
[Test worker] INFO org.testcontainers.utility.RyukResourceReaper - Ryuk started - will monitor and terminate Testcontainers containers on JVM exit
[Test worker] INFO org.testcontainers.DockerClientFactory - Checking the system...
[Test worker] INFO org.testcontainers.DockerClientFactory - ✔︎ Docker server version should be at least 1.6.0
[Test worker] INFO tc.ubuntu:latest - Creating container for image: ubuntu:latest
[Test worker] INFO tc.ubuntu:latest - Container ubuntu:latest is starting: dfed64a194163b251ee448907fbd4b76d557ee7da2eee43342160609269e2a7d
[Test worker] INFO tc.ubuntu:latest - Container ubuntu:latest started in PT1.18194S
[Test worker] INFO tc.maven:3.8.3-openjdk-17 - Creating container for image: maven:3.8.3-openjdk-17
[Test worker] INFO tc.maven:3.8.3-openjdk-17 - Container maven:3.8.3-openjdk-17 is starting: 0781ec074737cc582fcad9f33eb02930e6f7357ef8bd26685b8a49a9d9c9d850
[Test worker] INFO tc.maven:3.8.3-openjdk-17 - Container maven:3.8.3-openjdk-17 started in PT0.776211S
Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
For more on this, please refer to https://docs.gradle.org/8.9/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.
BUILD SUCCESSFUL in 3m 1s
6 actionable tasks: 1 executed, 5 up-to-date
5:53:09 PM: Execution finished ':test --tests "com.ibm.cldk.CodeAnalyzerIntegrationTest"'.

Breaking Changes

This is a breaking change for any users or tools that specifically reference the system_dependency_graph key in the analysis.json file. They will need to update their code to use call_graph instead.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

Additional context

This change is part of an effort to improve naming consistency throughout the codebase. Any documentation that references the old key name has also been updated to reflect this change.

Signed-off-by: Rahul Krishna <i.m.ralk@gmail.com>
@rahlk rahlk added the bug Something isn't working label Mar 12, 2025
@rahlk rahlk requested review from sinha108 and pavuluri March 12, 2025 21:57
@rahlk rahlk self-assigned this Mar 12, 2025
@rahlk rahlk merged commit 676e267 into main Mar 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants