Commit Graph

562 Commits

Author SHA1 Message Date
Eugene Zhuravlev
578a6bb592 use netty-4.1 in jps; fix javac7 compilation (IDEA-361854)
(cherry picked from commit 2c42d875202ef69dc0c33447a1859e1941bae668)

IJ-CR-151097

GitOrigin-RevId: 3a496497189b778ccc267db98503cc7eb5a11fa5
2024-12-14 16:00:00 +00:00
Aleksey Dobrynin
ed58651022 [java, property] use ISO_8859_1 by default IJPL-171550
(cherry picked from commit 03eef91339fe1a0f2c2a7936d6809b0cfce1c52d)

IJ-CR-149616

GitOrigin-RevId: 10a49bd5dc9c8e6da37a9499df164a0184506516
2024-11-19 14:17:52 +00:00
Aleksey Dobrynin
4c68556fdc [properties] support encoding detection of large property files IDEA-360552
GitOrigin-RevId: 4b8e53f97bc93df6c9b2b212b5fa3b92692773c1
2024-10-14 16:01:29 +00:00
Aleksey Dobrynin
338475c607 [properties] add UTF-8 to ISO-8859-1 fallback for properties files IDEA-360433
GitOrigin-RevId: f93174e21b407022c5a9f356c220aa3ac443a0b0
2024-10-10 19:10:12 +00:00
Aleksey Dobrynin
02e0241f7b [properties] set default encoding for properties files to UTF-8 instead of ISO 8859-1 IDEA-301047
GitOrigin-RevId: eee83a314347556ea1b7437f9bee30f71cf155f0
2024-10-01 14:55:29 +00:00
Georgii Ustinov
acb49729e1 [Java] Fix testParallelCompilationOptionMapToBoolean by checking the value in automatic mode properly
IDEA-352162

GitOrigin-RevId: 3dae1f0e7b3dc8024f634807de224a95500b10e0
2024-09-09 18:47:39 +00:00
Georgii Ustinov
a661a4a2b9 [Java] Add tests for the CompilerConfiguration
IDEA-352162

GitOrigin-RevId: 1e8879e88bc39a108aa654fb0b8b5f5c025e0324
2024-08-08 12:35:16 +00:00
Aleksei.Cherepanov
5705ecc4e4 [JPS] IJPL-105 Enable unified Java/Kotlin IC by default
Also relates: KT-59527, OSIP-160

GitOrigin-RevId: 3252353d6e9b681aadb47ccff69715a8184ebf4b
2024-07-31 21:34:26 +00:00
Nikolay Chashnikov
128b7b34df [tests] publish configs and build logs if a compilation test fails as build artifacts
This is needed to investigate IJPL-115184.

GitOrigin-RevId: 29df8e164b5fee6f2101190134fa989300b89e7b
2024-07-17 17:57:46 +00:00
Nikolay Chashnikov
f3ab5a172e [jps build] provide a way to pass workspace model to the JPS build process in serialized way (IJPL-409)
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
2024-07-01 14:04:06 +00:00
Nikolay Chashnikov
dc0da42c82 IJPL-797 intellij.platform.jps.model.impl review internal API
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
2024-06-20 18:28:24 +00:00
Tagir Valeev
cfffe7e49e [java-tests] PackagingValidationTestCase: remove unused myQuickFixes
GitOrigin-RevId: a05bfa1eed87bef0de7afb8fd450ac2b4c288fb9
2024-06-18 12:26:39 +00:00
Mikhail Mazurkevich
e90f9b767a [workspace model] IJPL-15936 Rename modifyEntity extension function
GitOrigin-RevId: 17a28521dcb772c359fc190ef05f934d35c3b510
2024-06-03 16:51:03 +00:00
Alex Plate
03f622096c [Workspace Model] [IJPL-583] Update production code to support new entities
GitOrigin-RevId: e78abfe0370bfdfcfc885621e09008e6de9eadde
2024-03-25 13:27:42 +00:00
Alex Plate
c28fbc938d [Workspace Model] Inline the WorkspaceModel.internal extension property
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
2024-03-19 19:51:02 +00:00
Eugene Zhuravlev
27e7521afa JPS mappings for incremental compilation refactoring: rework logic marking dependencies on class addition: use ImportPackageOnDemandUsage to define affection scope (more accurate); get rid of short class name index
GitOrigin-RevId: 1411080b7d823fd13acfc6b2acfe86cf162f8ee6
2024-03-19 16:23:51 +00:00
Mikhail Mazurkevich
22045ae723 [workspace model ]IJPL-345 Rename getOrCreateFromUri to getOrCreateFromUrl
GitOrigin-RevId: 0df377f4450b6db2c907524f1a99a451fd93e039
2024-02-27 10:44:13 +00:00
Andrei.Kuznetsov
ef653e31ed IJPL-578 Explicitly wait for smart mode in tests (tests/Java)
GitOrigin-RevId: f988e7c6f05e5026ef971ec3df3b279c49841e75
2024-01-31 00:01:04 +00:00
Nikolay Chashnikov
25ed897eb5 [java compiler] force FS rescan in JPS build process after changes in excluded directories or patterns (IDEA-344089)
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
2024-01-27 01:41:16 +00:00
Mikhail Mazurkevich
690badb9cc [workspace model] IJPL-345 Make VirtualFileUrlManager as a part of WorkspaceModel interface
It'll help us to avoid guessing when we need to use the global or project `VirtualFileUrlManager`

