Commit Graph

1118 Commits

Author SHA1 Message Date
Kirill Bochkarev
3b2ea83785 [workspace model] Replace @Child with @Parent
Merge-request: IJ-MR-165184
Merged-by: Kirill Bochkarev <kirill.bochkarev@jetbrains.com>

GitOrigin-RevId: 3ad3ff204e29bc18bd8e705c7a5cb8e77869d699
2025-06-16 23:02:51 +00:00
Vladimir Krivosheev
b935234c91 IJ-MR-162467 don't export intellij.platform.projectModel
GitOrigin-RevId: 11c0bf5ca0f3a6d892658a2b149d85cace9aa2b8
2025-06-14 13:00:48 +00:00
Vladimir Krivosheev
ef0323d07c IJ-MR-162467 don't export intellij.platform.core
GitOrigin-RevId: 05f350c1c087be1bf9b46d8bdac5345a65f55958
2025-06-13 21:52:48 +00:00
Sergei Vorobyov
e81acc0cd4 [ExternalSystem] cleanup: extract select project data logic from the project sync callback
### Issues
  * CPP-44637 Multiple meson test failures

GitOrigin-RevId: 92a4f71a09797cfec1d39088d2c85b9cc1e662b6
2025-06-06 22:15:17 +00:00
Sergei Vorobyov
58d4105d95 [ExternalSystem] cleanup: extract import project data logic from the project sync callback
### Issues
  * CPP-44637 Multiple meson test failures

GitOrigin-RevId: 2166abe83c38293e878e9a5ffc72d94ad02846af
2025-06-06 22:15:17 +00:00
Sergei Vorobyov
be90d3aaf4 [ExternalSystem] cleanup: extract setter functions for import spec builder
### Issues
  * CPP-44637 Multiple meson test failures

GitOrigin-RevId: cdfad506b81ce08795ba89a8033186185395b451
2025-06-06 22:15:17 +00:00
Vladimir Krivosheev
2d5aaf391b IJ-MR-162467 don't export intellij.xml.psi
GitOrigin-RevId: d4ca928b7dc468451c0047bd35f1f60c1199207a
2025-06-05 14:33:17 +00:00
Sergei Vorobyov
2fd5d32ae0 [DependencySubstitution] fix: delete bridge coordinate contributor
This coordinate contributor resolver library and module bridges. That gives negative performance impact on the dependency substitution.

### Issues
  * IDEA-370483 Maven performance degradation related to library dependency substitution

GitOrigin-RevId: d6dc66dd184b995432c49c52d3e69c6eba7567b3
2025-06-05 12:03:42 +00:00
Sergei Vorobyov
ffb71ae078 [DependencySubstitution|Gradle] fix: specify maven-like coordinates for Gradle library and module entities
This allows using the generic approach for the dependency substitution based on maven-like coordinates

### Issues
  * IDEA-370483 Maven performance degradation related to library dependency substitution

GitOrigin-RevId: 8b9973c9a5cb433a522bb19ca01cd417ac61e9c6
2025-06-05 12:03:42 +00:00
Sergei Vorobyov
de512922b8 [DependencySubstitution] fix: migrate dependency substitution logic on the workspace model
The workspace model is more performant than legacy project model.

### Issues
  * IDEA-370483 Maven performance degradation related to library dependency substitution

### Tests
  * com.intellij.openapi.externalSystem.service.project.manage.ExternalProjectsWorkspacePerformanceTest

The performance test results on Mac M3

|    test params     | before (ms) | after (ms) |
|:------------------:|:-----------:|:----------:|
|     1, 1, 1, 1     |      1      |     0      |
| 100, 100, 100, 100 |     188     |     11     |
| 1000, 100, 100, 10 |     256     |     29     |

