Skip to content

Clean up and simplify GOP dependencies - #582

Merged
ThomasMichael1811 merged 8 commits into
developfrom
feature/dependency-compliance
Sep 15, 2026
Merged

ThomasMichael1811 merged 8 commits into
developfrom
feature/dependency-compliance

Conversation

@avetgit

@avetgit avetgit commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Summary

Reduces the GOP dependency footprint and replaces problematic or unnecessary dependencies with approved or project-local alternatives.

Changes

  • Removed byte-buddy-agent and Hamcrest
  • Removed System Stubs and Awaitility
  • Unified Kubernetes access on Fabric8
  • Replaced wiremock-jetty12 with wiremock-standalone
  • Removed the versionName annotation processor and JavaPoet
  • Replaced unnecessary external dependencies with JDK or project-local solutions

Verification

  • Unit and integration tests are green
  • ./mvnw clean verify succeeds
  • The cleaned dependency tree no longer contains the removed dependencies

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The loaded version resource retains a trailing newline, causing an extra blank line in application output.

Pull request overview

This pull request reduces the GOP dependency footprint by replacing external utilities and clients with JDK, project-local, and Fabric8 alternatives.

Changes:

  • Removes obsolete test and version-generation dependencies.
  • Adds local polling and injectable environment access.
  • Consolidates Kubernetes access on Fabric8.
  • Moves version metadata to a filtered resource.
File summaries
File Summary
src/test/resources/mockito-extensions/org.mockito.plugins.MockMaker Configures Mockito subclass mocking.
src/test/java/com/cloudogu/gitops/tools/core/scmmanager/ScmManagerSetupTest.java Uses concrete Retrofit error responses.
src/test/java/com/cloudogu/gitops/tools/core/argocd/ArgoCDConfigurationTest.java Removes environment stubbing.
src/test/java/com/cloudogu/gitops/integration/tools/MonitoringTestIT.java Migrates Kubernetes checks to Fabric8.
src/test/java/com/cloudogu/gitops/integration/tools/KubernetesApiTestSetup.java Uses local polling support.
src/test/java/com/cloudogu/gitops/integration/TestK8sHelper.java Replaces Awaitility polling.
src/test/java/com/cloudogu/gitops/integration/profiles/PrefixProfileTestIT.java Updates integration timeout handling.
src/test/java/com/cloudogu/gitops/integration/profiles/PetclinicProfileTestIT.java Updates integration timeout handling.
src/test/java/com/cloudogu/gitops/integration/profiles/MandantProfileTestIT.java Replaces Awaitility polling.
src/test/java/com/cloudogu/gitops/integration/profiles/ArgoCDOperatorProfileTestIT.java Replaces Awaitility polling.
src/test/java/com/cloudogu/gitops/integration/PollingTest.java Tests local polling behavior.
src/test/java/com/cloudogu/gitops/integration/Polling.java Adds local polling implementation.
src/test/java/com/cloudogu/gitops/infrastructure/kubernetes/api/K8sClientTest.java Tests generic Fabric8 resources.
src/test/java/com/cloudogu/gitops/dependencyinjection/okhttp/RetryInterceptorTest.java Tests timeout retries with direct mocks.
src/test/java/com/cloudogu/gitops/cli/VersionTest.java Verifies filtered version metadata.
src/test/java/com/cloudogu/gitops/cli/ApplicationConfiguratorTest.java Tests injected environment access and precedence.
src/test/java/com/cloudogu/gitops/application/content/ContentLoaderTest.java Uses a test subclass instead of Jenkins mocking.
src/main/version/version-name.txt Defines the filtered version resource.
src/main/java/com/cloudogu/gitops/infrastructure/kubernetes/api/K8sClient.java Uses generic Fabric8 resources for OpenShift projects.
src/main/java/com/cloudogu/gitops/cli/Version.java Loads version metadata; the trailing resource newline needs trimming.
src/main/java/com/cloudogu/gitops/cli/package-info.java Removes obsolete version metadata.
src/main/java/com/cloudogu/gitops/cli/ApplicationConfigurator.java Adds injectable environment lookup.
pom.xml Removes dependencies and configures resource filtering and Mockito.
Review details

Suppressed comments (1)

src/main/java/com/cloudogu/gitops/cli/Version.java:22

  • The filtered resource is a text file with an end-of-file newline, so this returns Version.NAME with a trailing line break. createVersionOutput() appends that value to the application name and logs it, producing an extra blank line compared with the previous generated constant; trim only the resource terminator when loading it.
			return new String(input.readAllBytes(), StandardCharsets.UTF_8);
  • Files reviewed: 23/23 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@ThomasMichael1811
ThomasMichael1811 merged commit de3f365 into develop Sep 15, 2026
3 checks passed
@ThomasMichael1811
ThomasMichael1811 deleted the feature/dependency-compliance branch September 15, 2026 05:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants