<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Query Filter</title>
    <description>The latest articles on DEV Community by Query Filter (@query_filter_591122b53770).</description>
    <link>https://dev.to/query_filter_591122b53770</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3537837%2F9949c594-a967-47f3-93fa-058b6e1bece1.jpg</url>
      <title>DEV Community: Query Filter</title>
      <link>https://dev.to/query_filter_591122b53770</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/query_filter_591122b53770"/>
    <language>en</language>
    <item>
      <title>gradle-60</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Thu, 30 Jul 2026 20:02:32 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-60-40i3</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-60-40i3</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gradle"&gt;&lt;code&gt;&lt;span class="n"&gt;tasks&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;register&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"listRepos"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;doLast&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;allprojects&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="n"&gt;p&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
            &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"\nProject: ${p.name}"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"--- Project Repositories ---"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;repositories&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;each&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="n"&gt;repo&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hasProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'url'&lt;/span&gt;&lt;span class="o"&gt;))&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
                    &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"  ${repo.name}: ${repo.url}"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
                &lt;span class="o"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;}&lt;/span&gt;
            &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"--- Buildscript Repositories ---"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;p&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;buildscript&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;repositories&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;each&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="n"&gt;repo&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;hasProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'url'&lt;/span&gt;&lt;span class="o"&gt;))&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
                    &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"  ${repo.name}: ${repo.url}"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
                &lt;span class="o"&gt;}&lt;/span&gt;
            &lt;span class="o"&gt;}&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>gradle-59</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Thu, 30 Jul 2026 19:59:36 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-59-2k4p</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-59-2k4p</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight gradle"&gt;&lt;code&gt;&lt;span class="n"&gt;tasks&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;register&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"listRepos"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="n"&gt;doLast&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;allprojects&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
            &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"\nProject: $name"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"--- Project Repositories ---"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;repositories&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="n"&gt;repo&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;MavenArtifactRepository&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"  ${repo.name}: ${repo.url}"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;}&lt;/span&gt;
            &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"--- Buildscript Repositories ---"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;buildscript&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;repositories&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;forEach&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt; &lt;span class="n"&gt;repo&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;
                &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;repo&lt;/span&gt; &lt;span class="n"&gt;is&lt;/span&gt; &lt;span class="n"&gt;MavenArtifactRepository&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"  ${repo.name}: ${repo.url}"&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
            &lt;span class="o"&gt;}&lt;/span&gt;
        &lt;span class="o"&gt;}&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>gradle-58</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Thu, 30 Jul 2026 16:37:12 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-58-nc3</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-58-nc3</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/CitiInternal/165889.ui-platform.ui-platform-docs.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>gradle-57</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Thu, 30 Jul 2026 16:22:29 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-57-20ia</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-57-20ia</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;powershell&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;-Command&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"(Invoke-WebRequest -Uri 'https://example.com/page').ParsedHtml.body.innerText"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;output.txt&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>gradle-56</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Wed, 29 Jul 2026 19:59:44 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-56-oco</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-56-oco</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight java"&gt;&lt;code&gt;&lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="kd"&gt;enum&lt;/span&gt; &lt;span class="nc"&gt;EodFlowType&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="no"&gt;ORDER_EXECUTION&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;""&lt;/span&gt;&lt;span class="o"&gt;),&lt;/span&gt;
    &lt;span class="no"&gt;RFQ&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;":RFQ"&lt;/span&gt;&lt;span class="o"&gt;),&lt;/span&gt;
    &lt;span class="no"&gt;RISK_BREACH&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s"&gt;":RISKBREACH"&lt;/span&gt;&lt;span class="o"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// or ":RISK_BREACH" depending on requirements&lt;/span&gt;

    &lt;span class="kd"&gt;private&lt;/span&gt; &lt;span class="kd"&gt;final&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;regionSuffix&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;

    &lt;span class="nc"&gt;EodFlowType&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="n"&gt;regionSuffix&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;this&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;regionSuffix&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;regionSuffix&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;

    &lt;span class="kd"&gt;public&lt;/span&gt; &lt;span class="nc"&gt;String&lt;/span&gt; &lt;span class="nf"&gt;regionSuffix&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;regionSuffix&lt;/span&gt;&lt;span class="o"&gt;;&lt;/span&gt;
    &lt;span class="o"&gt;}&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>gradle-55</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Wed, 29 Jul 2026 17:01:38 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-55-3mk2</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-55-3mk2</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyviwj53ybh0mv2eo0zip.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fyviwj53ybh0mv2eo0zip.png" alt=" " width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>gradle-54</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Wed, 29 Jul 2026 16:50:33 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-54-e01</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-54-e01</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3x5i0x26k1mj704rlrap.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F3x5i0x26k1mj704rlrap.png" alt=" " width="800" height="339"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>gradle-53</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Wed, 29 Jul 2026 16:35:01 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-53-32j4</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-53-32j4</guid>
      <description>&lt;p&gt;Implementation AreaRequirements/ContextAction RequiredApp Directory / Citi Desktop Portal (AppD) PermissionsSupport groups are being configured in the application permissions interface. A clarification was requested on whether granting access to support groups permits them to approve core application code and operational deployments (e.g., UAT to Production code changes), or if access is restricted to desktop platform metadata. It was confirmed that AppD permissions strictly govern the publishing, visibility, and catalog promotion of the desktop application listing on the AppD portal, having no impact on actual backend application code or infrastructure pipeline deployments.Assign the required support groups to the AppD permissions tab to enable them to manage, promote, and publish desktop catalog updates and launch configurations.Maintain all core application code, GUI updates, and environment configuration changes strictly within the primary build and deployment pipelines (e.g., Tekton / Harness / CI-CD).&lt;/p&gt;

