Add dependency-analysis plugin

^KTI-1498 Add dependency-analysis plugin
More info at: https://github.com/autonomousapps/dependency-analysis-gradle-plugin
diff --git a/build.gradle.kts b/build.gradle.kts
index fbb4718..34d5420 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -50,6 +50,7 @@
     }
     `jvm-toolchains`
     alias(libs.plugins.gradle.node) apply false
+    id("com.autonomousapps.dependency-analysis") version "1.33.0"
 }
 
 val isTeamcityBuild = project.kotlinBuildProperties.isTeamcityBuild
diff --git a/gradle/verification-metadata.xml b/gradle/verification-metadata.xml
index 688a525..ea49542 100644
--- a/gradle/verification-metadata.xml
+++ b/gradle/verification-metadata.xml
@@ -566,6 +566,30 @@
             <sha256 value="d4fd8996ac9a03ee65d1b1823ebd6b70fb0c9b07252a6cd2a38614835b256707" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="com.autonomousapps" name="antlr" version="4.10.1.6">
+         <artifact name="antlr-4.10.1.6.jar">
+            <md5 value="02abc96b4f90c2742ab4bfafe2621a4d" origin="Generated by Gradle"/>
+            <sha256 value="77b538ef918a26fdf898d74a57dc29806d16b7699bf8c7406f6b99f3daf64926" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
+      <component group="com.autonomousapps" name="asm-relocated" version="9.6.0.1">
+         <artifact name="asm-relocated-9.6.0.1.jar">
+            <md5 value="e500460ab40886de7575b0110db2001a" origin="Generated by Gradle"/>
+            <sha256 value="22159a88f952421c6282bceaea06f909df65f8ba67df5bcfbb4586567fe60a00" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
+      <component group="com.autonomousapps" name="dependency-analysis-gradle-plugin" version="1.33.0">
+         <artifact name="dependency-analysis-gradle-plugin-1.33.0.jar">
+            <md5 value="93de41cd94e23c1ce186ec46854da5b7" origin="Generated by Gradle"/>
+            <sha256 value="8b04563a7974d33ee8677f9286fa971405b3193340746b37e3f3e1529ca9aeba" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
+      <component group="com.autonomousapps" name="graph-support" version="0.3">
+         <artifact name="graph-support-0.3.jar">
+            <md5 value="f3a37c39e8196535c19d47f7ec0d1392" origin="Generated by Gradle"/>
+            <sha256 value="25f3ede30ba31cfce2c10abe45fc4d0361b26b3826ade709fcfea5654d9be1ef" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="com.beust" name="jcommander" version="1.72">
          <artifact name="jcommander-1.72.jar">
             <md5 value="9fde6bc0ba1032eceb7267fd1ad1657b" origin="Generated by Gradle"/>
@@ -1526,6 +1550,30 @@
             <sha256 value="33728621bdbdcc984a33db1277b7ff603dacb31f6dac8e3ddf19cbd00fdb7201" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="com.squareup" name="kotlinpoet-jvm" version="1.15.1">
+         <artifact name="kotlinpoet-jvm-1.15.1.jar">
+            <md5 value="88fb126767feb6372f7c01b98fab01fd" origin="Generated by Gradle"/>
+            <sha256 value="71d9e80f8f5ea850a899b68dead3b1c33bdfabaec364906955f4b48536d79fa1" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
+      <component group="com.squareup.moshi" name="moshi" version="1.15.1">
+         <artifact name="moshi-1.15.1.jar">
+            <md5 value="fa56b54bb3d3c0d8b3c14d7405e05702" origin="Generated by Gradle"/>
+            <sha256 value="46a1118fe1fc12723a575c94133fc8936dcc78d3f8873c0e70a055de9e5861a6" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
+      <component group="com.squareup.moshi" name="moshi-adapters" version="1.15.0">
+         <artifact name="moshi-adapters-1.15.0.jar">
+            <md5 value="d6767ee79edd1da84c4aa0dbcbc60432" origin="Generated by Gradle"/>
+            <sha256 value="b747d391b59b58ae4f6ae157f67084645d5ad3e4d5d2cbb9f24e00772c06e34e" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
+      <component group="com.squareup.moshi" name="moshi-kotlin" version="1.15.1">
+         <artifact name="moshi-kotlin-1.15.1.jar">
+            <md5 value="2725335b4ca4577c1ab6619356804180" origin="Generated by Gradle"/>
+            <sha256 value="3c5a577200fc49a696647a52b1a97598a56d8d6f00e343ffed09d88b4007cdd0" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="com.squareup.okhttp3" name="okhttp" version="4.9.0">
          <artifact name="okhttp-4.9.0.jar">
             <md5 value="d67e576d60d23d71ed877257641be339" origin="Generated by Gradle"/>