GitOrigin-RevId: 7bce84b9925d131035087351ff3edb75a00b3c29
2025-06-05 12:03:41 +00:00
Konstantin Nisht
2b56c468e9 [threading] IJPL-190260: Remove blockingContext #4
GitOrigin-RevId: f4c7e6b93b7ffec26c0f6702baf2c691342fb516
2025-06-05 10:37:17 +00:00
Vladimir Krivosheev
65fe061584 IJ-MR-162467 don't export intellij.platform.analysis
GitOrigin-RevId: fcbcb68010b58cb507fee2c47473758b999e471b
2025-06-04 11:16:33 +00:00
Vladimir Krivosheev
fd17f38a60 IJ-MR-162467 do not export intellij.platform.core.ui
GitOrigin-RevId: 2b535fed7dd2da407ea8743cb8108f9d354f6a54
2025-05-30 10:08:34 +00:00
Nikolay Chashnikov
5d8fedf5ac [external system] API cleanup: remove unused deprecated API scheduled for removal (IJPL-178044)
GitOrigin-RevId: 1e8819c19daff18e371c72c1f449726f5663c7f9
2025-05-28 23:35:36 +00:00
Sergei Vorobyov
3e01c55c1c [ExternalSystem|TestFramework] new: improve execution output printer for tests
1. Print a task execution exception to error output
2. Print a task execution output atomically

GitOrigin-RevId: 42a2e9170805ab15ad21ac1fdd300d9a9a8029d2
2025-05-21 18:14:28 +00:00
Ilia Kirianovskii
5686cf1893 [bazel] Update build files
GitOrigin-RevId: 8038dfd0c3f32ea766ea4a73673186c44960f996
2025-05-15 12:18:11 +00:00
Vladimir Krivosheev
b660081493 IJ-MR-162467 don't export intellij.platform.workspace.storage
GitOrigin-RevId: 65ff26dfef46b205eb68dc2f2e60eab4720c87c8
2025-05-15 09:18:18 +00:00
Vladimir Krivosheev
fbc9805e89 IJ-MR-162467 don't export intellij.platform.jps.model
GitOrigin-RevId: ebaebc90d514e5f3046fe2b973647da4bf156625
2025-05-14 18:10:23 +00:00
Vladimir Krivosheev
e6503904f1 update bazel files
GitOrigin-RevId: 56d6864910cad2dfe611d38d680ee290d4209f79
2025-05-13 18:02:20 +00:00
Ilia Kirianovskii
a38a19fa65 [bazel] Update build files
GitOrigin-RevId: b3eb595781593209fca189a18c0091f11621bd51
2025-05-13 15:36:09 +00:00
Alexander.Glukhov
7005db06d6 [gradle][IDEA-367005] introduces ProjectRepositoryData node
GitOrigin-RevId: 280b708d3d7c0e91b6b07da14c333cad162a0653
2025-05-13 10:01:53 +00:00
Vladimir Krivosheev
3616fb0a2f simplify bazel labels (another step towards using simple names that reflect directory structure) — handle camelCase case
GitOrigin-RevId: 709eafe49fcb3be48c50440ae19a08e083bc8cb3
2025-05-12 07:18:42 +00:00
Vladimir Krivosheev
53ab1b258e IJ-MR-162467 do not export intellij.platform.refactoring
GitOrigin-RevId: 4bb68401d046d1fffba4fa73935bb1c404d8d49f
2025-05-09 20:49:36 +00:00
Vladimir Krivosheev
7cf9ef2b29 update bazel files
GitOrigin-RevId: e78f86bd17affd7892fd1af8e157f033906b1865
2025-05-09 15:36:06 +00:00
Vladimir Krivosheev
644a6b2e81 IJ-MR-162467 don't export intellij.platform.editor.ui
GitOrigin-RevId: 8894abe16fb347de7649bfb2d7888b6e6fe0232c
2025-05-09 14:20:40 +00:00
Vladimir Krivosheev
6f8ff07ccc simplify bazel labels (another step towards using simple names that reflect directory structure)
GitOrigin-RevId: 12bfb2d0fa315d87c7a4ade363d0f834cf324b71
2025-05-08 16:58:30 +00:00
Kirill Bochkarev
d7a87d3f03 [workspace model] IJPL-895 Stabilization of entity generation in tests
- Regenerate Workspace Model code for the whole IntelliJ
- IJPL-177108 change properties order in ModuleSettingsFacetBridgeEntity (API breakage for BSP)
- IJPL-14740 Run the test for the whole module, not for each package in the module
- do not include entity source inheritors from other modules
- generator tests: Refactor IntelliJ generation test, fix missing libraries for various modules, ignore workspace.storage.testEntities, add code generator tests for packages, open classes
- treat open classes as abstract in K2, fix package for kotlin.ByteArray in K2 MetadataBuilder
- sort enum entries in metadata and fix cache test
- fix and move WorkspaceModelJsonDumpTest
- fix IntelliJ Workspace Code Update action (use K1)
- do not exclude node_modules dir in javascript plugin in tests


