gradlex-org / extra-java-module-info

A Gradle 6.8+ plugin to use legacy Java libraries as Java Modules in a modular Java project
Apache License 2.0
103 stars 6 forks source link

extra-java-module-info somehow makes intellij sync fail when isolated Projects are enabled #147

Closed tg-freigmbh closed 14 hours ago

tg-freigmbh commented 2 weeks ago

Cross Linking issue: https://youtrack.jetbrains.com/issue/IDEA-359946/isolated-Projects-sync-fails-on-org.gradlex.extra-java-module-info no no idea why that happens

jjohannes commented 14 hours ago

Thank you for looking into compatibility with project isolation. However, I think this plugin is working well with it and the IDEA Sync issue is not related to this project. I can't download the attachment from the IDEA issue, so I do not know know how your example looks exactly. But when I just create a Gradle sample project via:

$ gradle init

Select type of build to generate:
  1: Application
  2: Library
  3: Gradle plugin
  4: Basic (build structure only)
Enter selection (default: Application) [1..4] 1

Select implementation language:
  1: Java
  2: Kotlin
  3: Groovy
  4: Scala
  5: C++
  6: Swift
Enter selection (default: Java) [1..6] 1

Enter target Java version (min: 7, default: 21): 21

Project name (default: gdemo2):

Select application structure:
  1: Single application project
  2: Application and library project
Enter selection (default: Single application project) [1..2] 2

Select build script DSL:
  1: Kotlin
  2: Groovy
Enter selection (default: Kotlin) [1..2] 1

Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no] no

Then add a gradle.properties

org.gradle.configuration-cache=true
org.gradle.unsafe.isolated-projects=true

And then try to load it in IntelliJ, I also get that failure:


FAILURE: Build failed with an exception.

* What went wrong:
Configuration cache problems found in this build.

4 problems were found storing the configuration cache.
- Plugin class 'JetGradlePlugin': Project ':app' cannot access 'Project.group' functionality on another project ':utilities'
- Plugin class 'JetGradlePlugin': Project ':app' cannot access 'Project.version' functionality on another project ':utilities'
- Plugin class 'JetGradlePlugin': Project ':utilities' cannot access 'Project.group' functionality on another project ':list'
- Plugin class 'JetGradlePlugin': Project ':utilities' cannot access 'Project.version' functionality on another project ':list'

See the complete report at ...
> Project ':app' cannot access 'Project.group' functionality on another project ':utilities'
> Project ':app' cannot access 'Project.version' functionality on another project ':utilities'
> Project ':utilities' cannot access 'Project.group' functionality on another project ':list'
> Project ':utilities' cannot access 'Project.version' functionality on another project ':list'