@@ -1538,6 +1586,12 @@
             <sha256 value="4496b06e73982fcdd8a5393f46e5df2ce2fa4465df5895454cac68a32f09bbc8" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="com.squareup.okio" name="okio-jvm" version="3.9.0">
+         <artifact name="okio-jvm-3.9.0.jar">
+            <md5 value="5eb4b80544f2fffe6e23b53499de96d1" origin="Generated by Gradle"/>
+            <sha256 value="ddc386ff14bd25d5c934167196eaf45b18de4f28e1c55a4db37ae594cbfd37e4" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="com.squareup.okio" name="okio-metadata" version="2.8.0">
          <artifact name="okio-metadata-2.8.0.jar">
             <md5 value="1422e7152ea57d542ea4172ed6f1055d" origin="Generated by Gradle"/>
@@ -1706,6 +1760,18 @@
             <sha256 value="a788daf0152784e96a3868a3e8bdc3cba105f37c379b20f6e688383457a51a43" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="dev.zacsweers.moshix" name="moshi-sealed-reflect" version="0.25.1">
+         <artifact name="moshi-sealed-reflect-0.25.1.jar">
+            <md5 value="a34c45bc3373b8c92eb49e8e60deae5a" origin="Generated by Gradle"/>
+            <sha256 value="2f32778e065f9dd4d9bb59cc66176328263aca1e3db7d6ce4b1a949b754f8aa5" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
+      <component group="dev.zacsweers.moshix" name="moshi-sealed-runtime" version="0.25.1">
+         <artifact name="moshi-sealed-runtime-0.25.1.jar">
+            <md5 value="8cc2a821d4342195bd2f88351492f1e9" origin="Generated by Gradle"/>
+            <sha256 value="539e96751eb3c7b2f8c8ebb050210b92b6cd3d968831cd24f8ff8624d452a6bb" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="google" name="91936d4ee3ccc839f0addd53c9ebf087b1e39251.build-tools" version="r30.0.3">
          <artifact name="91936d4ee3ccc839f0addd53c9ebf087b1e39251.build-tools-r30.0.3-windows.zip">
             <md5 value="f0b89c50696fe827a462080af164f1ef" origin="Generated by Gradle"/>
@@ -3790,60 +3856,18 @@
             <sha256 value="742fc253d719293c2188adc7ec3dfc3fc6562dea06258ec8b345d23d0d6c24ad" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-build-common" version="1.9.20">
-         <artifact name="kotlin-build-common-1.9.20.jar">
-            <md5 value="e275ef9d49e72fc34a51b376f77de5fb" origin="Generated by Gradle"/>
-            <sha256 value="17319416d0fa12cd77a9f365f8b8cb9c616953883368a5c7f529cf082da9e98d" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
       <component group="org.jetbrains.kotlin" name="kotlin-build-gradle-plugin" version="0.0.40">
          <artifact name="kotlin-build-gradle-plugin-0.0.40.jar">
             <md5 value="051a39904e8285e78cbcd1dc8e2b221a" origin="Generated by Gradle"/>
             <sha256 value="ea3644137bdf9006eecd1fa1e6771548de3c9b335ffac6387bff01400ab63bd9" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-build-tools-api" version="1.9.20">
