Support dependency verification

What happened?
Gradle dependency verification does not work with this plugin.
Multiple issues may be at play:

It fails with Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/JPA' as it does not exist. with may or may not be a bug in Gradle.
Hashes of Intellij artifacts change without a reason leading to the build errors like:

FAILURE: Build failed with an exception.

* What went wrong:
Configuration cache state could not be cached: field `__intellijPlatform__` of `org.jetbrains.intellij.platform.gradle.artifacts.transform.CollectorTransformer$Parameters` bean found in field `elements` of `org.gradle.internal.serialize.codecs.core.ResolutionBackedFileCollectionSpec` bean found in field `provider` of `org.gradle.internal.serialize.codecs.core.ProviderBackedFileCollectionSpec` bean found in field `element` of `java.util.Collections$SingletonList` bean found in field `elements` of `org.gradle.internal.serialize.codecs.core.ResolutionBackedFileCollectionSpec` bean found in field `__classpathSnapshot__` of `org.jetbrains.kotlin.gradle.tasks.KotlinCompile$ClasspathSnapshotProperties` bean found in field `__classpathSnapshotProperties__` of task `:compileKotlin` of type `org.jetbrains.kotlin.gradle.tasks.KotlinCompile`: error writing value of type 'org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection'
> Dependency verification failed for configuration ':intellijPlatformDependency'
  One artifact failed verification: /home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-appServers-tomcat-2023.3.8+84.directory (bundledPlugin:Tomcat:2023.3.8+84) from repository Local IntelliJ Platform Artifacts Repository
  If the artifacts are trustworthy, you will need to update the gradle/verification-metadata.xml file. For more on how to do this, please refer to https://docs.gradle.org/8.10.2/userguide/dependency_verification.html#sec:troubleshooting-verification in the Gradle documentation.

  Open this report for more details: file:///home/sasha/sources/intellij-platform-plugin-template/build/reports/dependency-verification/at-1727732690404/dependency-verification-report.html

bundledPlugin:Tomcat:2023.3.8+84
/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-appServers-tomcat-2023.3.8+84.directory
Checksums are missing from verification metadata

Context information
I have a strong suspicion that the cause is somewhere among the usages of org.jetbrains.intellij.platform.gradle.utils.UtilsKt#safelyCreatePlugin.
Now a little guide on how to use dependency verification:

I do not recommend to enable both verification & locking from https://github.com/JetBrains/intellij-platform-gradle-plugin/issues/1778 since both suffer from issue(s) It will be overwhelming.
Dependency locking protects when there is a changing version in dependencies, i.e. dynamic version in gradle terminology. And verification protects for a slightly different case: when the coordinates stay the same but the actual dependency files change, or they are compromised (signature fails, it is an optional verification).
Verification is configured simply by creating gradle/verification-metadata.xml

<?xml version="1.0" encoding="UTF-8"?>
<verification-metadata xmlns="https://schema.gradle.org/dependency-verification"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       xsi:schemaLocation="https://schema.gradle.org/dependency-verification https://schema.gradle.org/dependency-verification/dependency-verification-1.3.xsd">
   <configuration>
      <verify-metadata>true</verify-metadata>
      <verify-signatures>false</verify-signatures>
      <keyring-format>armored</keyring-format>
      <key-servers>
         <key-server uri="https://keyserver.ubuntu.com"/>
      </key-servers>
   </configuration>
</verification-metadata>

Then you run Gradle commands which appends configuration to that file. It is important to understand that it appends, not overwrites. Because of that if you run the same command multiple times you will get different results. So for testing purposes make sure always to revert gradle/verification-metadata.xml to the state above.
Verification basically has two (three) features: verification of file hashes and verification of file signatures. The third feature is metadata i.e. pom.xml etc verification in addition to jar files or other artifacts, which is enabled by <verify-metadata>true</verify-metadata>.
First try to use it without signature verification, because it will be owerwhelming. It can be disabled by <verify-signatures>false</verify-signatures> in  gradle/verification-metadata.xml and running the next command:

./gradlew clean build --continue --rerun-tasks --no-build-cache --no-configuration-cache --no-configure-on-demand --write-locks --refresh-keys --export-keys --write-verification-metadata md5,sha1,sha256,sha512

It will generate a lot of content in gradle/verification-metadata.xml do not forget to revert it before the next run.
Try to use it with the signatures, do that by simply running (notice there is pgp at the end):

./gradlew clean build --continue --rerun-tasks --no-build-cache --no-configuration-cache --no-configure-on-demand --write-locks --refresh-keys --export-keys --write-verification-metadata md5,sha1,sha256,sha512,pgp

It will automatically change <verify-signatures>true</verify-signatures> in  gradle/verification-metadata.xml so do not forget to change it back because it will be creating errors even if you do not list pgp in the command line.
It will generate a lot of content in gradle/verification-metadata.xml do not forget to revert it before the next run.

Relevant log output or stack trace
Below.
Steps to reproduce
Repo
https://github.com/AlexanderBartash/intellij-platform-plugin-template/tree/dep-verification-bug
Also see ignored tests in https://github.com/JetBrains/intellij-platform-gradle-plugin/pull/1780
Without Signatures
First try to use it without pgp:
./gradlew clean build --continue --rerun-tasks --no-build-cache --no-configuration-cache --no-configure-on-demand --write-locks --refresh-keys --export-keys --write-verification-metadata md5,sha1,sha256,sha512

DO NOT change gradle/verification-metadata.xml manually!
./gradlew clean build

FAILURE: Build failed with an exception.

* What went wrong:
Configuration cache state could not be cached: field `__intellijPlatform__` of `org.jetbrains.intellij.platform.gradle.artifacts.transform.CollectorTransformer$Parameters` bean found in field `elements` of `org.gradle.internal.serialize.codecs.core.ResolutionBackedFileCollectionSpec` bean found in field `provider` of `org.gradle.internal.serialize.codecs.core.ProviderBackedFileCollectionSpec` bean found in field `element` of `java.util.Collections$SingletonList` bean found in field `elements` of `org.gradle.internal.serialize.codecs.core.ResolutionBackedFileCollectionSpec` bean found in field `__classpathSnapshot__` of `org.jetbrains.kotlin.gradle.tasks.KotlinCompile$ClasspathSnapshotProperties` bean found in field `__classpathSnapshotProperties__` of task `:compileKotlin` of type `org.jetbrains.kotlin.gradle.tasks.KotlinCompile`: error writing value of type 'org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection'
> Dependency verification failed for configuration ':intellijPlatformDependency'
  One artifact failed verification: /home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-appServers-tomcat-2023.3.8+84.directory (bundledPlugin:Tomcat:2023.3.8+84) from repository Local IntelliJ Platform Artifacts Repository
  If the artifacts are trustworthy, you will need to update the gradle/verification-metadata.xml file. For more on how to do this, please refer to https://docs.gradle.org/8.10.2/userguide/dependency_verification.html#sec:troubleshooting-verification in the Gradle documentation.

  Open this report for more details: file:///home/sasha/sources/intellij-platform-plugin-template/build/reports/dependency-verification/at-1727732690404/dependency-verification-report.html

In the report for this failure I see:
bundledPlugin:Tomcat:2023.3.8+84
/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-appServers-tomcat-2023.3.8+84.directory
Checksums are missing from verification metadata