GitOrigin-RevId: 93a8a62634d3b3b284b85c3ca1187403fefc90cc
2024-01-25 08:04:44 +00:00
Mikhail Mazurkevich
8101439d4a [workspace model] IJPL-345 Rename VirtualFileUrlManager#fromUrl to VirtualFileUrlManager.getOrCreateFromUri
GitOrigin-RevId: 810c3ce308c902ea4e1acf479a0b781ce45b34bc
2024-01-23 13:44:33 +00:00
Mikhail Mazurkevich
5dc4732274 [workspace model] IJPL-345 Remove VirtualFileUrlManager#fromPath from the API.
Use `VirtualFileUrlManager.fromUrl` instead with direct protocol declaration

GitOrigin-RevId: 470f87104ad2698cbc84e83b38df4624ea04a6f6
2024-01-23 13:44:33 +00:00
Alex Plate
e1e586b158 [Workspace Model] Introduce WorkspaceModelInternal interface with some internal functions
This is a part of IJPL-345

GitOrigin-RevId: c6879d14c8ecbc383b957cfeef2a670743636193
2024-01-11 10:37:33 +00:00
Alex Plate
2c72660e60 [Workspace Model] Remove entityStorage from the WorkspaceModel API
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
2024-01-10 15:52:45 +00:00
Alex Plate
8948c9cfe5 [Workspace Model] EntityReference is renamed to EntityPointer
This is a part of IJPL-345

GitOrigin-RevId: 1ebd5ae9908af1f10b1cf2ed857e5c3a17907633
2024-01-10 00:17:42 +00:00
Stepan Bagritsevich
623a3dcc87 [Workspace model] IDEA-338321 Add metadata hashes to the MetadataStorage
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
2023-12-01 15:31:29 +00:00
Stepan Bagritsevich
0efce0e316 [Workspace Model] IDEA-300053 Regenerate metadata storage according to the new codegen impl version 2.3.4
Change the use of arrayListOf to listOf

GitOrigin-RevId: b29a4e6680a8a1230a72ceae6e0e8858e0b689fb
2023-11-23 12:25:22 +00:00
Daniil Ovchinnikov
c02e719798 IJPL-274 migrate tasks.kt functions' usages
GitOrigin-RevId: d11b1726a501df22853efabc37b3275e62e392ed
2023-10-18 23:33:12 +00:00
Nikolay Chashnikov
97e876d874 cleanup: reorder import statements for workspace model classes (IDEA-320676)
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
2023-10-06 11:31:33 +00:00
Stepan Bagritsevich
4907beb57c [Workspace Model] IDEA-300053 Regenerate metadata storage impl with new codegen-impl version (2.3.3)
ListOf changed to arrayListOf, setOf to hashSetOf, mapOf to hashMapOf

GitOrigin-RevId: 267067923a1126d086dded311be7b2f833d08841
2023-09-25 12:12:29 +00:00
Stepan Bagritsevich
b7e00c5e35 [Workspace Model] IDEA-300053 Fix regex for entity source and symbolicId implementations
GitOrigin-RevId: aa6aab0ce58dbf11bb9ba06e3c8fe4157646889f
2023-09-21 07:34:11 +00:00
Nikolay Chashnikov
f9a1959a64 cleanup: use ModuleRootListener.TOPIC instead of deprecated ProjectTopics.PROJECT_ROOTS (IDEA-331726)
GitOrigin-RevId: cb899d0b2e7a30e0e6751534e700d5de7506ab7e
2023-09-06 11:11:55 +00:00
Nikolay Chashnikov
1042c5a0a2 cleanup: remove author from TODO comments and remove some obsolete and unclear TODOs
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
2023-09-06 11:11:13 +00:00
Alex Plate
ec978b4392 [Workspace Model] Write more tests for changes in dirCopy packaging element of artifacts
In preparation to migration of ArtifactListener to IDEA-318790