-         <artifact name="kotlin-build-tools-api-1.9.20.jar">
-            <md5 value="d198342d234320740d50caa6b650df0c" origin="Generated by Gradle"/>
-            <sha256 value="c722948c568352cdc19dc8a8b245d14aae507d4dcffde6a7b26c535c472c1b17" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-build-tools-impl" version="1.9.20">
-         <artifact name="kotlin-build-tools-impl-1.9.20.jar">
-            <md5 value="a6f2282c211d133a4c602b28c30a83ef" origin="Generated by Gradle"/>
-            <sha256 value="b7377a08d67dcddcbe4f7930d8cb0f7d0055789fbb30efdbe97008405d1f026d" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-compiler-embeddable" version="1.9.20">
-         <artifact name="kotlin-compiler-embeddable-1.9.20.jar">
-            <md5 value="788dce78ad5a3c096ccbb957fd3364ea" origin="Generated by Gradle"/>
-            <sha256 value="a25024fe5da8440de01af045c4fcb954a22f078738ec02616085f0cfc57b2702" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
       <component group="org.jetbrains.kotlin" name="kotlin-compiler-embeddable" version="1.9.24">
          <artifact name="kotlin-compiler-embeddable-1.9.24.jar">
             <md5 value="923029167ca3a8bf9a7cd174cbaf730d" origin="Generated by Gradle"/>
             <sha256 value="e71ff19e6b141ab85a9328fd010941531a302543026bd4244c95adc208d501f6" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-compiler-runner" version="1.9.20">
-         <artifact name="kotlin-compiler-runner-1.9.20.jar">
-            <md5 value="c82ae3a34c76a7e5097402604671a725" origin="Generated by Gradle"/>
-            <sha256 value="49769c046f8d392654a4ab52af795455bd41e88d8392aeab9028f0edd5e8d50b" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-daemon-client" version="1.9.20">
-         <artifact name="kotlin-daemon-client-1.9.20.jar">
-            <md5 value="4f46aeada4e73361b4bb2be71784b434" origin="Generated by Gradle"/>
-            <sha256 value="582230cbcfd65d36b94bc9d127f90024b8cf17dfa4a67ef6a929f14c6c27661c" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-daemon-embeddable" version="1.9.20">
-         <artifact name="kotlin-daemon-embeddable-1.9.20.jar">
-            <md5 value="5c1d5ace55a2f200c383d0d5c195ca0f" origin="Generated by Gradle"/>
-            <sha256 value="a939cb5d6ee2a758c9285bd9f3286824beabe12d9a4b5f49f784d0bca329dea5" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
       <component group="org.jetbrains.kotlin" name="kotlin-daemon-embeddable" version="1.9.24">
          <artifact name="kotlin-daemon-embeddable-1.9.24.jar">
             <md5 value="0faf946bfa1a491008f5d19c9a7f7a77" origin="Generated by Gradle"/>
@@ -3938,12 +3962,6 @@
             <sha256 value="747c2927a623b6ebb734b465d6a26862e920ddd1828ef43716887c0849a3131f" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-script-runtime" version="1.9.20">
-         <artifact name="kotlin-script-runtime-1.9.20.jar">
-            <md5 value="448f3cef7b52d1552ad3c3d61b08ce04" origin="Generated by Gradle"/>
-            <sha256 value="a26a6256a76f766ab8bacdb409b3f8c940d999712a8e88864252b678d66bab9e" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
       <component group="org.jetbrains.kotlin" name="kotlin-script-runtime" version="1.9.24">
          <artifact name="kotlin-script-runtime-1.9.24.jar">
             <md5 value="8e46083688f9531ebf952ec8917e3b6c" origin="Generated by Gradle"/>
@@ -3980,12 +3998,6 @@
             <sha256 value="4395647b1961d9fb730a34e8dbe56c293157bc0759004cca63d9b5ee6653e5c7" origin="Generated by Gradle"/>
          </artifact>
       </component>
-      <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.9.20">
-         <artifact name="kotlin-stdlib-1.9.20.jar">
-            <md5 value="405681a02b165f82fc680133482b210c" origin="Generated by Gradle"/>
-            <sha256 value="28a35bcdff46d864f80f346a617e486284b208d17378c41900dfb1de95a90e6c" origin="Generated by Gradle"/>
-         </artifact>
-      </component>
       <component group="org.jetbrains.kotlin" name="kotlin-stdlib" version="1.9.21">
          <artifact name="kotlin-stdlib-1.9.21-all.jar">
             <md5 value="4468f2ad5cecac0c0c2639699aafcfc1" origin="Generated by Gradle"/>
@@ -4090,6 +4102,12 @@
             <sha256 value="b7979a7aac94055f0d9f1fd3b47ce5ffe1cb6032a842ba9fbe7186f085289178" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk7" version="1.9.22">