Merge-request: IJ-MR-155397
Merged-by: Kirill Bochkarev <kirill.bochkarev@jetbrains.com>

GitOrigin-RevId: 861f59ad002a63d493824318dff73d5483c31e60
2025-05-08 04:51:59 +00:00
Sergei Vorobyov
f6eba04f4a [Fleet|AutoSync] cleanup: use auto-sync notification listener instead of trying to reimplement notification state service
The fleet converts the notification update events to the subscription flow. However, it is doing it suboptimal by re-implementing the notification state service. This task can be solved by the platform TOPIC to subscription flow convertor without any additional services and objects.

### Issues
  * IDEA-370634 Make notification display independent of isDisabledAutoReload

GitOrigin-RevId: aebdeee13afdbfffa6bca94da1c1cd9a52e1bbfd
2025-04-29 19:03:08 +00:00
Sergei Vorobyov
039194ac55 [AutoSync] cleanup: use background auto-sync event dispatcher
The background dispatcher allows to execute blocking read and write actions to resolve auto-sync state without blocking IDE UI.

### Issues
  * IDEA-370634 Make notification display independent of isDisabledAutoReload
  * RUST-13278 auto-reload: is called even if Cargo.toml has errors

GitOrigin-RevId: 5c424b63ddccb00e55ba5a314cf42dfd56466a25
2025-04-29 14:35:36 +00:00
Sergei Vorobyov
b849752b04 [AutoSync] cleanup: replace the static isNotificationVisible function by the class method
Updating the API introduced by commit c4e77498a7b470fcb0db5acb0f4cd727d2d5a103.

### Issues
  * IDEA-370634 Make notification display independent of isDisabledAutoReload

GitOrigin-RevId: 566e9c46ebb97f73576aa75dfe6c1e99550a9b81
2025-04-29 14:22:19 +00:00
Sergei Vorobyov
2aa870915e [AutoSync] cleanup: deprecate the unsued ExternalSystemProjectNotificationAware#whenNotificationChanged function
### Issues
  * IDEA-370634 Make notification display independent of isDisabledAutoReload

GitOrigin-RevId: 6744d28d468bf25584de9a5442befeca93211d64
2025-04-29 14:22:19 +00:00
Vladimir Krivosheev
03bb1b019e IJPL-185714 cleanup
GitOrigin-RevId: 88f442c81395ff523ae02dc36de2bdb5491114b7
2025-04-28 20:40:43 +00:00
Sergei Vorobyov
f820c7fa93 [AutoSync] new: added disabled reload and auto-reload states customisation
It allows plugin writers to customise unsave and user distraction contexts for the running project reload.

### Issues
  * IDEA-370634 Make notification display independent of isDisabledAutoReload

GitOrigin-RevId: 8e7f7a8867d0efc3c3d55c70927365b472ddbaf4
2025-04-28 17:36:41 +00:00
Sergei Vorobyov
a0e5ef327c [AutoSync] cleanup: replace the ExternalSystemProjectId#debugName property by the toString function
### Issues
  * IDEA-370634 Make notification display independent of isDisabledAutoReload

GitOrigin-RevId: 18b35cbc7ba8b953e10bcdbff71921cfc64be230
2025-04-28 17:36:41 +00:00
Leonid Shalupov
3c92021638 update Bazel files
GitOrigin-RevId: e79e60419bb80ee101bf41f0df586d04729754e8
2025-04-24 17:04:35 +00:00
Alexey Kudravtsev
4068f1bfeb mark some method return types in openapi as immutable to catch more "modifying immutable collections" errors in usages
GitOrigin-RevId: 7dd546d18a464ff3275b03e72b08159623bd3453
2025-04-09 14:23:32 +00:00
Daniil Ovchinnikov
867f7fcf0e IJPL-182711 upgrade org.jetbrains.kotlinx:binary-compatibility-validator 0.14.0 -> 0.17.0
GitOrigin-RevId: cb9e1db75781ba1f3d733b0f030750d54c83abc9
2025-04-08 17:47:06 +00:00
Sergei Vorobyov
584d60ecb5 [AutoSync|FloatingToolbar] cleanup: deprecate isNotificationVisibleProperty in favor of isNotificationVisible function
The ExternalSystemProjectNotificationAware#isNotificationVisibleProperty isn't popular. Also, the small number of usages is incorrect. This observable property can be replaced by the simple isNotificationVisible check.

