If newly introduced 'jps.build.use.workspace.model' registry option is enabled, required modules and libraries are added to the JPS build classpath, paths to global and project cache file for the workspace model are passed to the build process, and it loads the project model from them instead of reading the project configuration files.
It's an experimental approach, and it isn't fully implemented yet:
* it doesn't ensure that caches are up-to-date;
* the cache currently cannot be loaded by the build process because it references entities and other classes aren't available in the build process (e.g. ScratchRootsEntity and VirtualFileUrlBridge).
GitOrigin-RevId: 54a4a49566ca9dd0433c7a13251c2e28fc051e78
Extract CompilerConfiguration.addNewProcessorProfile method to allow plugins adding new profiles without using ProcessorConfigProfileImpl directly. For now, constructors of the latter are not marked as internal, but all other methods are.
GitOrigin-RevId: 7724f865866598daf8ca4b4f6ce48283c203feb1
This property is not needed as we don't want to expose the information about the internal interface. If the internal interface is needed, an explicit cast to `WorkspaceModelInternal` can be done
GitOrigin-RevId: 8bc63e258e4fd5fa69e9379b3548433c62da922b
This behavior was broken when BuildManager migrated to listen for events from Workspace Model instead of using rootsChanged. ChangeSourceFileSetTest didn't catch that because BaseCompilerTestCase still used rootsChanged.
GitOrigin-RevId: c5d67bfb423faa723b7b6c355fe07bd01906bd16
It'll help us to avoid guessing when we need to use the global or project `VirtualFileUrlManager`
GitOrigin-RevId: 93a8a62634d3b3b284b85c3ca1187403fefc90cc
To get a version of the storage, `currentSnapshot` should be used.
`WorkspaceModelImpl` and `VersionedEntityStorage` are marked as internal. `WorspaceModelImpl` should has an internal modifier, but this is currently not possible because Rider overrides it. `VersionedEntityStorage` may be removed in future at all.
There are some cases when the version of the storage is accessed. Probably we can create a special function to return an entity storage with its version.
This is a part of IJPL-345
GitOrigin-RevId: cc3d6c47099c91c54d571d7ca13c5ef9d84265a9
Metadata hashes are used during deserialization to speed up entities version comparison.
MetadataStorageImpl are generated by the `codegen-api` version `0.0.5` and `codegen-impl` version `2.3.5`
GitOrigin-RevId: 1cbe37c85d99e13863b9d9697f413cbc0c1da662
Workspace model classes were moved to different packages, but the order of import statements wasn't changed, so we have many files with unsorted imports. They are often become sorted when other changes are made in these files, and such unrelated modifications complicate reviewing and may cause merge conflicts.
GitOrigin-RevId: 827744c328ddb2ac3d08ce0bcb8f8e1bb30ac4e9
Mentioning an author of a comment makes little sense since it can be easily found by 'Annotate' action. Also, it may give a false impression that only the author may address the problem described in the comment.
GitOrigin-RevId: 2aa52762b109f0d2f1a6ec6f7bf53f24b39c0997
The rename of the packages is needed to follow the naming convention. See the attached ticket for the details.
GitOrigin-RevId: 24b2328e572efa23d67133fc495855cf662ea795
- It should not have `runBlocking` prefix because it does not spin an inner event loop.
- It has `Modal` to emphasize that it spins nested loop processing AWT EventQueue.
- It should have `Progress` in the name because it shows progress in the UI,
like `withModalProgress` and `withBackgroundProgress` do.
- It has `Blocking` suffix to emphasize that the function call still blocks the calling thread (EDT).
GitOrigin-RevId: 41581b894bc5df0035fa4c73dee658e6a91f6540