+         <artifact name="kotlin-stdlib-jdk7-1.9.22.jar">
+            <md5 value="ef186fec2871b85a6ae391b0956e9fde" origin="Generated by Gradle"/>
+            <sha256 value="f91f24cfad3a756688a35129e5f335480d0eb408f1568a17f707c289f8769bdd" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.6.21">
          <artifact name="kotlin-stdlib-jdk8-1.6.21.jar">
             <md5 value="9e7ee18a1a5dd5bf070c7e6f706ccc9c" origin="Generated by Gradle"/>
@@ -4132,6 +4150,12 @@
             <sha256 value="a59fa24fdf1ffb594baecdbf0fd10010f977cea10236d487fe3464977a7377fa" origin="Generated by Gradle"/>
          </artifact>
       </component>
+      <component group="org.jetbrains.kotlin" name="kotlin-stdlib-jdk8" version="1.9.22">
+         <artifact name="kotlin-stdlib-jdk8-1.9.22.jar">
+            <md5 value="36c015715b70586c6ef40984236e9bba" origin="Generated by Gradle"/>
+            <sha256 value="47046c3edc32fe0db1a36bfe3d3822958bb5be4411c5ba80f3ae895a3ec27291" origin="Generated by Gradle"/>
+         </artifact>
+      </component>
       <component group="org.jetbrains.kotlin" name="kotlin-stdlib-js" version="1.9.24">
          <artifact name="kotlin-stdlib-js-1.9.24.klib">
             <md5 value="e4aaac57a2b20b329720384f992371c9" origin="Generated by Gradle"/>
diff --git a/plugins/atomicfu/atomicfu-compiler/build.gradle.kts b/plugins/atomicfu/atomicfu-compiler/build.gradle.kts
index 928a3d4..82347e2 100644
--- a/plugins/atomicfu/atomicfu-compiler/build.gradle.kts
+++ b/plugins/atomicfu/atomicfu-compiler/build.gradle.kts
@@ -27,6 +27,7 @@
     attributes {
         attribute(KotlinPlatformType.attribute, KotlinPlatformType.js)
         attribute(KotlinJsCompilerAttribute.jsCompilerAttribute, KotlinJsCompilerAttribute.ir)
+        attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
     }
 }
 
@@ -47,6 +48,7 @@
         attribute(KotlinPlatformType.attribute, KotlinPlatformType.js)
         attribute(KotlinJsCompilerAttribute.jsCompilerAttribute, KotlinJsCompilerAttribute.ir)
         attribute(Usage.USAGE_ATTRIBUTE, objects.named(KotlinUsages.KOTLIN_RUNTIME))
+        attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
     }
 }
 
@@ -143,6 +145,7 @@
             attribute(KotlinPlatformType.attribute, KotlinPlatformType.js)
             attribute(KotlinJsCompilerAttribute.jsCompilerAttribute, KotlinJsCompilerAttribute.ir)
             attribute(Usage.USAGE_ATTRIBUTE, objects.named(KotlinUsages.KOTLIN_RUNTIME))
+            attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
         }
         isTransitive = false
     }
diff --git a/plugins/js-plain-objects/compiler-plugin/build.gradle.kts b/plugins/js-plain-objects/compiler-plugin/build.gradle.kts
index fa588c0..cd5430c 100644
--- a/plugins/js-plain-objects/compiler-plugin/build.gradle.kts
+++ b/plugins/js-plain-objects/compiler-plugin/build.gradle.kts
@@ -14,6 +14,7 @@
         attribute(KotlinPlatformType.attribute, KotlinPlatformType.js)
         attribute(KotlinJsCompilerAttribute.jsCompilerAttribute, KotlinJsCompilerAttribute.ir)
         attribute(Usage.USAGE_ATTRIBUTE, objects.named(KotlinUsages.KOTLIN_RUNTIME))
+        attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
     }
 }
 
@@ -47,6 +48,7 @@
                 attribute(KotlinPlatformType.attribute, KotlinPlatformType.js)
                 attribute(KotlinJsCompilerAttribute.jsCompilerAttribute, KotlinJsCompilerAttribute.ir)
                 attribute(Usage.USAGE_ATTRIBUTE, objects.named(KotlinUsages.KOTLIN_RUNTIME))
+                attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.LIBRARY))
             }
             isTransitive = false
         }