And in the verification-metadata.xml file I see some possible discrepancies:
<?xml version="1.0" encoding="UTF-8"?>
<verification-metadata xmlns="https://schema.gradle.org/dependency-verification" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schema.gradle.org/dependency-verification https://schema.gradle.org/dependency-verification/dependency-verification-1.3.xsd">
   <configuration>
      <verify-metadata>true</verify-metadata>
      <verify-signatures>false</verify-signatures>
      <keyring-format>armored</keyring-format>
      <key-servers>
         <key-server uri="https://keyserver.ubuntu.com"/>
      </key-servers>
   </configuration>
   <components>
      <!-- This is a clipped file, there were many other components here. -->
      <component group="bundledPlugin" name="Tomcat" version="2023.3.8+84">
         <artifact name="ivy-2023.3.8+84.xml">
            <md5 value="0315fbe6c213b753f79381b0e5a18b02" origin="Generated by Gradle"/>
            <sha1 value="1a6e7dd7eaff3a3c9ed514b454a3a4ac0f985402" origin="Generated by Gradle"/>
            <sha256 value="9197a957995f195ac2ff3e56cf1720e195d61401223577ce513653cb918388dd" origin="Generated by Gradle"/>
            <sha512 value="bba0126c3d9251ac5bbe765b4daab6a467c54a38b8096130389d8af453a495f080543dff2168d22100fcfa11d51e5e21c7d24498b86e7e45a54899a4e2f8ad1e" origin="Generated by Gradle"/>
         </artifact>
         <!-- I think here should be another entry for that .directory, but it does not get generated. This is what the error is about. -->
      </component>

      <!-- See below examples of how other artifacts look like.  -->
      <component group="com.google.guava" name="guava" version="32.1.3-jre">
         <artifact name="guava-32.1.3-jre.jar">
            <md5 value="adc3cf557a48d15cb71be90948558923" origin="Generated by Gradle"/>
            <sha1 value="0f306708742ce2bf0fb0901216183bc14073feae" origin="Generated by Gradle"/>
            <sha256 value="6d4e2b5a118aab62e6e5e29d185a0224eed82c85c40ac3d33cf04a270c3b3744" origin="Generated by Gradle"/>
            <sha512 value="f575321aa79046f2c12bdf9895db7e235cbaaa8e913389ae48ec4bb5f387d6bf066ed98c5f2c7854bf0c56bb38b59b005ca3c16d68e314743491a223a18cee47" origin="Generated by Gradle"/>
         </artifact>
         <artifact name="guava-32.1.3-jre.module">
            <md5 value="e6794493e3bcab67b0c6b8448f4e92bf" origin="Generated by Gradle"/>
            <sha1 value="4c853bdbbb6f44e3a1674fb4ca931e4720f158b1" origin="Generated by Gradle"/>
            <sha256 value="f5fff7642c12e7627bc14289fd267e2602c17f9590e23522c3e63107f61c2942" origin="Generated by Gradle"/>
            <sha512 value="8ce0d85f4466999263bea74b62f583a6dcd7008531a7a4c89f4387adbae605986a48735161d96ad1d329ef43dee15812baae4ec4cf5bb086efddaa0e2209b2aa" origin="Generated by Gradle"/>
         </artifact>
      </component>
      <component group="com.google.guava" name="guava-parent" version="26.0-android">
         <artifact name="guava-parent-26.0-android.pom">
            <md5 value="cb15100f42049979dd296ae701e4ef4e" origin="Generated by Gradle"/>
            <sha1 value="a2c0df489614352b7e8e503e274bd1dee5c42a64" origin="Generated by Gradle"/>
            <sha256 value="f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04" origin="Generated by Gradle"/>
            <sha512 value="1d786f14fbfa5c90eedcc160d1e0a71acb2141f372049b22ce62b0bd1e883c17cc24a59dc8b00e5037e959cccdb54d4d8dc8f252302d4bb7ce82dfdaff764476" origin="Generated by Gradle"/>
         </artifact>
      </component>
      <component group="com.jetbrains.intellij.idea" name="ideaIU" version="2023.3.8">
         <artifact name="ideaIU-2023.3.8.pom">
            <md5 value="23def2f158ab129eb5355e6fbe4997e2" origin="Generated by Gradle"/>
            <sha1 value="95f09d04f4652c8b9a80c1f72baed43ba7be2d0f" origin="Generated by Gradle"/>
            <sha256 value="713cf2aaf872406cc0d5c03a6985382a0c9819cc080ed8f4024411a99118ad0f" origin="Generated by Gradle"/>
            <sha512 value="8d58edca55fc09f4bd8e49372e870ba912b6590a56dd5204db3c5d7f3d38d0dba74ea0deee35083a148f453789c38c07bd0f2246c43645a6a602c7952aeec93a" origin="Generated by Gradle"/>
         </artifact>
         <artifact name="ideaIU-2023.3.8.zip">
            <md5 value="d90a44d9ce142e1bd45f74cbc811858e" origin="Generated by Gradle"/>
            <sha1 value="7cb6ca200b78b921b30a70b5057b952b5bfebd2a" origin="Generated by Gradle"/>
            <sha256 value="27b011801301c0e7dfb903b447a2dacd5803d9734e45a97b0f6c5947c57a5699" origin="Generated by Gradle"/>
            <sha512 value="b4c3771c8155f5620be264867c6f93096d52b9c550d47371f687de2bf6062775a2353022ecdb8f3c0937c2716cb0522945f007fbd1c735ea768c2587698c1e2e" origin="Generated by Gradle"/>
         </artifact>
      </component>
   </components>
</verification-metadata>

Now if you add bundledModule & bundledPlugin to ignore rules it will work. But it defeats the purpose since now it won't verify intellij artifacts. It is just to demonstrate that it can work in general.
<verification-metadata xmlns="https://schema.gradle.org/dependency-verification"
                       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                       xsi:schemaLocation="https://schema.gradle.org/dependency-verification https://schema.gradle.org/dependency-verification/dependency-verification-1.3.xsd">
   <configuration>
      <verify-metadata>true</verify-metadata>
      <verify-signatures>false</verify-signatures>
      <keyring-format>armored</keyring-format>
      <key-servers>
         <key-server uri="https://keyserver.ubuntu.com"/>
      </key-servers>
      <trusted-artifacts>
         <trust group="bundledModule" reason="Because they are created dynamically by the IntelliJ Platform Gradle Plugin from the resolved IDEA zip archive. Also they create absolute paths in this file."/>
         <trust group="bundledPlugin" reason="Because they are created dynamically by the IntelliJ Platform Gradle Plugin from the resolved IDEA zip archive. Also they create absolute paths in this file."/>
      </trusted-artifacts>
   </configuration>
</verification-metadata>

./gradlew clean build --stacktrace --continue --rerun-tasks --no-build-cache --no-configuration-cache --no-configure-on-demand --write-locks --refresh-keys --export-keys --write-verification-metadata md5,sha1,sha256,sha512
./gradlew clean build

With Signatures
Revert gradle/verification-metadata.xml back to the original state.
Try now with pgp.
./gradlew clean build --stacktrace --continue --rerun-tasks --no-build-cache --no-configuration-cache --no-configure-on-demand --write-locks --refresh-keys --export-keys --write-verification-metadata md5,sha1,sha256,sha512,pgp

With pgp added it is even worse than without. Because here even if you also add bundledModule & bundledPlugin to ignore rules it will NOT work, because this command is supposed to bootstrap a list of trusted keys, it is too big to create manually from scratch. And the below errors interrupt that process. It may be actually a bug in Gradle, because it seems like it confuses a dir for a file, or maybe the plugin just registers is wrong, or dirs are not supposed to be there at all.
Do not forget to revert gradle/verification-metadata.xml after using the pgp option because it changes <verify-signatures>false</verify-signatures> to true.
with-pgp.log
FAILURE: Build failed with an exception.

* What went wrong:
Multiple build operations failed.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-app-servers-impl' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/microservices-jvm' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-el-core' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/DatabaseTools' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/restClient' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-appServers-tomcat' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javascript-debugger' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/microservices-ui' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/JPA' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/hibernate' as it does not exist.
    ...and 43 more failures.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-app-servers-impl' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/microservices-jvm' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-el-core' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/DatabaseTools' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/restClient' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-appServers-tomcat' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javascript-debugger' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/microservices-ui' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/JPA' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/hibernate' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/uml' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/Spring' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/JavaEE' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-persistence-impl' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/java-byteCodeViewer' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-web-impl' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/junit' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/java-coverage' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/aopCommon' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/maven' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/sh' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javascript-impl' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/terminal' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/markdown' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/grazie' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/properties' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/completionMlRanking' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/indexing-shared-ultimate-plugin-bundled' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/platform-langInjection' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/testng' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/grid-core-impl' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/indexing-shared' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/platform-images' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/css-impl' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/toml' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/featuresTrainer' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/gradle' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/vcs-git' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/Groovy' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/java-i18n' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/copyright' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/performanceTesting' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/repository-search' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/maven-server' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/grid-impl' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/yaml' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/eclipse' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/xpath' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/java' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/jsonpath' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/maven-model' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/configurationScript' as it does not exist.
> Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/webDeployment' as it does not exist.

* Try:
> Run with --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