GitOrigin-RevId: fee4a31dfe6a4aa8938a114afe9095aa7fabd06c
2023-08-29 16:03:17 +00:00
Eugene Zhuravlev
18275c4b77 use language level corresponding to build's runtime JDK to avoid irrelevant compiler's compatibility warnings (IDEA-327267)
GitOrigin-RevId: a0cb9b18f31d272e4bf151a6b2517abfe3f4ee60
2023-08-03 15:03:15 +00:00
Alex Plate
069e1b0932 [Workspace Model] [IDEA-320676] Move WorkspaceModel to the new module
GitOrigin-RevId: 16b9ef5a148ed992acffce8cc14124045e9dd376
2023-06-19 09:35:21 +00:00
Alex Plate
0ea27da5c6 [Workspace Model] [IDEA-320676] Move all packages from workspaceModel to workspace folder
GitOrigin-RevId: b70062397efd6347c34431c24aacd2ec2e216897
2023-06-19 09:35:12 +00:00
Alex Plate
e18c7d8a5f [Workspace Model] Move sources of the storage under workspace package
GitOrigin-RevId: 013ce64337fe7b3637d731c1093a2337bbe71f22
2023-06-19 09:35:08 +00:00
Alex Plate
bfd595ae86 [Workspace Model] [IDEA-320676] Rename package of jps model (ModuleEntity and other related entities)
GitOrigin-RevId: 102135a4f66c4a12c9b1f95035b1607cb933825d
2023-06-19 09:35:04 +00:00
Alex Plate
d1f070efbe [Workspace Model] [IDEA-320676] Move java entities under workspaceModel.entities package
GitOrigin-RevId: 0cc19eb22da6f12cc1d49dbb18bfe32b05161307
2023-06-19 09:35:01 +00:00
Alex Plate
b4d14401c7 [Workspace Model] [IDEA-320676] Move javaModuleSettings to a different package
GitOrigin-RevId: d0c5aaabc4f76bfec75519f69aae18ec8fcc21df
2023-06-19 09:34:58 +00:00
Alex Plate
9630a8a326 [Workspace Model] [IDEA-320676] Move ArtifactEntity to com.intellij.java.model package of intellij.platform.workspaceModel.jps module
GitOrigin-RevId: ac5b632a34f2a5633a9b7d1838937c69371fff1e
2023-06-19 09:34:55 +00:00
Alex Plate
4ade3683be [Workspace Model] Inlined extension functions related to creation of the ArtifactEntity
GitOrigin-RevId: 33dcf6ce88be7cf4e7f803ac4be94f35b7c860b5
2023-06-19 09:34:41 +00:00
Alex Plate
37c54118b9 [Workspace Model] [IDEA-320676] Rename base packages of the workspace model: com.intellij.workspaceModel
The rename of the packages is needed to follow the naming convention. See the attached ticket for the details.

GitOrigin-RevId: 24b2328e572efa23d67133fc495855cf662ea795
2023-06-19 09:34:30 +00:00
Daniil Ovchinnikov
d35cc24c6a rename withModalProgressBlocking -> runWithModalProgressBlocking
GitOrigin-RevId: af0347ef7eb49fee4ee9405b90fbd0a47d913b7d
2023-06-16 15:20:55 +00:00
Daniil Ovchinnikov
1fc9c8cf2a rename runBlockingModal -> withModalProgressBlocking
- 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
2023-06-08 14:01:49 +00:00
Vladimir Krivosheev
3ee80e5de6 remove runBlockingUnderModalProgress
GitOrigin-RevId: 3a356c619041bed3b771c555de99f45634a49a86
2023-04-27 13:06:50 +00:00
Dmitry Batkovich
19e40bb3f9 drop read-action in ArtifactPointerManagerImpl, make it rely on internal lock
GitOrigin-RevId: cd164e738dd893fa696e44978a7f423f16e34963
2023-04-21 15:34:40 +00:00
Alex Plate
b71ea5f44b [Workspace Model] [IDEA-272864] Fix accessing artifact elements that is now under modifications
GitOrigin-RevId: 3c30d131349667163769fbfed8c253d48aabc26d
2023-03-14 18:35:42 +00:00
Alexey Kudravtsev
9f5b60b0f0 replace some usages of ContainerUtil.set() with immutable sets to get rid of unclear-semantic methods
GitOrigin-RevId: 3ba1266af01d64a228c10df59b18c4ac797c2a9b
2023-02-20 19:11:19 +00:00