10 Commits

Author SHA1 Message Date
Akash Yadav fac8ac61e1 fix: test compilation errors 2024-07-20 20:43:19 +05:30
Akash Yadav 1d68499189 fix(xml): extract API classes from aaptcompiler to :xml:resources-api 2024-07-20 19:04:36 +05:30
Akash Yadav 1165f12ccb fix(projects): introduce workspace API and remove 'Project' model 2024-07-20 19:04:35 +05:30
Akash Yadav dab784af40 fix: update group IDs for sub-modules; fixes gradle plugin test failures 2024-07-20 19:04:33 +05:30
Akash Yadav 1ed5f77dae refactor(projects): reorganize project APIs in different packages 2024-07-20 19:04:33 +05:30
Akash Yadav 11858d7dce fix: make ApiVersionsRegistry thread-safe 2024-07-20 19:04:32 +05:30
Akash Yadav 52a6117451 fix: cut down memory usage in ApiVersionsRegistry
This commit adds the following improvements to the ApiVersionsRegistry implementation :

- Use Java StAX parser for memory-efficient XML processing
- Reduce object allocations for representing API version info by reusing ApiVersion instances which represent the same API versions.
- Trim method return types in method signature strings to reduce memory usage by a small amount
- A single model class is now used to represent the API information. Earlier, we had different classes to represent API info for classes, fields and metnods.
2024-07-20 19:04:32 +05:30
Akash Yadav f325f822ff tests: fix path related test failures 2024-07-20 19:04:23 +05:30
Akash Yadav 0e8bf40e53 fix(lsp): invalid inferred file extensions in FileProvider 2024-07-20 19:04:22 +05:30
Akash Yadav 1efd6a04d5 build: reorganize and reconfigure modules to resolve dependency resolution errors
Gradle, for some reason, does not the path of modules to identify them uniquely. Instead, the 'build id' is used to do so, which consists of the maven group and artifact ID. So, even if two modules are located in separate directories, but have the name group and artifact ID, including both of them in other modules may result in dependency resolution errors.
2024-07-20 19:04:21 +05:30