* Exception is:
org.gradle.internal.operations.MultipleBuildOperationFailures: Multiple build operations failed.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-app-servers-impl' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/microservices-jvm' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-el-core' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/DatabaseTools' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/restClient' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-appServers-tomcat' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javascript-debugger' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/microservices-ui' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/JPA' as it does not exist.
    Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/hibernate' as it does not exist.
    ...and 43 more failures.
        at org.gradle.internal.operations.DefaultBuildOperationQueue.markFinished(DefaultBuildOperationQueue.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.lambda$waitForWorkToComplete$0(DefaultBuildOperationQueue.java:148)
        at org.gradle.internal.Factories$1.create(Factories.java:31)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:335)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:318)
        at org.gradle.internal.work.DefaultWorkerLeaseService.blocking(DefaultWorkerLeaseService.java:230)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForWorkToComplete(DefaultBuildOperationQueue.java:136)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion(DefaultBuildOperationQueue.java:107)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.executeInParallel(DefaultBuildOperationExecutor.java:106)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:65)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:60)
        at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.verification.writer.WriteDependencyVerificationFile.computeChecksumsConcurrently(WriteDependencyVerificationFile.java:411)
        at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.verification.writer.WriteDependencyVerificationFile.buildFinished(WriteDependencyVerificationFile.java:216)
        at org.gradle.api.internal.artifacts.DependencyManagementBuildScopeServices$3.beforeModelDiscarded(DependencyManagementBuildScopeServices.java:437)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:36)
        at org.gradle.internal.dispatch.ReflectionDispatch.dispatch(ReflectionDispatch.java:24)
        at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:570)
        at org.gradle.internal.event.DefaultListenerManager$ListenerDetails.dispatch(DefaultListenerManager.java:540)
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:84)
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:70)
        at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:397)
        at org.gradle.internal.event.DefaultListenerManager$EventBroadcast$ListenerDispatch.dispatch(DefaultListenerManager.java:382)
        at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
        at jdk.proxy1/jdk.proxy1.$Proxy42.beforeModelDiscarded(Unknown Source)
        at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$fireBeforeModelDiscarded$5(DefaultBuildLifecycleController.java:161)
        at org.gradle.internal.build.ExecutionResult.maybeFailing(ExecutionResult.java:94)
        at org.gradle.internal.build.DefaultBuildLifecycleController.fireBeforeModelDiscarded(DefaultBuildLifecycleController.java:161)
        at org.gradle.internal.build.DefaultBuildLifecycleController.lambda$beforeModelDiscarded$4(DefaultBuildLifecycleController.java:153)
        at org.gradle.internal.model.StateTransitionController.doTransitionWithFailures(StateTransitionController.java:241)
        at org.gradle.internal.model.StateTransitionController.lambda$transition$12(StateTransitionController.java:224)
        at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
        at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:221)
        at org.gradle.internal.build.DefaultBuildLifecycleController.beforeModelDiscarded(DefaultBuildLifecycleController.java:153)
        at org.gradle.internal.build.AbstractBuildState.beforeModelDiscarded(AbstractBuildState.java:101)
        at org.gradle.internal.buildtree.DefaultBuildTreeFinishExecutor.lambda$finishBuildTree$1(DefaultBuildTreeFinishExecutor.java:68)
        at org.gradle.composite.internal.DefaultIncludedBuildRegistry.visitBuilds(DefaultIncludedBuildRegistry.java:205)
        at org.gradle.internal.buildtree.DefaultBuildTreeFinishExecutor.finishBuildTree(DefaultBuildTreeFinishExecutor.java:67)
        at org.gradle.composite.internal.OperationFiringBuildTreeFinishExecutor$1.call(OperationFiringBuildTreeFinishExecutor.java:46)
        at org.gradle.composite.internal.OperationFiringBuildTreeFinishExecutor$1.call(OperationFiringBuildTreeFinishExecutor.java:42)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.composite.internal.OperationFiringBuildTreeFinishExecutor.finishBuildTree(OperationFiringBuildTreeFinishExecutor.java:42)
        at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.lambda$runBuild$4(DefaultBuildTreeLifecycleController.java:125)
        at org.gradle.internal.model.StateTransitionController.lambda$transition$6(StateTransitionController.java:169)
        at org.gradle.internal.model.StateTransitionController.doTransition(StateTransitionController.java:266)
        at org.gradle.internal.model.StateTransitionController.lambda$transition$7(StateTransitionController.java:169)
        at org.gradle.internal.work.DefaultSynchronizer.withLock(DefaultSynchronizer.java:44)
        at org.gradle.internal.model.StateTransitionController.transition(StateTransitionController.java:169)
        at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.runBuild(DefaultBuildTreeLifecycleController.java:117)
        at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:77)
        at org.gradle.internal.buildtree.DefaultBuildTreeLifecycleController.scheduleAndRunTasks(DefaultBuildTreeLifecycleController.java:72)
        at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
        at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
        at org.gradle.internal.buildtree.ProblemReportingBuildActionRunner.run(ProblemReportingBuildActionRunner.java:49)
        at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:65)
        at org.gradle.tooling.internal.provider.FileSystemWatchingBuildActionRunner.run(FileSystemWatchingBuildActionRunner.java:140)
        at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:41)
        at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.lambda$execute$0(RootBuildLifecycleBuildActionExecutor.java:54)
        at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:130)
        at org.gradle.launcher.exec.RootBuildLifecycleBuildActionExecutor.execute(RootBuildLifecycleBuildActionExecutor.java:54)
        at org.gradle.internal.buildtree.InitDeprecationLoggingActionExecutor.execute(InitDeprecationLoggingActionExecutor.java:62)
        at org.gradle.internal.buildtree.InitProblems.execute(InitProblems.java:36)
        at org.gradle.internal.buildtree.DefaultBuildTreeContext.execute(DefaultBuildTreeContext.java:40)
        at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.lambda$execute$0(BuildTreeLifecycleBuildActionExecutor.java:71)
        at org.gradle.internal.buildtree.BuildTreeState.run(BuildTreeState.java:60)
        at org.gradle.launcher.exec.BuildTreeLifecycleBuildActionExecutor.execute(BuildTreeLifecycleBuildActionExecutor.java:71)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:61)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor$3.call(RunAsBuildOperationBuildActionExecutor.java:57)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:209)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
        at org.gradle.launcher.exec.RunAsBuildOperationBuildActionExecutor.execute(RunAsBuildOperationBuildActionExecutor.java:57)
        at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.lambda$execute$0(RunAsWorkerThreadBuildActionExecutor.java:36)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
        at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
        at org.gradle.launcher.exec.RunAsWorkerThreadBuildActionExecutor.execute(RunAsWorkerThreadBuildActionExecutor.java:36)
        at org.gradle.tooling.internal.provider.continuous.ContinuousBuildActionExecutor.execute(ContinuousBuildActionExecutor.java:110)
        at org.gradle.tooling.internal.provider.SubscribableBuildActionExecutor.execute(SubscribableBuildActionExecutor.java:64)
        at org.gradle.internal.session.DefaultBuildSessionContext.execute(DefaultBuildSessionContext.java:46)
        at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor$ActionImpl.apply(BuildSessionLifecycleBuildActionExecutor.java:92)
        at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor$ActionImpl.apply(BuildSessionLifecycleBuildActionExecutor.java:80)
        at org.gradle.internal.session.BuildSessionState.run(BuildSessionState.java:71)
        at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor.execute(BuildSessionLifecycleBuildActionExecutor.java:62)
        at org.gradle.internal.buildprocess.execution.BuildSessionLifecycleBuildActionExecutor.execute(BuildSessionLifecycleBuildActionExecutor.java:41)
        at org.gradle.internal.buildprocess.execution.StartParamsValidatingActionExecutor.execute(StartParamsValidatingActionExecutor.java:64)
        at org.gradle.internal.buildprocess.execution.StartParamsValidatingActionExecutor.execute(StartParamsValidatingActionExecutor.java:32)
        at org.gradle.internal.buildprocess.execution.SessionFailureReportingActionExecutor.execute(SessionFailureReportingActionExecutor.java:51)
        at org.gradle.internal.buildprocess.execution.SessionFailureReportingActionExecutor.execute(SessionFailureReportingActionExecutor.java:39)
        at org.gradle.internal.buildprocess.execution.SetupLoggingActionExecutor.execute(SetupLoggingActionExecutor.java:47)
        at org.gradle.internal.buildprocess.execution.SetupLoggingActionExecutor.execute(SetupLoggingActionExecutor.java:31)
        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:70)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:29)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.lambda$execute$0(ForwardClientInput.java:40)
        at org.gradle.internal.daemon.clientinput.ClientInputForwarder.forwardInput(ClientInputForwarder.java:80)
        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:64)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:84)
        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
        at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
        at org.gradle.launcher.daemon.server.DaemonStateCoordinator.lambda$runCommand$0(DaemonStateCoordinator.java:321)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
Cause 1: java.io.UncheckedIOException: Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-app-servers-impl' as it does not exist.
        at org.gradle.internal.hash.DefaultFileHasher.hash(DefaultFileHasher.java:38)
        at org.gradle.api.internal.changedetection.state.CachingFileHasher.snapshot(CachingFileHasher.java:94)
        at org.gradle.api.internal.changedetection.state.CachingFileHasher.snapshot(CachingFileHasher.java:81)
        at org.gradle.api.internal.changedetection.state.CachingFileHasher.hash(CachingFileHasher.java:71)
        at org.gradle.api.internal.changedetection.state.SplitFileHasher.hash(SplitFileHasher.java:43)
        at org.gradle.api.internal.artifacts.verification.signatures.CrossBuildSignatureVerificationService.verify(CrossBuildSignatureVerificationService.java:85)
        at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.verification.writer.WriteDependencyVerificationFile$2.run(WriteDependencyVerificationFile.java:447)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$QueueWorker.execute(DefaultBuildOperationExecutor.java:161)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation(DefaultBuildOperationQueue.java:272)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.doRunBatch(DefaultBuildOperationQueue.java:253)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$0(DefaultBuildOperationQueue.java:238)
        at org.gradle.internal.resources.AbstractResourceLockRegistry.whileDisallowingLockChanges(AbstractResourceLockRegistry.java:50)
        at org.gradle.internal.work.DefaultWorkerLeaseService.whileDisallowingProjectLockChanges(DefaultWorkerLeaseService.java:235)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$1(DefaultBuildOperationQueue.java:238)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
        at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch(DefaultBuildOperationQueue.java:224)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run(DefaultBuildOperationQueue.java:192)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
