spring-projects / spring-integration

Spring Integration provides an extension of the Spring programming model to support the well-known Enterprise Integration Patterns (EIP)
http://projects.spring.io/spring-integration/
Apache License 2.0
1.54k stars 1.11k forks source link

Fix Gradle 7 Deprecations #3224

Closed garyrussell closed 2 years ago

garyrussell commented 4 years ago

I am not sure why, but it looks like the rename in schemaZip avoids the duplicate zip entries deprecation fixed in other projects.

These deprecations remain.

> Configure project :
The testRuntime configuration has been deprecated for dependency declaration. This will fail with an error in Gradle 7.0. Please use the testRuntimeOnly configuration instead. Consult the upgrading guide for further information: https://docs.gradle.org/6.2.2/userguide/upgrading_version_5.html#dependencies_should_no_longer_be_declared_using_the_compile_and_runtime_configurations
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure7$_closure110.doCall(/Users/grussell/Development/spring-integration/build.gradle:425)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-amqp:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-core:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-event:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-feed:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-file:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-ftp:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-gemfire:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-groovy:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-http:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-ip:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-jdbc:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-jms:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-jmx:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-jpa:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-mail:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-mongodb:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-mqtt:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-redis:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-rmi:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-rsocket:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-scripting:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-security:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-sftp:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-stomp:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-stream:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-syslog:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-test:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-test-support:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-twitter:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-webflux:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-websocket:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-ws:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-xml:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-xmpp:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
The configuration :spring-integration-zookeeper:compileClasspath was resolved without accessing the project in a safe manner.  This may happen when a configuration is resolved from a different project. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors for more details.
        at build_30727jw8lx1eqql4z9oe7u6rc$_run_closure50$_closure176.doCall(/Users/grussell/Development/spring-integration/build.gradle:1000)
        (Run with --stacktrace to get the full stack trace of this deprecation warning.)
garyrussell commented 4 years ago

I am not sure why, but it looks like the rename in schemaZip avoids the duplicate zip entries deprecation fixed in other projects.

It's not the rename - I just added that to the SIK build but we still get duplicate zip file entries.

In summary, I am not sure why we don't have duplicates in the schema zip; diagnostics show we run the into multiple times for each schema.

artembilan commented 4 years ago

I'm not sure what you want to hear from me, but I'm OK with whatever you can make to PR the fix for this issue.

Thanks

garyrussell commented 4 years ago

Hehe - one of us has to study https://docs.gradle.org/6.2.2/userguide/viewing_debugging_dependencies.html#sub:resolving-unsafe-configuration-resolution-errors

I doubt my groovy skills are up to it.

artembilan commented 4 years ago

we have that "compileClasspath was resolved without accessing the project in a safe manner." from the dokka. I've copied classpath += files(javaProjects.collect { it.sourceSets.main.compileClasspath }) from Spring Framework: https://github.com/spring-projects/spring-framework/blob/master/gradle/docs.gradle#L70

Looks like we definitely need those jars for the proper k-docs generation, but I have no idea how to collect dependencies to honor Gradle requirements. It was really safe before...

Or we need to wait when SF resolves this issue or we just ask Gradle team how to resolve this issue. 😄

garyrussell commented 4 years ago

I have been playing with it; getting close 😄

artembilan commented 2 years ago

Has been fixed with these commits:

https://github.com/spring-projects/spring-integration/commit/761ccf2ed2ff17e26f062da864df60bd36668d18 https://github.com/spring-projects/spring-integration/commit/0ebd076637c17670b72a4c2f2ab0b4ee4a93f789 https://github.com/spring-projects/spring-integration/commit/adb52baa9516e5c87b47cf5c031d7460c4c6ab09