GitOrigin-RevId: c4e77498a7b470fcb0db5acb0f4cd727d2d5a103
2025-04-07 12:08:47 +00:00
Alexander.Glukhov
dad410136a [gradle][external system api] introduce ExternalSystemTaskId#getProject and ProjectResolverContext#getProject()
GitOrigin-RevId: 557b84de6b09ef475de35c4ee4b2169b3270482e
2025-04-02 17:31:40 +00:00
Vyacheslav Karpukhin
241d0a3976 KMT-626 ClassCastException for an instance deserialized from external system
GitOrigin-RevId: bb176cb0f7ba0d42a925bfe560547083577bb582
2025-03-08 20:24:14 +00:00
Leonid Shalupov
263c16140f bazel: update definitions
GitOrigin-RevId: 0f77aee04ab41b053887f490c10079bbbef2d662
2025-02-25 03:08:15 +00:00
Sergei Vorobyov
dae918df11 [ExternalSystem|Sync] new: add maven-like coordinate contribution for Gradle Java libraries
### Issues
  * IDEA-134885 Support substitution of library dependency with module dependency when the module is a part of another Maven or Gradle project

GitOrigin-RevId: de1f852b05bf80b15e9682dfd7338ffbb66a352a
2025-02-19 17:21:33 +00:00
Sergei Vorobyov
4be8b382f4 [ExternalSystem|Sync] cleanup: extract ModifiableWorkspaceModel#updateSubstitutions
Encapsulate all dependency substitution functionality inside the ModifiableWorkspaceModel class.

### Issues
  * IDEA-134885 Support substitution of library dependency with module dependency when the module is a part of another Maven or Gradle project

GitOrigin-RevId: 6c8817ca2e0eee703137244d747fb07c4cb0775f
2025-02-19 17:21:33 +00:00
Sergei Vorobyov
58c180494a [ExternalSystem|Sync] cleanup: rename ExternalSystemWorkspaceContributor.java to ExternalSystemCoordinateContributor.kt
### Issues
  * IDEA-134885 Support substitution of library dependency with module dependency when the module is a part of another Maven or Gradle project

GitOrigin-RevId: 781ec1b439065bcc1af2cbe22daf9568ccd26b82
2025-02-19 17:21:32 +00:00
Nikolay Chashnikov
128397cbc7 [platform] API cleanup: remove unused API scheduled for removal (IJPL-163936)
GitOrigin-RevId: 1595033218b5f3033271c17f73dde47e6622f9d0
2025-02-14 10:57:28 +00:00
Aleksandra Zdrojowa
45867ba355 [ExternalSystem] IDEA-367026 define a strategy for deduplicating module names in ModuleData
GitOrigin-RevId: 736c2afec9b25de3dbf57a531c131c86ee178b36
2025-02-07 18:24:41 +00:00
Sergei Vorobyov
ee51dafdbb [Gradle|TestFramework] new: install Gradle execution output printer in the Gradle Junit 5 tests
## Issues
  * IDEA-366878 An unnecessary additional plugin block is added to the settings.gradle(.kts) when a new Kotlin module is added

## Tests
  * org.jetbrains.kotlin.tools.projectWizard.wizard.GradleKotlinNewProjectWizardTest

GitOrigin-RevId: 6dfa47e68d4fc9bdb6664c764ed76276ac9139b0
2025-02-06 13:59:12 +00:00
Leonid Shalupov
e4e5753846 housekeeping: remove unused imports
GitOrigin-RevId: ccba6d05260f5eb551ffa87e0d8a38dc93148a3a
2025-02-04 11:00:15 +00:00
Nikita.Skvortsov
5849b9860b [es] Do not allow setting project build classpath from EDT IDEA-361978
Change tests that call `setProjectBuildClasspathSync` (via `ProjectDataManager#importData`) to run things on background tread with job in context.

GitOrigin-RevId: a1581a19b8f640340140aaf575e3c656a8a94911
2025-01-31 14:18:01 +00:00
Nikita.Skvortsov
3c250be0e9 [es] convert ExternalSystemTestUtil to Kotlin IDEA-361978
This step is required to implement ad-hoc data import in tests with `timeoutRunBlocking`

GitOrigin-RevId: c108d4924f4a5bc63e5ec1780c9772cc6cee872b
2025-01-31 14:18:01 +00:00