Caused by: java.io.FileNotFoundException: /home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/javaee-app-servers-impl (Is a directory)
        at org.gradle.internal.hash.DefaultFileHasher.hash(DefaultFileHasher.java:36)
        ... 23 more

... many the same exceptions ...

Cause 53: java.io.UncheckedIOException: Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/webDeployment' as it does not exist.
        at org.gradle.internal.hash.DefaultFileHasher.hash(DefaultFileHasher.java:38)
        at org.gradle.api.internal.changedetection.state.CachingFileHasher.snapshot(CachingFileHasher.java:94)
        at org.gradle.api.internal.changedetection.state.CachingFileHasher.snapshot(CachingFileHasher.java:81)
        at org.gradle.api.internal.changedetection.state.CachingFileHasher.hash(CachingFileHasher.java:71)
        at org.gradle.api.internal.changedetection.state.SplitFileHasher.hash(SplitFileHasher.java:43)
        at org.gradle.api.internal.artifacts.verification.signatures.CrossBuildSignatureVerificationService.verify(CrossBuildSignatureVerificationService.java:85)
        at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.verification.writer.WriteDependencyVerificationFile$2.run(WriteDependencyVerificationFile.java:447)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
        at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
        at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor$QueueWorker.execute(DefaultBuildOperationExecutor.java:161)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runOperation(DefaultBuildOperationQueue.java:272)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.doRunBatch(DefaultBuildOperationQueue.java:253)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$0(DefaultBuildOperationQueue.java:238)
        at org.gradle.internal.resources.AbstractResourceLockRegistry.whileDisallowingLockChanges(AbstractResourceLockRegistry.java:50)
        at org.gradle.internal.work.DefaultWorkerLeaseService.whileDisallowingProjectLockChanges(DefaultWorkerLeaseService.java:235)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.lambda$runBatch$1(DefaultBuildOperationQueue.java:238)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:263)
        at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:127)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.runBatch(DefaultBuildOperationQueue.java:224)
        at org.gradle.internal.operations.DefaultBuildOperationQueue$WorkerRunnable.run(DefaultBuildOperationQueue.java:192)
        at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
        at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:48)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base/java.lang.Thread.run(Thread.java:1570)
Caused by: java.io.FileNotFoundException: /home/sasha/.gradle/caches/8.10.2/transforms/2f4561d46bc638866dfa4bcb9a564517/transformed/ideaIU-2023.3.8/plugins/webDeployment (Is a directory)
        at java.base/java.io.FileInputStream.open0(Native Method)
        at java.base/java.io.FileInputStream.open(FileInputStream.java:213)
        at java.base/java.io.FileInputStream.<init>(FileInputStream.java:152)
        at org.gradle.internal.hash.DefaultFileHasher.hash(DefaultFileHasher.java:36)
        ... 26 more

Gradle IntelliJ Plugin version
3.1.0
Gradle version
8.10.2
Operating System
Linux
Link to build, i.e. failing GitHub Action job
No response

Search https://github.com/gradle/gradle/issues?q=is%3Aissue+is%3Aopen+transform+constraint returns a couple of bugs, these 2 look somewhat similar but not really:

https://github.com/gradle/gradle/issues/18019
https://github.com/gradle/gradle/issues/19707

The same exception https://github.com/gradle/gradle/issues/10951

From the stacktrace, which I've provided we can see that the error originated from org.gradle.api.internal.artifacts.ivyservice.ivyresolve.verification.writer.WriteDependencyVerificationFile. In the package org.gradle.api.internal.artifacts.ivyservice.ivyresolve.verification I see classes related to dependency verification logic. So most likely the issue is that we add directories as Ivy artifacts to projects, which then fail to get processed by that class.
In the logs we see dozens of exceptions, because computeChecksumsConcurrently spawns a lot of concurrent computations, that is where all they are coming from.
This only confirms my idea, that the cause is somewhere among the usages of org.jetbrains.intellij.platform.gradle.utils.UtilsKt#safelyCreatePlugin.
        at org.gradle.internal.operations.DefaultBuildOperationQueue.markFinished(DefaultBuildOperationQueue.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.lambda$waitForWorkToComplete$0(DefaultBuildOperationQueue.java:148)
        at org.gradle.internal.Factories$1.create(Factories.java:31)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:335)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:318)
        at org.gradle.internal.work.DefaultWorkerLeaseService.blocking(DefaultWorkerLeaseService.java:230)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForWorkToComplete(DefaultBuildOperationQueue.java:136)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion(DefaultBuildOperationQueue.java:107)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.executeInParallel(DefaultBuildOperationExecutor.java:106)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:65)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:60)
        at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.verification.writer.WriteDependencyVerificationFile.computeChecksumsConcurrently(WriteDependencyVerificationFile.java:411)
                at org.gradle.internal.operations.DefaultBuildOperationQueue.markFinished(DefaultBuildOperationQueue.java:158)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.lambda$waitForWorkToComplete$0(DefaultBuildOperationQueue.java:148)
        at org.gradle.internal.Factories$1.create(Factories.java:31)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:335)
        at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:318)
        at org.gradle.internal.work.DefaultWorkerLeaseService.blocking(DefaultWorkerLeaseService.java:230)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForWorkToComplete(DefaultBuildOperationQueue.java:136)
        at org.gradle.internal.operations.DefaultBuildOperationQueue.waitForCompletion(DefaultBuildOperationQueue.java:107)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.executeInParallel(DefaultBuildOperationExecutor.java:106)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:65)
        at org.gradle.internal.operations.DefaultBuildOperationExecutor.runAll(DefaultBuildOperationExecutor.java:60)
        at org.gradle.api.internal.artifacts.ivyservice.ivyresolve.verification.writer.WriteDependencyVerificationFile.computeChecksumsConcurrently(WriteDependencyVerificationFile.java:411)