</description>
    </item>
    <item>
      <title>bridge-46</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Mon, 27 Jul 2026 15:00:42 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/bridge-46-4096</link>
      <guid>https://dev.to/query_filter_591122b53770/bridge-46-4096</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsm2wr4zx3h9l419arqcj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fsm2wr4zx3h9l419arqcj.png" alt=" " width="800" height="327"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>gradle-52</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Wed, 22 Jul 2026 20:30:25 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-52-3akd</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-52-3akd</guid>
      <description>&lt;p&gt;To clean up your build configuration and strip out heavy "fat" dependencies while keeping only what your codebase actually imports, you can use a combination of Gradle's built-in dependency analysis tools and the gradle-dependency-analysis-plugin.&lt;/p&gt;

&lt;p&gt;Here is a step-by-step approach to audit, isolate, and cull unnecessary dependencies in Gradle 7.5.&lt;/p&gt;

&lt;p&gt;Step 1: Run the Built-In Dependency Insight&lt;br&gt;
Before removing anything, run Gradle’s dependency insight report to identify why a heavy transitive library is being pulled into your build graph and which top-level dependency introduced it.&lt;/p&gt;

&lt;p&gt;In your terminal, run:&lt;/p&gt;

&lt;p&gt;Bash&lt;br&gt;
./gradlew dependencyInsight --dependency  --configuration compileClasspath&lt;br&gt;
This generates a dependency tree showing the exact path from your build.gradle declaration down to the nested artifact.&lt;/p&gt;

&lt;p&gt;Step 2: Use the Dependency Analysis Plugin (Automated Audit)&lt;br&gt;
The most accurate way to find unused direct dependencies (and indirect dependencies you should declare explicitly) is Autonomous Apps' dependency-analysis-gradle-plugin. It scans your bytecode against your declared dependency graph.&lt;/p&gt;

&lt;p&gt;Add it to your root build.gradle:&lt;/p&gt;

&lt;p&gt;Groovy&lt;br&gt;
plugins {&lt;br&gt;
    id 'com.autonomousapps.dependency-analysis' version '1.19.0' // Fully compatible with Gradle 7.5&lt;br&gt;
}&lt;br&gt;
Then run the audit task:&lt;/p&gt;

&lt;p&gt;Bash&lt;br&gt;
./gradlew buildHealth&lt;br&gt;
What the report tells you:&lt;br&gt;
Unused dependencies: Libraries declared in dependencies { ... } that your source code never references. You can delete these immediately.&lt;/p&gt;

&lt;p&gt;Transitively used dependencies: Libraries drawn in by a "big" parent library that your code does reference directly.&lt;/p&gt;

&lt;p&gt;Undeclared dependencies: Dependencies you rely on in code but only have access to because another library drew them in.&lt;/p&gt;

&lt;p&gt;Step 3: Cull the Big Library &amp;amp; Promote the Transitive Artifact&lt;br&gt;
Once you identify that you only use a small sub-module or underlying transitive dependency from a heavy framework:&lt;/p&gt;

&lt;p&gt;Option A: Replace the Parent Library with the Specific Module&lt;br&gt;
Many large frameworks (like AWS SDK, Jackson, Spring, or Google Guava/GCP) split their functionality into smaller artifacts. Instead of pulling in the top-level bundle, replace it with only the required sub-module.&lt;/p&gt;

