[jira] [Commented] (NETBEANS-6494) Gradle projects reload into memory on project close

2022-04-11 Thread Laszlo Kishalmi (Jira)


[ 
https://issues.apache.org/jira/browse/NETBEANS-6494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17520766#comment-17520766
 ] 

Laszlo Kishalmi commented on NETBEANS-6494:
---

What I'm thinking is, that on project close we shall not dump the GradleProject 
internally. It still contains viable information. In Maven the project info is 
retrieved almost as just parsing an xml.

> Gradle projects reload into memory on project close
> ---
>
> Key: NETBEANS-6494
> URL: https://issues.apache.org/jira/browse/NETBEANS-6494
> Project: NetBeans
>  Issue Type: Bug
>  Components: projects - Gradle
>Affects Versions: 13
>Reporter: Svatopluk Dedic
>Assignee: Svatopluk Dedic
>Priority: Critical
> Fix For: 14
>
>
> When / after a gradle project is closed (I used File | Close All Projects) 
> various UI-based refreshes cause the project(s) to be reloaded back into the 
> memory. 
> I've capture two stacktraces:
>  
> {code:java}
> java.lang.Exception
>     at 
> org.netbeans.modules.project.ui.problems.BrokenProjectAnnotator.propertyChange(BrokenProjectAnnotator.java:183)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
>     at 
> org.netbeans.spi.project.ui.support.UILookupMergerSupport$ProjectProblemsProviderImpl.propertyChange(UILookupMergerSupport.java:283)
>     at 
> org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:190)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
>     at 
> org.netbeans.modules.gradle.java.GradleJavaProjectProblemProvider.lambda$new$0(GradleJavaProjectProblemProvider.java:47)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
>     at 
> org.netbeans.modules.gradle.api.NbGradleProject.doFireReload(NbGradleProject.java:256)
>     at 
> org.netbeans.modules.gradle.api.NbGradleProject.access$100(NbGradleProject.java:57)
>     at 
> org.netbeans.modules.gradle.api.NbGradleProject$AccessorImpl.doFireReload(NbGradleProject.java:166)
>     at 
> org.netbeans.modules.gradle.NbGradleProjectImpl.loadOwnProject0(NbGradleProjectImpl.java:481)
>     at 
> org.netbeans.modules.gradle.NbGradleProjectImpl.projectWithQuality(NbGradleProjectImpl.java:277)
>     at 
> org.netbeans.modules.gradle.NbGradleProjectImpl.getGradleProject(NbGradleProjectImpl.java:193)
>     at 
> org.netbeans.modules.gradle.api.NbGradleProject.projectLookup(NbGradleProject.java:186)
>     at 
> org.netbeans.modules.gradle.java.api.GradleJavaProject.get(GradleJavaProject.java:125)
>     at 
> org.netbeans.modules.gradle.java.queries.GradleSourceForBinary$Res.getRoots(GradleSourceForBinary.java:146)
>     at 
> org.netbeans.api.java.queries.SourceForBinaryQuery$Result2.getRoots(SourceForBinaryQuery.java:173)
>     at 
> org.netbeans.modules.java.api.common.classpath.ModuleClassPaths$ModuleInfoClassPathImplementation.lambda$collectProjectSourceRoots$25(ModuleClassPaths.java:1158)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>     at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
>     at 
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
>     at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
>     at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>     at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>     at 
> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
>     at 
> org.netbeans.modules.java.api.common.classpath.ModuleClassPaths$ModuleInfoClassPathImplementation.collectProjectSourceRoots(ModuleClassPaths.java:1155)
>     at 
> 

[jira] [Commented] (NETBEANS-6494) Gradle projects reload into memory on project close

2022-04-06 Thread Laszlo Kishalmi (Jira)


[ 
https://issues.apache.org/jira/browse/NETBEANS-6494?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17518511#comment-17518511
 ] 

Laszlo Kishalmi commented on NETBEANS-6494:
---

I have something in my mind, and yes this shall be fixed by 14.

 

> Gradle projects reload into memory on project close
> ---
>
> Key: NETBEANS-6494
> URL: https://issues.apache.org/jira/browse/NETBEANS-6494
> Project: NetBeans
>  Issue Type: Bug
>  Components: projects - Gradle
>Affects Versions: 13
>Reporter: Svatopluk Dedic
>Assignee: Svatopluk Dedic
>Priority: Critical
> Fix For: 14
>
>
> When / after a gradle project is closed (I used File | Close All Projects) 
> various UI-based refreshes cause the project(s) to be reloaded back into the 
> memory. 
> I've capture two stacktraces:
>  
> {code:java}
> java.lang.Exception
>     at 
> org.netbeans.modules.project.ui.problems.BrokenProjectAnnotator.propertyChange(BrokenProjectAnnotator.java:183)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
>     at 
> org.netbeans.spi.project.ui.support.UILookupMergerSupport$ProjectProblemsProviderImpl.propertyChange(UILookupMergerSupport.java:283)
>     at 
> org.openide.util.WeakListenerImpl$PropertyChange.propertyChange(WeakListenerImpl.java:190)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
>     at 
> org.netbeans.modules.gradle.java.GradleJavaProjectProblemProvider.lambda$new$0(GradleJavaProjectProblemProvider.java:47)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.fire(PropertyChangeSupport.java:343)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:335)
>     at 
> java.desktop/java.beans.PropertyChangeSupport.firePropertyChange(PropertyChangeSupport.java:268)
>     at 
> org.netbeans.modules.gradle.api.NbGradleProject.doFireReload(NbGradleProject.java:256)
>     at 
> org.netbeans.modules.gradle.api.NbGradleProject.access$100(NbGradleProject.java:57)
>     at 
> org.netbeans.modules.gradle.api.NbGradleProject$AccessorImpl.doFireReload(NbGradleProject.java:166)
>     at 
> org.netbeans.modules.gradle.NbGradleProjectImpl.loadOwnProject0(NbGradleProjectImpl.java:481)
>     at 
> org.netbeans.modules.gradle.NbGradleProjectImpl.projectWithQuality(NbGradleProjectImpl.java:277)
>     at 
> org.netbeans.modules.gradle.NbGradleProjectImpl.getGradleProject(NbGradleProjectImpl.java:193)
>     at 
> org.netbeans.modules.gradle.api.NbGradleProject.projectLookup(NbGradleProject.java:186)
>     at 
> org.netbeans.modules.gradle.java.api.GradleJavaProject.get(GradleJavaProject.java:125)
>     at 
> org.netbeans.modules.gradle.java.queries.GradleSourceForBinary$Res.getRoots(GradleSourceForBinary.java:146)
>     at 
> org.netbeans.api.java.queries.SourceForBinaryQuery$Result2.getRoots(SourceForBinaryQuery.java:173)
>     at 
> org.netbeans.modules.java.api.common.classpath.ModuleClassPaths$ModuleInfoClassPathImplementation.lambda$collectProjectSourceRoots$25(ModuleClassPaths.java:1158)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
>     at 
> java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197)
>     at 
> java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
>     at 
> java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
>     at 
> java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
>     at 
> java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
>     at 
> java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
>     at 
> java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
>     at 
> org.netbeans.modules.java.api.common.classpath.ModuleClassPaths$ModuleInfoClassPathImplementation.collectProjectSourceRoots(ModuleClassPaths.java:1155)
>     at 
> org.netbeans.modules.java.api.common.classpath.ModuleClassPaths$ModuleInfoClassPathImplementation.getResources(ModuleClassPaths.java:682)
>     at 
>