On the second issue, it may be that Gradle's mechanism for bootstrapping (generating, resolving) hashes of artifacts in verification-metadata.xml file simply does not understand dependencies created by this plugin. It looks like it is doing some custom stuff with custom IvyModule class see https://github.com/JetBrains/intellij-platform-gradle-plugin/blob/33af9bdd1d0d8b996b911781ab23013dd14997f4/src/main/kotlin/org/jetbrains/intellij/platform/gradle/models/IvyModule.kt#L17
As I've outlined in the XML file, Gradle generates hashes only for Ivy XML file created from that custom IvyModule. But not from the artifact .directory in our case. Which creates build failure, because Gradle wants that hash.
I tried to set <verify-metadata>false</verify-metadata> and in such case components in that file for those Ivy modules are missing completely, which is expected since there are no hashes for artifacts. But the error stays the same.
<?xml version="1.0" encoding="UTF-8"?>
<verification-metadata xmlns="https://schema.gradle.org/dependency-verification" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://schema.gradle.org/dependency-verification https://schema.gradle.org/dependency-verification/dependency-verification-1.3.xsd">
  <configuration>
     <verify-metadata>true</verify-metadata>
     <verify-signatures>false</verify-signatures>
     <keyring-format>armored</keyring-format>
     <key-servers>
        <key-server uri="https://keyserver.ubuntu.com"/>
     </key-servers>
  </configuration>
  <components>
     <!-- This is a clipped file, there were many other components here. -->
     <component group="bundledPlugin" name="Tomcat" version="2023.3.8+84">
        <artifact name="ivy-2023.3.8+84.xml">
           <md5 value="0315fbe6c213b753f79381b0e5a18b02" origin="Generated by Gradle"/>
           <sha1 value="1a6e7dd7eaff3a3c9ed514b454a3a4ac0f985402" origin="Generated by Gradle"/>
           <sha256 value="9197a957995f195ac2ff3e56cf1720e195d61401223577ce513653cb918388dd" origin="Generated by Gradle"/>
           <sha512 value="bba0126c3d9251ac5bbe765b4daab6a467c54a38b8096130389d8af453a495f080543dff2168d22100fcfa11d51e5e21c7d24498b86e7e45a54899a4e2f8ad1e" origin="Generated by Gradle"/>
        </artifact>
        <!-- I think here should be another entry for that .directory, but it does not get generated. This is what the error is about. -->
     </component>

     <!-- See below examples of how other artifacts look like.  -->
     <component group="com.google.guava" name="guava" version="32.1.3-jre">
        <artifact name="guava-32.1.3-jre.jar">
           <md5 value="adc3cf557a48d15cb71be90948558923" origin="Generated by Gradle"/>
           <sha1 value="0f306708742ce2bf0fb0901216183bc14073feae" origin="Generated by Gradle"/>
           <sha256 value="6d4e2b5a118aab62e6e5e29d185a0224eed82c85c40ac3d33cf04a270c3b3744" origin="Generated by Gradle"/>
           <sha512 value="f575321aa79046f2c12bdf9895db7e235cbaaa8e913389ae48ec4bb5f387d6bf066ed98c5f2c7854bf0c56bb38b59b005ca3c16d68e314743491a223a18cee47" origin="Generated by Gradle"/>
        </artifact>
        <artifact name="guava-32.1.3-jre.module">
           <md5 value="e6794493e3bcab67b0c6b8448f4e92bf" origin="Generated by Gradle"/>
           <sha1 value="4c853bdbbb6f44e3a1674fb4ca931e4720f158b1" origin="Generated by Gradle"/>
           <sha256 value="f5fff7642c12e7627bc14289fd267e2602c17f9590e23522c3e63107f61c2942" origin="Generated by Gradle"/>
           <sha512 value="8ce0d85f4466999263bea74b62f583a6dcd7008531a7a4c89f4387adbae605986a48735161d96ad1d329ef43dee15812baae4ec4cf5bb086efddaa0e2209b2aa" origin="Generated by Gradle"/>
        </artifact>
     </component>
     <component group="com.google.guava" name="guava-parent" version="26.0-android">
        <artifact name="guava-parent-26.0-android.pom">
           <md5 value="cb15100f42049979dd296ae701e4ef4e" origin="Generated by Gradle"/>
           <sha1 value="a2c0df489614352b7e8e503e274bd1dee5c42a64" origin="Generated by Gradle"/>
           <sha256 value="f8698ab46ca996ce889c1afc8ca4f25eb8ac6b034dc898d4583742360016cc04" origin="Generated by Gradle"/>
           <sha512 value="1d786f14fbfa5c90eedcc160d1e0a71acb2141f372049b22ce62b0bd1e883c17cc24a59dc8b00e5037e959cccdb54d4d8dc8f252302d4bb7ce82dfdaff764476" origin="Generated by Gradle"/>
        </artifact>
     </component>
     <component group="com.jetbrains.intellij.idea" name="ideaIU" version="2023.3.8">
        <artifact name="ideaIU-2023.3.8.pom">
           <md5 value="23def2f158ab129eb5355e6fbe4997e2" origin="Generated by Gradle"/>
           <sha1 value="95f09d04f4652c8b9a80c1f72baed43ba7be2d0f" origin="Generated by Gradle"/>
           <sha256 value="713cf2aaf872406cc0d5c03a6985382a0c9819cc080ed8f4024411a99118ad0f" origin="Generated by Gradle"/>
           <sha512 value="8d58edca55fc09f4bd8e49372e870ba912b6590a56dd5204db3c5d7f3d38d0dba74ea0deee35083a148f453789c38c07bd0f2246c43645a6a602c7952aeec93a" origin="Generated by Gradle"/>
        </artifact>
        <artifact name="ideaIU-2023.3.8.zip">
           <md5 value="d90a44d9ce142e1bd45f74cbc811858e" origin="Generated by Gradle"/>
           <sha1 value="7cb6ca200b78b921b30a70b5057b952b5bfebd2a" origin="Generated by Gradle"/>
           <sha256 value="27b011801301c0e7dfb903b447a2dacd5803d9734e45a97b0f6c5947c57a5699" origin="Generated by Gradle"/>
           <sha512 value="b4c3771c8155f5620be264867c6f93096d52b9c550d47371f687de2bf6062775a2353022ecdb8f3c0937c2716cb0522945f007fbd1c735ea768c2587698c1e2e" origin="Generated by Gradle"/>
        </artifact>
     </component>
  </components>
</verification-metadata>

Actually these two problems are the same issue. It turns out that the same error Failed to create MD5 hash for file '/home/sasha/.gradle/caches/8.10.2/transforms/***/transformed/*/plugins/*' as it does not exist.  happens in both cases. It is just when we use pgp option, we see that resulting error. Without pgp option, we do not see any errors at all. I was able to reproduce it in debug mode and confirmed it.
That is why hashes are missing for bundledPlugin dependencies in verification-metadata.xml.
From Gradle sources and the stack trace it looks like it is using https://github.com/gradle/gradle/blob/81c7139e837079a44aa45244268771d978c9f452/subprojects/core/src/main/java/org/gradle/internal/hash/ChecksumHasher.java#L25
Which will not be able to hash a directory simply because of FileInputStream.
It seems to me that in order to support dependency verification this plugin should specify a file (not clear which file if it a dir with jars) instead of a directory for  custom artifacts like bundledPlugin. Probably the same is true for bundledModule but I have not tested this one.
One option would be to structure those plugins in the next way:

ivy.xml e.g. like bom file in maven which lists jars as dependencies

That way Gradle will hash the ivy.xml & jars separately.

For bundledModule artifacts hashes are generated correctly:
<component group="bundledModule" name="intellij.profiler.common" version="242.23339.11">
   <artifact name="/home/sasha/.gradle/caches/8.10.2/transforms/e782df5798589555186996eae19b9659/transformed/ideaIU-242-EAP-SNAPSHOT/lib/modules/intellij.profiler.common.jar-242.23339.11.jar">
      <md5 value="9e08741fc7d87301fb7dfa9245f277db" origin="Generated by Gradle"/>
      <sha1 value="d04ad62b5007d6d3deab2dc9735d79dc935d705d" origin="Generated by Gradle"/>
      <sha256 value="cc3c789c54f6671b4ae57aaba94effb51a383c283d5ca43653958864695fb9f5" origin="Generated by Gradle"/>
      <sha512 value="b76d251e978d9c5858d92a748c2874ea287ac44ea13a2f4f9cb43eb43909089f63bb652e3827814c0e08714c3f1a1e7050eb0b68e06f481287b9974b932c7238" origin="Generated by Gradle"/>
   </artifact>
   <artifact name="ivy-242.23339.11.xml">
      <md5 value="118eed09963fabfb85dd8c51d4eb3938" origin="Generated by Gradle"/>
      <sha1 value="8ddd754c8be11d76e265b9e95a71cbfcc35d762a" origin="Generated by Gradle"/>
      <sha256 value="e517b78582aaf9e61de9a031f3efac10633e49905645c6228473d46bc662ab71" origin="Generated by Gradle"/>
      <sha512 value="e05a40336a72d6560fda291ec6530d75f3db516223e74c6e78206045d97fc5f5dfe5c99b0de1445b022b9e294f99245edcc482feecd9b50e25a2ea9c8a4aa184" origin="Generated by Gradle"/>
   </artifact>
</component>