&lt;p&gt;Groovy&lt;br&gt;
dependencies {&lt;br&gt;
    // ❌ Heavy bundle&lt;br&gt;
    // implementation 'com.amazonaws:aws-java-sdk:1.12.xxx'&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// ✅ Specific modular artifact
implementation 'com.amazonaws:aws-java-sdk-s3:1.12.xxx'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
Option B: Exclude the Heavy Parent and Declare the Sub-Dependency&lt;br&gt;
If a library pulls in heavy transitive dependencies you don't want (like logging frameworks, UI tools, or large utility suites), explicitly exclude them:&lt;/p&gt;

&lt;p&gt;Groovy&lt;br&gt;
dependencies {&lt;br&gt;
    implementation('com.example:some-library:2.1.0') {&lt;br&gt;
        // Exclude the heavy transitive artifact&lt;br&gt;
        exclude group: 'org.heavy.framework', module: 'heavy-core'&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Explicitly declare ONLY the lightweight sub-dependency your code actually uses
implementation 'org.heavy.framework:lightweight-utils:1.0.0'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
Step 4: Use Gradle Constraints for Version Control&lt;br&gt;
When you strip out a top-level library and explicitly declare its underlying transitive library, use constraints to manage the version cleanly without locking yourself into rigid hardcodes:&lt;/p&gt;

&lt;p&gt;Groovy&lt;br&gt;
dependencies {&lt;br&gt;
    constraints {&lt;br&gt;
        implementation('net.bytebuddy:byte-buddy:1.14.12') {&lt;br&gt;
            because 'Explicitly managed version after removing parent library'&lt;br&gt;
        }&lt;br&gt;
    }&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Direct lightweight declaration
implementation 'net.bytebuddy:byte-buddy'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;br&gt;
Summary Checklist&lt;br&gt;
Run ./gradlew buildHealth to get a list of Unused and Transitively Used dependencies.&lt;/p&gt;

&lt;p&gt;Delete all Unused lines from dependencies { }.&lt;/p&gt;

&lt;p&gt;For Transitively Used dependencies, add the specific lower-level artifact directly to dependencies { } and remove the top-level parent library.&lt;/p&gt;

&lt;p&gt;Run ./gradlew test to ensure your runtime classpath remains intact.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>gradle-51</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Wed, 22 Jul 2026 20:28:49 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-51-28em</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-51-28em</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;To clean up your build configuration and strip out heavy &lt;span class="s2"&gt;"fat"&lt;/span&gt; dependencies &lt;span class="k"&gt;while &lt;/span&gt;keeping only what your codebase actually imports, you can use a combination of &lt;span class="k"&gt;**&lt;/span&gt;Gradle&lt;span class="s1"&gt;'s built-in dependency analysis tools** and the **`gradle-dependency-analysis-plugin`**.

Here is a step-by-step approach to audit, isolate, and cull unnecessary dependencies in **Gradle 7.5**.

---

## Step 1: Run the Built-In Dependency Insight

Before removing anything, run Gradle’s dependency insight report to identify **why** a heavy transitive library is being pulled into your build graph and **which top-level dependency** introduced it.

In your terminal, run:

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
bash&lt;br&gt;
./gradlew dependencyInsight --dependency  --configuration compileClasspath&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
This generates a dependency tree showing the exact path from your `build.gradle` declaration down to the nested artifact.

---

## Step 2: Use the Dependency Analysis Plugin (Automated Audit)

The most accurate way to find unused direct dependencies (and indirect dependencies you *should* declare explicitly) is Autonomous Apps' **`dependency-analysis-gradle-plugin`**. It scans your bytecode against your declared dependency graph.

Add it to your root `build.gradle`:

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
groovy&lt;br&gt;
plugins {&lt;br&gt;
    id 'com.autonomousapps.dependency-analysis' version '1.19.0' // Fully compatible with Gradle 7.5&lt;br&gt;
}&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
Then run the audit task:

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
bash&lt;br&gt;
./gradlew buildHealth&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
### What the report tells you:

1. **Unused dependencies:** Libraries declared in `dependencies { ... }` that your source code never references. You can delete these immediately.
2. **Transitively used dependencies:** Libraries drawn in by a "big" parent library that your code *does* reference directly.
3. **Undeclared dependencies:** Dependencies you rely on in code but only have access to because another library drew them in.

---

## Step 3: Cull the Big Library &amp;amp; Promote the Transitive Artifact

Once you identify that you only use a small sub-module or underlying transitive dependency from a heavy framework:

### Option A: Replace the Parent Library with the Specific Module

Many large frameworks (like AWS SDK, Jackson, Spring, or Google Guava/GCP) split their functionality into smaller artifacts. Instead of pulling in the top-level bundle, replace it with only the required sub-module.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
groovy&lt;br&gt;
dependencies {&lt;br&gt;
    // ❌ Heavy bundle&lt;br&gt;
    // implementation 'com.amazonaws:aws-java-sdk:1.12.xxx'&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// ✅ Specific modular artifact
implementation 'com.amazonaws:aws-java-sdk-s3:1.12.xxx'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;}&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
### Option B: Exclude the Heavy Parent and Declare the Sub-Dependency

If a library pulls in heavy transitive dependencies you *don't* want (like logging frameworks, UI tools, or large utility suites), explicitly exclude them:

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
groovy&lt;br&gt;
dependencies {&lt;br&gt;
    implementation('com.example:some-library:2.1.0') {&lt;br&gt;
        // Exclude the heavy transitive artifact&lt;br&gt;
        exclude group: 'org.heavy.framework', module: 'heavy-core'&lt;br&gt;
    }&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Explicitly declare ONLY the lightweight sub-dependency your code actually uses
implementation 'org.heavy.framework:lightweight-utils:1.0.0'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;}&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
---

## Step 4: Use Gradle Constraints for Version Control

When you strip out a top-level library and explicitly declare its underlying transitive library, use `constraints` to manage the version cleanly without locking yourself into rigid hardcodes:

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
groovy&lt;br&gt;
dependencies {&lt;br&gt;
    constraints {&lt;br&gt;
        implementation('net.bytebuddy:byte-buddy:1.14.12') {&lt;br&gt;
            because 'Explicitly managed version after removing parent library'&lt;br&gt;
        }&lt;br&gt;
    }&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Direct lightweight declaration
implementation 'net.bytebuddy:byte-buddy'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;}&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
---

## Summary Checklist

1. Run `./gradlew buildHealth` to get a list of **Unused** and **Transitively Used** dependencies.
2. Delete all **Unused** lines from `dependencies { }`.
3. For **Transitively Used** dependencies, add the specific lower-level artifact directly to `dependencies { }` and remove the top-level parent library.
4. Run `./gradlew test` to ensure your runtime classpath remains intact.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
    <item>
      <title>gradle-50</title>
      <dc:creator>Query Filter</dc:creator>
      <pubDate>Wed, 22 Jul 2026 16:35:40 +0000</pubDate>
      <link>https://dev.to/query_filter_591122b53770/gradle-50-19o1</link>
      <guid>https://dev.to/query_filter_591122b53770/gradle-50-19o1</guid>
      <description>&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;style&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;body&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;font-family&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;Arial&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nb"&gt;sans-serif&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#333333&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;line-height&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1.5&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;h2&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#003366&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;border-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;2px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#003366&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;padding-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;4px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;h3&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#005599&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;table&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;width&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;100%&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;border-collapse&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;collapse&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;margin&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;15px&lt;/span&gt; &lt;span class="m"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;font-size&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;14px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;th&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#003366&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#ffffff&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;text-align&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;left&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;8px&lt;/span&gt; &lt;span class="m"&gt;12px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#003366&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;td&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;padding&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;8px&lt;/span&gt; &lt;span class="m"&gt;12px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;border&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;1px&lt;/span&gt; &lt;span class="nb"&gt;solid&lt;/span&gt; &lt;span class="m"&gt;#cccccc&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;tr&lt;/span&gt;&lt;span class="nd"&gt;:nth-child&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="nt"&gt;even&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;background-color&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;#f9f9f9&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;ul&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;margin-top&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;5px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
        &lt;span class="nl"&gt;padding-left&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;20px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="nt"&gt;li&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="nl"&gt;margin-bottom&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="m"&gt;6px&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;4. Build &lt;span class="err"&gt;&amp;amp;&lt;/span&gt; Deployment Architecture&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;h3&amp;gt;&lt;/span&gt;4.1 Build and Deployment Strategy Matrix&lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;To support the migration to LightSpeed Enterprise while maintaining operational stability, system builds and deployments are partitioned by component architecture:&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;table&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;thead&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;Component Category&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;Target Platform / Environment&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;CI / Build Engine&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;CD / Deployment Orchestration&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/thead&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;tbody&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Comet GUI&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;Legacy / Managed Host&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;TeamCity&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;uDeploy&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Non-GUI Back-End Applications&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;LightSpeed Enterprise&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;Tekton&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;Harness / Ansible Suite&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/tbody&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;h3&amp;gt;&lt;/span&gt;4.2 Application Integration &lt;span class="err"&gt;&amp;amp;&lt;/span&gt; Migration Path&lt;span class="nt"&gt;&amp;lt;/h3&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Comet GUI Subsystem:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Build Pipeline:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; TeamCity remains the designated CI tool responsible for building, testing, and packaging the Comet GUI application artifacts.&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Deployment Pipeline:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; uDeploy retains sole responsibility for triggering and orchestrating GUI application deployments across target environments.&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Non-GUI Back-End Services:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Platform Target:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; All non-GUI backend applications are designated for migration to &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;LightSpeed Enterprise&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt;.&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Build Pipeline:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; Tekton serves as the cloud-native CI engine to execute automated container builds, unit tests, and artifact publishing.&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
            &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Deployment &lt;span class="err"&gt;&amp;amp;&lt;/span&gt; Provisioning Pipeline:&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; Continuous delivery and infrastructure configuration are managed via the integrated &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;Harness / Ansible&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; suite to handle enterprise-grade deployment orchestration and configuration management.&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
    </item>
  </channel>
</rss>
