mbien commented on code in PR #9307:
URL: https://github.com/apache/netbeans/pull/9307#discussion_r3044623944


##########
platform/openide.modules/src/org/openide/modules/Dependency.java:
##########
@@ -361,6 +365,39 @@ public static Set<Dependency> create(int type, String 
body) throws IllegalArgume
         return deps;
     }
 
+    /**

Review Comment:
   Deps are in the streams of `all-modules.dat (ModuleList)` and 
`all-manifests.dat` (`ModuleDataCache`).
   
   The second file is a bit larger and contains more module related info. All 
of this is already custom IO code, serialization of the `Dependency` as 
`ObjectOutputStream` was just an anomaly among it.
   
   The `all-modules` cache is invalidated on any change in the module system
   
   however: there is a second layer in the `Stamps` class (for all caches) 
which checks if
    - any of the clusters changed (which is also cached, which is cached in 
`all-clusters.dat`)
    - checks if any of the `.lastModified` files within the cluster is _newer_ 
than the cache file.
   
   if yes it would invalidate the dat file. To test 
https://github.com/apache/netbeans/pull/9307#issuecomment-4174868675 I had to 
disable this timestamp mechanism, otherwise it would notice.
   
   So IMO this is already covered since stream format versioning is essentially 
time based. NB would ignore the caches if you would copy NB 29 dat files into 
the dev build folder.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to