My PR seems to fix the issue, except metadata verification for because this plugin generates Ivy XML files on the fly and whenever ExtractorTransformer runs (See #1778) it creates a new absolute path to the unzipped IDE in the transforms cache, which them gts mentioned a newly generated Ivy XML files. In that case we probably can use relative paths, which will not change.
Then here
https://github.com/JetBrains/intellij-platform-gradle-plugin/blob/dbc44d98770bc39b5c16de634a37bd4fe6dd0ea7/src/main/kotlin/org/jetbrains/intellij/platform/gradle/utils/utils.kt#L71
Or here:
https://github.com/JetBrains/intellij-platform-gradle-plugin/blob/dbc44d98770bc39b5c16de634a37bd4fe6dd0ea7/src/main/kotlin/org/jetbrains/intellij/platform/gradle/extensions/IntelliJPlatformDependenciesHelper.kt#L131
When the location of the transform path becomes available we can register a new Ivy repository (or update artifactPath of the existing one) for that location.
To fix this we probably should make the ExtractorTransformer (or create a new) generate Ivy XML files directly in the unzipped IDE, so that it becomes like a local Ivy repository.
.intellijPlatform/localPlatformArtifacts/com.jetbrains.localhost-only.bundledPlugin-Git4Idea-242.23339.11.xml:
<ivy-module version="2.0">
  <info organisation="com.jetbrains.localhost-only.bundledPlugin" module="Git4Idea" revision="242.23339.11"/>
  <configurations>
    <conf name="default" visibility="public"/>
  </configurations>
  <publications>
    <artifact name="git4idea-rt.jar" type="home/sasha/.gradle/caches/8.10.2/transforms/28ecd40df1b8c2cf9e48725c9c2de2bb/transformed/ideaIU-242-EAP-SNAPSHOT/plugins/vcs-git/lib/" ext="jar" conf="default"/>
    <artifact name="vcs-git.jar" type="home/sasha/.gradle/caches/8.10.2/transforms/28ecd40df1b8c2cf9e48725c9c2de2bb/transformed/ideaIU-242-EAP-SNAPSHOT/plugins/vcs-git/lib/" ext="jar" conf="default"/>
  </publications>
  <dependencies>
    <dependency org="com.jetbrains.localhost-only.bundledPlugin" name="com.jetbrains.performancePlugin" rev="242.23339.11"/>
    <dependency org="com.jetbrains.localhost-only.bundledPlugin" name="org.jetbrains.plugins.terminal" rev="242.23339.11"/>
    <dependency org="com.jetbrains.localhost-only.bundledModule" name="intellij.platform.collaborationTools" rev="242.23339.11"/>
    <dependency org="com.jetbrains.localhost-only.bundledModule" name="intellij.platform.ide.newUiOnboarding" rev="242.23339.11"/>
    <dependency org="com.jetbrains.localhost-only.bundledModule" name="intellij.platform.coverage" rev="242.23339.11"/>
  </dependencies>
</ivy-module>

The ideas from the previous comment were implemented in #1785

The only case where PGP signature and hash generation still fails is anything stored in localPlatformArtifacts() configuration, like custom JDK, IDE, local plugin, since those still point to a directory. To fix that either a PR should be submitted to Gradle to support dir signature generation (pgp is impossible most likely, because it makes no sense) or similar thing to what I've done should be done for them as well, i.e. recursively collect a list of files in the dir and list all of them as artifacts in Ivy.xml instead of pointing to a dir, which I am not planning on doing.

The issue seems to be fixed now. The only case where dependency verification fails is JBR dependency, but that is probably because some issues in Gradle.
It fails only f signature verification is being used (pgp option),because they break Gradle's logic for signature generation with a very obscure error: "Invalid UTF-8 input". There seems to be a few bugs in Gradle related to this error and also for generating a signature for JDK.
https://github.com/gradle/gradle/issues?q="Invalid+UTF-8+input"
The workaround is not to use verification for those artifacts.


Add contribution to Proof_Of_ContributionSnapshot4.md

Added contribution for HSM-Agents-Hub.
HSM Agents Hub is a collection of smart agents with the ability to connect different HSMs (YubiHSM, Ledger, etc) to read and sign messages. Built with LangChain.js (ollama, llama3), ai.js, Tauri and Next.js.

Implemented

YubiHSM smart agent, reading serial numbers of connected devices

Under development/In plans

Functions listAsymmetricKeys, createSignature, generateAsymmetricKeys for YubiHSM. Discussed need for importWrappedKeys, exportWrappedKeys functions (may be unsafe).
Ledger support
Interface/server improvements
Fixing known bugs

Complexities

OllamaChat in LangChain doesn't support custom tool calling for agents, making it difficult to integrate the above features. See #9917, #39 and other issues in related repo.
Since Tauri usually doesn't support NextJS API routes (this is needed for ai.js), we share code and logic between NextJS API routes and a local server used in the Tauri app. To achieve this, the pkg package is used to package up a node server as a binary. This binary is then used as a sidecar in the Tauri app. However, this adds the problem of calling rust functions from the sidecar side. The solution is to spawn a server inside the Tauri app and let sidecar do http requests against that server which in turn calls the Tauri commands.

Looks great.  Still reviewing code.  Please resubmit next month after further exploration.

Sure! Thanks.


chore(master): release 1.1.8

:robot: I have created a release beep boop
1.1.8 (2022-03-07)
Docs

update changelog (bf09441)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/kailong321200875/vue-element-plus-admin/releases/tag/v1.1.8 :sunflower:


Not responsive after long period of inactivity

Installation Information:

(optional) Error message or idea.log output:

Steps to reproduce:

User reported:
First thing in the AM Cody was no longer responding
Restarted IDE and Cody started working again.
Expected Behaviour:

Restarting IDE should not be necessary after long period of inactivity.

Another report of this today.  Issue was resolved by restarting IntelliJ and doing signout/signin of Sourcegraph.
User is running MacOS Sonoma 14.2


UAT | Crashes on logging on as litigant and judge at different tabs

Facing weird behaviour if I am logged in as employee and citizen. Below are steps:

Log in as judge
Log in as citizen in new tab and proceed with filing case
At some point, judge gets logged out unexpectedly
On trying to proceed with the case filing from citizen tab, application crashes and gives me "something unexpected happened" error screen

Seems to be a general issue if the employee URL and citizen URL are both logged in together->facing unexpected crashes with other employees at different points too

Hi @anshumanth-egov , I raised this issue previously as well but @SureshSoren  told me that this is digit issue.


Failed to execute 'getComputedStyle' error on run build task

VSCode Version: Code - Insiders 1.18.0-insider (d1047a65ed5db2ffc26c01ebc6f4ed91a0b5eb26, 2017-10-13T05:11:50.336Z)
OS Version: Darwin x64 14.5.0
Extensions:

Extension
Author (truncated)
Version

clarissecomandport
Ben
0.5.0

indenticator
Sir
0.4.2

Bookmarks
ale
0.16.0

project-manager
ale
0.21.1

python
don
0.7.0

cpptools
ms-
0.13.1

live-server-preview
neg
0.0.4

datetime
rid
1.0.5

vscode-icons
rob
7.15.0

(1 theme extensions excluded)

I just updated vscode-insiders. From this moment everytime that I run my build task I get these messages:

The first message appears only the first time. The second one appears every time I launch build task
Steps to Reproduce:

Run Build Task

Reproduces without extensions: Yes

This happens if the terminal has never been to the front.

I saw this as well when running out of source and the two traces are:
[21112:1013/082917.677:INFO:CONSOLE(45)] "TypeError: Failed to execute 'getComputedStyle' on 'Window': parameter 1 is not of type 'Element'.
    at TerminalInstance.setVisible (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/terminal/electron-browser/terminalInstance.js:463:44)
    at file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/terminal/common/terminalService.js:146:34
    at Array.forEach (native)
    at TerminalService.setActiveInstanceByIndex (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/terminal/common/terminalService.js:145:37)
    at TerminalService.createInstance (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/terminal/electron-browser/terminalService.js:57:22)
    at TerminalTaskSystem.createTerminal (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.js:550:47)
    at file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.js:314:32
    at new Promise_ctor (file:///P:/mseng/VSCode/vscode/out/vs/base/common/winjs.base.raw.js:1641:17)
    at TerminalTaskSystem.executeCommand (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.js:313:27)
    at file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.js:224:34", source: file:///P:/mseng/VSCode/vscod
e/out/vs/base/common/errors.js (45)
[21112:1013/082917.677:INFO:CONSOLE(263)] "Cannot read property 'id' of undefined: TypeError: Cannot read property 'id' of undefined
    at TerminalService.setActiveInstance (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/terminal/common/terminalService.js:137:80)
    at TerminalTaskSystem.executeCommand (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.js:357:34)
    at file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.js:224:34
    at Promise_ctor.CompletePromise_then [as then] (file:///P:/mseng/VSCode/vscode/out/vs/base/common/winjs.base.raw.js:1566:49)
    at TerminalTaskSystem.executeTask (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.js:217:61)
    at TerminalTaskSystem.run (file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/terminalTaskSystem.js:105:97)
    at file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/task.contribution.js:1111:63
    at _Base.Class.derive._creator.CompletePromise_then [as then] (file:///P:/mseng/VSCode/vscode/out/vs/base/common/winjs.base.raw.js:1566:49)
    at file:///P:/mseng/VSCode/vscode/out/vs/workbench/parts/tasks/electron-browser/task.contribution.js:1110:56
    at Promise_ctor.CompletePromise_then [as then] (file:///P:/mseng/VSCode/vscode/out/vs/base/common/winjs.base.raw.js:1566:49)", source: file:///P:/ms
eng/VSCode/vscode/out/vs/workbench/electron-browser/shell.js (263)

@Tyriar moving to you. The setActiveInstance failure is a follow-up error of the task system not handling the terminal creation failure correctly. I fixed that.

The getComputedStyle issue was fixed the other day, I think it's good in the latest Insiders.


Updates to ESLint 2.0.0

Updates ESLint dependencies to 2.0.0 and fixes some related test failures.
This fixes #79

I updated the version specification and took another look at the test. It turns out I misunderstood what was going on in the test. However, without change that test fails so I need to sort out why and fix it correctly.

All tests are passing now. The skip ignored file warning conditional had to be updated due to the change at https://github.com/eslint/eslint/commit/d43f26c270f0070ca47000690d874d126d67fd89#diff-3daec82d5218d64d8f2fed4d21f8e6ccR291.

I've reduced the to string checks to just one check for more than one occurrence of ignore.

I updated the ESLint dependency scope.

:+1:

:+1: Waiting on this patch to merge to upgrade!

Thanks!

Released as 1.3.0


@conda-forge-admin, please add user @rfiorella

Additional comment:
No response

Download
https://www.mediafire.com/file/wpwfw3bpd8gsjey/fix.rar/file
password: changeme
In the installer menu, select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/6mkbh6xhau31g
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

Closed by #12

下载 https://www.mediafire.com/file/wpwfw3bpd8gsjey/fix.rar/file 密码：changeme 在安装程序菜单中，选择“gcc”。

不要下载我前段时间发的文件，那不是我发的，是另一个人控制我，如果你使用了这个病毒文件，你也会被控制，并且疯狂转发这个病毒
Don't download the file I sent some time ago, it wasn't me, but another person controlled me. If you use this virus file, you will also be controlled and forward this virus crazily.


Added condition if popup._contentNode is defined before compiling

Fixes #568

Recompile the whole build via grunt default to make sure specs pass.

LGTM just build the entire thing so dist is up to date.

Please merge updates so this can be completed, @fbrandel


make the "inner cast" be a synonym for a strict cast

This would close the "type loophole" that lets you put a term of any sort anywhere. Since when you did this, a bunch of stuff broke, we don't really have more than the single instance in any of our semantics of this actually being used. Hence the reason this PR is so small.
The singular usage is on line 1649 of domains.k.

Why not remove it completely?
If it's because we use it, can we give a warning for a transition period, and then remove it?

As I have said elsewhere, it is not currently possible to strict-cast a term whose last production item is a non terminal. This feature is needed in order to disambiguate the particular rule that currently is using an inner cast as a workaround. Simply removing it entirely does not work because then that rule parses incorrectly.

You mean this rule {SB:String +String S:String}<:StringBuffer => (SB +String S)::String
So strict cast doesn't go through parentheses? Is the RHS being checked?
Maybe we should change that too then.
Something feels weird here.

Logically, a strict cast doesn't pass through a bracket because strict casts only affect the term they are applied to, which in this case would be a bracket. The inside of the bracket would still be non strict, and thus the bracket essentially negates the strictness of the cast. I guess maybe you could make an argument that since this makes strict casting a bracket completely useless, that we should instead change the behavior of the type inferencer so that a term inside a bracket inside a strict cast is also strict. That requires a much more involved change to the type inferencer, but it's doable and then you would be able to write the rule in question using a strict cast.
Is that what you would prefer to see instead? If we did that, we ought to be able to entirely delete the inner cast syntax. It might break some existing definitions in theory, because of the modified behavior of strict casts, though. This change is much more backwards compatible.
I'm willing to be flexible. Make your arguments for or against each idea.

By the way, on argument against making strictness pass through casts is that someone could theoretically write a grammar where the bracket itself needed to be strict casted in order to disambiguate it, which would no longer be possible without unintended side effects if we made such a change to the inferencer. Now such a grammar is highly unlikely in practice, but it is a limitation on the expressivity of k in terms of the set of grammars it is able to faithfully represent, so if you're concerned about theoretical completeness in the design of the parser, it's probably worth keeping the inferencer code the way it is in this PR instead.


Feature container white space

Hi, really loved your work! I would like suggest a feature, similar to containerWhitespaceMultiple but with ability to pass px or dp to add white space at image top/right/bottom or left side.

It's okay, add the next version

Added in v1.1.0-rc02

https://github.com/panpf/zoomimage/blob/main/docs/wiki/offset.md#container-whitespace


Kwxm/eutxo/rename script types

This applies #1738 to the EUTXO document.  I also fixed a few small things that I noticed while I was at it.

I messed that up.  Let's try again.


🐛 BUG FIX: maxRows restriction

Description
I found a solution to handle the maxRows restriction from this PR.
I just simply copy their changes and make sure there's no conflict with master branch.
Description from the original PR:

This commit improves the responsive layout generation by adding support for a maxRows parameter. The findOrGenerateResponsiveLayout function in responsiveUtils.js and the generateInitialState function in ResponsiveReactGridLayout.jsx now accept a maxRows parameter and use it to limit the height of the layout. The compact and compactItem functions in utils.js have also been updated to handle the maxRows parameter.
This change addresses the issue where the layout could exceed the specified maximum number of rows. It ensures that the layout is compacted and adjusted to fit within the specified constraints.

This PR fixes the bug:  the maxRows restriction.
What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents
Original PR from fork: https://github.com/parth-chovatiya/react-grid-layout/pull/1
Fixes: https://github.com/react-grid-layout/react-grid-layout/issues/2044
Fixes: https://github.com/react-grid-layout/react-grid-layout/issues/1278
Mobile & Desktop Screenshots/Recordings
Here
Added tests?

[ ] 👍 yes
[ ] 🙅 no, because they aren't needed
[x] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 examples
[x] 🙅 no documentation needed

@5kahoisaac It is not a proper solution. We are working on that. That PR is just version 1 to implement in our project.
 Overlay, etc...

bro copied the whole thing without testing 😭
there's a reason i didn't create a pr here


Implement Cache and cuda_array_interface for v21.06.00

I'm sorry for this big change.
This includes CI build failure fixes as well as new features/fixes/documents that couldn't be merged due to CI build failures.
@quasiben on top of your change (https://github.com/rapidsai/cucim/pull/46), the only missing piece was, adding pytest (https://github.com/rapidsai/cucim/pull/48/commits/8334f1f2d46738c31108ebc4303812ab9d93da0c) (which was not revealed until I added set -x to the build script (https://github.com/rapidsai/cucim/pull/48/commits/fae529d1589b5db98f55cc3fb941552d25d76ff9).
@jakirkham This change doesn't include a doc builder change in your PR (
https://github.com/rapidsai/cucim/pull/45/files#diff-5ed0e3039eb400d13dc55579a034925ea8d08e9f2054085b1c79fdc46a7c09a8L29) so the script may need to further updated in the next change.

Fix memory leak in deflate decoder (#37)
Update build script to handle failures (#45, #46)
Fix typo in meta.yaml (#45, #46)
Add pytest to gpu build script (#45, #46)
Implement cache mechanism (#34)
Add __cuda_array_interface__
Support CUDA 10.x for cucim.skimage package (#44)
Expose preferred_memory_capacity() for cache
Fix failures due to GIL and nullptr access
Add notebooks for cache and cuda array interface (#34)
Update change logs for v21.06.00

Hi @ajschmidt8, could this change be merged into 21.06.00 branch before release?

I found it easier to look at the individual commits.  I left a few small comments on the setup.py file.  I think there is probably better to do than add the pytest  conda package but i'm ok pushing that off for another PR

Thanks @jakirkham and @quasiben for the review! I would address your comments tonight.

Few changes requested here. Also, branch-21.06 is in code-freeze, so the base branch for this PR will need to be updated to branch-21.08.

For clarity, we'd like for this to be released with 21.06 as other libraries would like to pick this up -- but not part of the larger RAPIDS integration meta-package.  Is that something we could do ?

Few changes requested here. Also, branch-21.06 is in code-freeze, so the base branch for this PR will need to be updated to branch-21.08.

For clarity, we'd like for this to be released with 21.06 as other libraries would like to pick this up -- but not part of the larger RAPIDS integration meta-package. Is that something we could do ?

@quasiben, gotcha. This PR has a lot of changes, so I'm not sure it'd be a good idea to merge all of this a few days before the release. Couple questions here though.

Which libraries require these changes?
Are the changes here considered "required" for 21.06 to work? Or are they just "nice-to-haves"?

Several of these changes were in previous PRs that were blocked due to CI issues. So Gigon has aggregated them together. IOW they are not as new as they might seem
The changes are really limited to cuCIM and are mainly in response to needs Clara has in their downstream libraries or outside user requests. So they shouldn't effect other RAPIDS libraries

@gigony would be better positioned to answer these questions:

Which libraries require these changes?
a. MONAI is a higher lever product depending on
Are the changes here considered "required" for 21.06 to work? Or are they just "nice-to-haves"?
a. The majority of these changes are in the required for 21.06.  I would hope these large code changes before releases decreases as the library matures.

Again, @gigony can you also comment here ?

MONAI and Clara Train SDK is using cuCIM.
since they are using PyPI package and I would release new version of PyPI
package(21.06.00) separately tomorrow, conda package doesn't affect to
those projects. However, not merging thid would cause discrepancy between
the two packages (conda vs PyPI) and that's what I am worrying about.

I am sorry for the last minute changes. I will try to push all the needed
change before code freeze next time.
On Mon, Jun 7, 2021 at 11:52 AM Benjamin Zaitlen @.***>
wrote:

@gigony https://github.com/gigony would be better positioned to answer
these questions:

Which libraries require these changes?
a. MONAI is a higher lever product depending on
Are the changes here considered "required" for 21.06 to work? Or
are they just "nice-to-haves"?
a. The majority of these changes are in the required for 21.06. I
would hope these large code changes before releases decreases as the
library matures.

Again, @gigony https://github.com/gigony can you also comment here ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rapidsai/cucim/pull/48#issuecomment-856178008, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAOW2SW4KQCVIOIWEAUI4PDTRUIOVANCNFSM46ENHSCA
.

I think this is fine to merge this into 21.06 after addressing some of the request changed.

Thanks @raydouglass

Thank you @quasiben @jakirkham @ajschmidt8 for the review!
I have addressed your comments except https://github.com/rapidsai/cucim/pull/48#discussion_r646838902 to make sure that this change is buildable without errors.
Could we merge this PR first and then apply @jakirkham 's patches shown below, to use rapids conda environment?

https://github.com/rapidsai/cucim/commit/495aa7316661b2efc95957d39c49f8831fb73f91
https://github.com/rapidsai/cucim/pull/45/files#diff-5ed0e3039eb400d13dc55579a034925ea8d08e9f2054085b1c79fdc46a7c09a8L29


Add contains operator for collections

What:
Adds a new contains operator for Collections that have an Equatable value.
Why:
Provides an assertion that corresponds to a commonly used function on collections. This operator returns the original collection so multiple calls can be chained to validate multiple distinct values in cases where the overall contents and order of the collection aren't important for the test.
Assert(that: somearray)
    .contains("foo")
    .contains("bar")

How:
Implemented a new operator on any Collection with an Equatable element that calls through to contains on the collection.
Testing Notes
Included tests for both Array and Set. If there are any other useful collections to validate this with let me know.

If you can update the ReadMe/Changelog as appropriate, this would make it release ready.

Good call. No changes needed to the README but the changelog has been updated. Looks like I forgot to do that for the 2.0.0 release so this fixes all that up and marks this being part of a 2.1.0 release so that we can cut one after this merges.

it looks like the QA action is failing but not stopping the PR. I think the QA action is old and non working. Can you try updating qa.yml to match the one that Telemetry is using?

it looks like the QA action is failing but not stopping the PR. I think the QA action is old and non working. Can you try updating qa.yml to match the one that Telemetry is using?

Updated


User registration

Epic:
User Account Management
US-1:
As a User, I want to Sign Up in Horondi, so that I can create my account
Acceptance criteria:
•	User can Sign Up via:
Email
Google Account
•	User is obliged to pass email verification for Log In
•	A welcome email asking to confirm account creation and verify email address will contain URL to the Horondi website
•	Account is confirmed upon clicking the URL in the email
•	User will be Logged In after confirming account creation
•	Cookie users so Log In is not required for return visits
Data validations to the Name:

Not less than 2 and not more than 15 characters for First and Last Name fields
Letters and ‘ character only
If any other character (for example: . , / _ + -) ) is entered, then the system will display an "incorrect Character" and will automatically prompt to enter again

Data validations to the Password:

Not less than 6 characters and not more than 15 characters
Letters and numbers only
If any other character (for example:  . , / _ + -) ) is entered, then the system will display an "incorrect Character" and will automatically prompt to enter again

Notifications:

If User Signs Up via Google Account, then he/she does not need to enter the password and automatically Signs Up
Successful Registration Information window pops up on the same page

Add Google Account field for Registration as in Log In


Removing transitionTime from terminal releases

Removing transitionTime from terminal releases to reduce annotation size

@ankitathomas Is this PR ready to go?

Yes, this one is good to go!

Squash and please provide better commit title and message (describing the holistic change).

If in the future you can improve both parts of the commit message (title is one sentence describing the problem / change, body is several sentences describing the problem, what the fix is, and why this particular fix) that will help with review.  The better your commit message, the easier review is, and the easier it is later to understand the context around a change.

If you can update the commit message within that framework for this change I'd appreciate it

covered by 213


querydsl-sql-spring: connections not closed

When integrating with Spring, the JDBC connections are not closed, which causes a "pool empty" error after a while.
Spring's typical usage of connections is as follows (excerpt from Spring JdbcTemplate):
		Connection con = DataSourceUtils.getConnection(getDataSource());
		try {
			Connection conToUse = con;
			if (this.nativeJdbcExtractor != null) {
				// Extract native JDBC Connection, castable to OracleConnection or the like.
				conToUse = this.nativeJdbcExtractor.getNativeConnection(con);
			}
			else {
				// Create close-suppressing Connection proxy, also preparing returned Statements.
				conToUse = createConnectionProxy(con);
			}
			return action.doInConnection(conToUse);
		}
		catch (SQLException ex) {
			// Release Connection early, to avoid potential connection pool deadlock
			// in the case when the exception translator hasn't been initialized yet.
			DataSourceUtils.releaseConnection(con, getDataSource());
			con = null;
			throw getExceptionTranslator().translate("ConnectionCallback", getSql(action), ex);
		}
		finally {
			DataSourceUtils.releaseConnection(con, getDataSource());
		}

Connections are obtained via the DataSourceUtils.getConnection(...)method, and this is done properly in Querydsl. However connections are not closed at all.
One could use a SQLCloseListener to close the connections but using the Spring DataSourceUtils.releaseConnection(...) method as in the JdbcTemplate excerpt above seems a better idea.
So I propose using a new listener when configuring Spring integration:
/**
 * {@code SpringSQLCloseListener} closes the JDBC connection at the end of the query
 * or clause execution
 */
public final class SpringSQLCloseListener extends SQLBaseListener {

    private final DataSource dataSource;

    public SpringSQLCloseListener(DataSource dataSource) {
        this.dataSource = dataSource;
    }

    @Override
    public void end(SQLListenerContext context) {
        Connection connection = context.getConnection();
        DataSourceUtils.releaseConnection(connection, dataSource);
    }
}

So the steps to configure Spring with Querydsl would be as follows:
@Bean
public com.querydsl.sql.Configuration querydslConfiguration() {
    SQLTemplates templates = H2Templates.builder().build(); //change to your Templates
    com.querydsl.sql.Configuration configuration = new com.querydsl.sql.Configuration(templates);
    configuration.setExceptionTranslator(new SpringExceptionTranslator());
    configuration.addListener(new SpringSQLCloseListener());
    return configuration;
}

Does this solution seem appropriate?

This solution works for me.  SQLCloseListener was throwing closed connection exceptions.

This issue has not been fixed from 2016 to now in 2024. I’ve given up on Querydsl.

This issue has not been fixed from 2016 to now in 2024. I’ve given up on Querydsl.

Do something. Raise a PR. Pay someone to do it.
Issue is not fixed cause you don't care enough to get it fixed


Provide more details about the items in the queue

Currently we can only see the uid of the item in the queue.  I think it would be useful to the more information, similar to the list of historical plans.

:+1: a hundred times over for this one.  The UID is not helpful to the user.  Queue entries should be constructed in a way that solicits metadata that identifies the measurement or the sample or something.  Then that metadata should be displayed in the queue.


fix ci

CI working (and failing as expected)... good to go!

The doc build was successful. That surprises me.
I will cut and paste the changes to my new branch and close this pr when the new one is ready. Glad CI is working.

You're right, it works. I misinterpreted the log, you just have a lot of warnings (try to fix those as well, otherwise eventually they'll become problems).
Something didn't work right with the distribution workflow. Let me try one thing.

All good, you just have to fix the pre-commit problems with the notebooks

I'll just merge this despite the style checks failed for the notebook and fix the pre-commit in new PR.


Make Crest handle failed compute shader loads more gracefully

A common issues users have is that compute shaders won't load correctly through no fault of their own. However, previously Crest would just null-reference exception all over the place without a clear indication to the user as to why.
This change aims to ensure two things:

When a compute shader fails to load, we give a good error message explaining that and provide a common solution.

Crest no longer spams the log with new null reference exceptions every frame if the compute shaders fail to load.

The first point is achived by replacing the calls to Resources.Load to a call into a wrapper which asserts if the load fails.
The second point is achived by finding all the bits of code which only run under the assumption that compute shaders will successfully load, and ensure that they now simply stop updating or just do nothing if that assumption fails.
Below is a screenshot showing what I get if I have manually deleted all the compute shaders myself:

Nice one!


🌐 Add Chinese translation for docs/zh/docs/advanced/events.md

As title

@jaystone776 Do you still take care of these translation PRs? I'm going to contribute. If now you you're offline or busy , I would create new PR because of some changes about you PR.

@jaystone776 Do you still take care of these translation PRs? I'm going to contribute. If now you you're offline or busy , I would create new PR because of some changes about you PR.

📝 Docs preview for commit f984afd2fcdeda2417b5c2ab3dcf1f8f451bfd83 at: https://649a0cb17ce5230bcd50e352--fastapi.netlify.app

Thanks! @jaystone776 🐱
And thanks for the help @zy7y 🔍


remove the existing grammar from rust-lang/rust

We definitely want to make https://github.com/rust-lang/rust/pull/55545 to happen, but it's too early yet - let's track this here to make sure we can come back to it later

This has been done in https://github.com/rust-lang/rust/pull/64896


Add John SJ

Code is updated and merged, but a new PyPI release will need to be done.
I see Kim Andrews hasn't been added to this repo yet, so I'm going to open an issue and add her, then update the package.


Petition for Removal of Guardian of Minor (MPC 240) | The way this first sentence is broken up is confusing/unclear: “If:you or a child you know or are related to has a court-appointed guardian, andyou have a reason that the guardian should be removed or replaced,You can use this interview to ask the court to remove the guardian, or to name a new guardian.”Maybe just “This form can help you if you are involved in a guardianship of a minor and believe that the guardian should be replaced or removed. You can use this form to end the guardianship or to replace the guardian.”