Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ query --deleted_packages=aspect/testing/tests/src/com/google/idea/blaze/aspect/i

common --enable_bzlmod
common --noincompatible_disallow_empty_glob
common --define=ij_product=intellij-ue-2025.3

# Disabled by default in bazel 8, https://github.com/bazelbuild/bazel/issues/24578
test --zip_undeclared_test_outputs
Expand Down
57 changes: 17 additions & 40 deletions .github/workflows/release-ijwb.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,11 @@ on:
description: 'Release Version'
required: true
type: string
eap:
description: 'EAP build (only release intellij-oss-under-dev and intellij-ue-oss-under-dev)'
required: false
type: boolean
default: false

jobs:
build:
Expand All @@ -16,7 +21,7 @@ jobs:

strategy:
matrix:
product: [intellij-oss-latest-stable, intellij-oss-oldest-stable, intellij-ue-oss-latest-stable, intellij-ue-oss-oldest-stable]
product: ${{ fromJSON(inputs.eap && '["intellij-oss-under-dev", "intellij-ue-oss-under-dev"]' || '["intellij-oss-latest-stable", "intellij-oss-oldest-stable", "intellij-ue-oss-latest-stable", "intellij-ue-oss-oldest-stable"]') }}

runs-on: ubuntu-latest

Expand All @@ -28,8 +33,8 @@ jobs:
uses: bazel-contrib/[email protected]
with:
bazelisk-cache: true
disk-cache: ${{ github.workflow }}
repository-cache: true
disk-cache: false
repository-cache: false

- name: Update version.bzl
run: |
Expand Down Expand Up @@ -61,34 +66,20 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Download Latest Plugin Zip
- name: Download Plugin Zips
uses: actions/download-artifact@v5
with:
name: intellij-oss-latest-stable

- name: Download Oldest Plugin Zip
uses: actions/download-artifact@v5
with:
name: intellij-oss-oldest-stable

- name: Download Latest UE Plugin Zip
uses: actions/download-artifact@v5
with:
name: intellij-ue-oss-latest-stable

- name: Download Oldest UE Plugin Zip
uses: actions/download-artifact@v5
with:
name: intellij-ue-oss-oldest-stable
pattern: intellij-*
merge-multiple: true

- name: Create Release
uses: softprops/action-gh-release@v2
with:
files: "*.zip"
tag_name: ${{ inputs.version }}
name: "IJwB Release ${{ inputs.version }}"
tag_name: ${{ inputs.eap && format('{0}-eap', inputs.version) || inputs.version }}
name: "${{ inputs.eap && format('IJwB-EAP Release {0}', inputs.version) || format('IJwB Release {0}', inputs.version) }}"
draft: false
prerelease: false
prerelease: ${{ inputs.eap }}
generate_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -103,25 +94,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: Download Latest Plugin Zip
uses: actions/download-artifact@v5
with:
name: intellij-oss-latest-stable

- name: Download Oldest Plugin Zip
uses: actions/download-artifact@v5
with:
name: intellij-oss-oldest-stable

- name: Download Latest UE Plugin Zip
uses: actions/download-artifact@v5
with:
name: intellij-ue-oss-latest-stable

- name: Download Oldest UE Plugin Zip
- name: Download Plugin Zips
uses: actions/download-artifact@v5
with:
name: intellij-ue-oss-oldest-stable
pattern: intellij-ue-*
merge-multiple: true

- name: Upload Releases
run: |
Expand Down
14 changes: 0 additions & 14 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -66,18 +66,4 @@ test_suite(
],
)

# CLwB tests, run with a CLion plugin SDK
test_suite(
name = "clwb_tests",
tests = [
"//base:unit_tests",
"//clwb:headless_tests",
"//clwb:integration_tests",
"//clwb:unit_tests",
"//cpp:unit_tests",
"//dart:unit_tests",
"//python:unit_tests",
"//skylark:unit_tests",
],
)
# END-EXTERNAL
94 changes: 76 additions & 18 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ single_version_override(
patch_strip = 1,
patches = [
"//third_party/kotlin/patches:strip_stdlib.patch",
"//third_party/kotlin/patches:support_new_kotlin_versions.patch",
],
)

Expand Down Expand Up @@ -133,7 +134,7 @@ maven.install(
"org.jetbrains:annotations:26.0.2",
"org.jetbrains.pty4j:pty4j:0.13.0",
# Only required for the maintenance script, otherwise use the stdlib for the sdk
"org.jetbrains.kotlin:kotlin-stdlib:2.1.21",
"org.jetbrains.kotlin:kotlin-stdlib:2.2.20",
],
fail_if_repin_required = True,
generate_compat_repositories = True,
Expand Down Expand Up @@ -210,6 +211,18 @@ http_archive(
url = IC_252_URL,
)

# The plugin api for intellij_ce_2025_3. This is required to build IJwB and run integration tests.
IC_253_SHA = "0f81c61837be81623fd039459fa1cc00a18d57bead5d74102125b2a66b435a50"

IC_253_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/idea/ideaIC/253.22441.33-EAP-SNAPSHOT/ideaIC-253.22441.33-EAP-SNAPSHOT.zip"

http_archive(
name = "intellij_ce_2025_3",
build_file = "@//intellij_platform_sdk:BUILD.idea253",
sha256 = IC_253_SHA,
url = IC_253_URL,
)

# The plugin api for intellij_ce_2025_1. This is required to build IJwB and run integration tests.
IU_251_SHA = "6437eb50dcaebecc34c454370c693184f39fbded99ba9a7059f5189badfe4a7b"

Expand All @@ -234,26 +247,16 @@ http_archive(
url = IU_252_URL,
)

CLION_251_SHA = "5e441b2ddb22811f2f2d3a2db4c177398b6c70bd149c66c4f3fd1915ff8d3c71"

CLION_251_URL = "https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/intellij/clion/clion/2025.1.1/clion-2025.1.1.zip"

http_archive(
name = "clion_2025_1",
build_file = "@//intellij_platform_sdk:BUILD.clion251",
sha256 = CLION_251_SHA,
url = CLION_251_URL,
)

CLION_252_SHA = "bca48ff2184f8b93801241a761c273b7016e5f9c3ea5cee44fbcc4c7f559e08b"
# The plugin api for intellij_ce_2025_3. This is required to build IJwB and run integration tests.
IU_253_SHA = "f7672316edf4db691e33e0e2d24194cb1cfcda5651808c943ed3ca15e8fd6aa5"

CLION_252_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/clion/clion/252.23892.173-EAP-SNAPSHOT/clion-252.23892.173-EAP-SNAPSHOT.zip"
IU_253_URL = "https://www.jetbrains.com/intellij-repository/snapshots/com/jetbrains/intellij/idea/ideaIU/253.22441.33-EAP-SNAPSHOT/ideaIU-253.22441.33-EAP-SNAPSHOT.zip"

http_archive(
name = "clion_2025_2",
build_file = "@//intellij_platform_sdk:BUILD.clion252",
sha256 = CLION_252_SHA,
url = CLION_252_URL,
name = "intellij_ue_2025_3",
build_file = "@//intellij_platform_sdk:BUILD.ue253",
sha256 = IU_253_SHA,
url = IU_253_URL,
)

DEVKIT_BUILD_FILE = """
Expand Down Expand Up @@ -286,6 +289,17 @@ http_archive(
url = DEVKIT_252_URL,
)

DEVKIT_253_SHA = "02c8a8044adc9c2e1de86a563c8402b84c2bfd9a0444649e10fabc008f0d61db"

DEVKIT_253_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/DevKit/253.22441.33/DevKit-253.22441.33.zip"

http_archive(
name = "devkit_2025_3",
build_file_content = DEVKIT_BUILD_FILE,
sha256 = DEVKIT_253_SHA,
url = DEVKIT_253_URL,
)

_PYTHON_CE_BUILD_FILE = """
java_import(
name = "python",
Expand Down Expand Up @@ -321,6 +335,17 @@ http_archive(
url = PYTHON_PLUGIN_252_URL,
)

PYTHON_PLUGIN_253_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/PythonCore/253.22441.33/PythonCore-253.22441.33.zip"

PYTHON_PLUGIN_253_SHA = "d9f744dc392605981fc9d014b388942edaac7dd2788badd8eb76fab8133b7c72"

http_archive(
name = "python_2025_3",
build_file_content = _PYTHON_CE_BUILD_FILE,
sha256 = PYTHON_PLUGIN_253_SHA,
url = PYTHON_PLUGIN_253_URL,
)

_GO_BUILD_FILE = """
java_import(
name = "go",
Expand Down Expand Up @@ -351,6 +376,17 @@ http_archive(
url = GO_PLUGIN_252_URL,
)

GO_PLUGIN_253_SHA = "2383926f357eb19f23ea89ead0766a7ced2d8b0dad02d49433d0f19c15e3dd4c"

GO_PLUGIN_253_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.jetbrains.plugins.go/253.22441.33/org.jetbrains.plugins.go-253.22441.33.zip"

http_archive(
name = "go_2025_3",
build_file_content = _GO_BUILD_FILE,
sha256 = GO_PLUGIN_253_SHA,
url = GO_PLUGIN_253_URL,
)

_SCALA_BUILD_FILE = """
java_import(
name = "scala",
Expand Down Expand Up @@ -381,6 +417,17 @@ http_archive(
url = SCALA_PLUGIN_252_URL,
)

SCALA_PLUGIN_253_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.intellij.scala/2025.3.7/org.intellij.scala-2025.3.7.zip"

SCALA_PLUGIN_253_SHA = "25247f4f6a7ad5b33073edcc19976919c7f2e181b97086e05a69987bbce09063"

http_archive(
name = "scala_2025_3",
build_file_content = _SCALA_BUILD_FILE,
sha256 = SCALA_PLUGIN_253_SHA,
url = SCALA_PLUGIN_253_URL,
)

_TOML_BUILD_FILE = """
java_import(
name = "toml",
Expand Down Expand Up @@ -411,6 +458,17 @@ http_archive(
url = TOML_PLUGIN_252_URL,
)

TOML_PLUGIN_253_URL = "https://plugins.jetbrains.com/maven/com/jetbrains/plugins/org.toml.lang/253.22441.34/org.toml.lang-253.22441.34.zip"

TOML_PLUGIN_253_SHA = "f49ac6b30e6721b8d5529517d9f063a160fdb4198c7126a1cde9f3c4d920ad4e"

http_archive(
name = "toml_2025_3",
build_file_content = _TOML_BUILD_FILE,
sha256 = TOML_PLUGIN_253_SHA,
url = TOML_PLUGIN_253_URL,
)

# needed for cpp tests
http_archive(
name = "com_google_absl",
Expand Down
5 changes: 3 additions & 2 deletions MODULE.bazel.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 5 additions & 11 deletions base/src/META-INF/blaze-base.xml
Original file line number Diff line number Diff line change
Expand Up @@ -334,18 +334,20 @@
<applicationService serviceInterface="com.google.idea.blaze.base.prefetch.PrefetchService"
serviceImplementation="com.google.idea.blaze.base.prefetch.PrefetchServiceImpl"/>
<applicationService serviceInterface="com.google.idea.blaze.base.prefetch.RemoteArtifactPrefetcher"
serviceImplementation="com.google.idea.blaze.base.prefetch.DefaultPrefetcher"/>
serviceImplementation="com.google.idea.blaze.base.prefetch.DefaultPrefetcher"/>
<applicationService serviceImplementation="com.google.idea.blaze.base.wizard2.BlazeWizardUserSettingsStorage"/>
<applicationService serviceInterface="com.google.idea.blaze.base.wizard2.BlazeWizardOptionProvider"
serviceImplementation="com.google.idea.blaze.base.wizard2.BazelWizardOptionProvider"/>
<applicationService serviceInterface="com.google.idea.blaze.base.project.ExtendableBazelProjectCreator"
serviceImplementation="com.google.idea.blaze.base.project.TrustAwareProjectCreator"/>
<applicationService serviceImplementation="com.google.idea.common.experiments.ExperimentServiceImpl"
serviceInterface="com.google.idea.common.experiments.ExperimentService"/>
<projectService serviceInterface="com.google.idea.blaze.base.sync.workspace.WorkspacePathResolverProvider"
serviceImplementation="com.google.idea.blaze.base.sync.workspace.WorkspacePathResolverProviderImpl"/>
<projectService serviceInterface="com.google.idea.blaze.base.sync.projectview.WorkspaceFileFinder$Provider"
serviceImplementation="com.google.idea.blaze.base.sync.projectview.WorkspaceFileFinderImpl$Provider"/>
<projectService serviceInterface="com.google.idea.blaze.base.sync.projectview.WorkspaceLanguageChecker"
serviceImplementation="com.google.idea.blaze.base.sync.projectview.WorkspaceLanguageCheckerImpl"/>
serviceImplementation="com.google.idea.blaze.base.sync.projectview.WorkspaceLanguageCheckerImpl"/>
<projectService serviceImplementation="com.google.idea.blaze.base.sync.SyncCache"/>
<projectService serviceImplementation="com.google.idea.blaze.base.ui.problems.BlazeProblemsView"/>
<projectService serviceImplementation="com.google.idea.blaze.base.ui.problems.ProblemsViewConfiguration"/>
Expand Down Expand Up @@ -440,7 +442,6 @@
<registryKey defaultValue="false"
description="Mark execroot as dirty before refresh after sync"
key="bazel.sync.mark.dirty"/>
<editorNotificationProvider implementation="com.google.idea.blaze.base.wizard2.BazelNotificationProvider"/>

<notificationGroup id="com.google.idea.blaze.base.ide.TransferNotificationActivity" displayType="BALLOON"/>
<postStartupActivity implementation="com.google.idea.blaze.base.ide.TransferNotificationActivity"/>
Expand Down Expand Up @@ -498,7 +499,7 @@
<spellchecker.support language="BUILD" implementationClass="com.google.idea.blaze.base.lang.buildfile.validation.BuildSpellcheckingStrategy"/>
<highlightVisitor implementation="com.google.idea.blaze.base.editor.HighlightingStatsCollector"/>
<editorTabTitleProvider implementation="com.google.idea.blaze.base.editor.BazelEditorTabTitleProvider"/>
<formattingService implementation="com.google.idea.blaze.base.buildmodifier.BuildifierFormattingService"/>
<formattingService implementation="com.google.idea.blaze.base.buildmodifier.BuildifierFormattingService"/>
</extensions>

<extensions defaultExtensionNs="com.intellij.lang">
Expand Down Expand Up @@ -549,13 +550,6 @@

</extensionPoints>

<application-components>
<component>
<interface-class>com.google.idea.common.experiments.ExperimentService</interface-class>
<implementation-class>com.google.idea.common.experiments.ExperimentServiceImpl</implementation-class>
</component>
</application-components>

<project-components>
<component>
<implementation-class>com.google.idea.blaze.base.sync.autosync.AutoSyncHandler</implementation-class>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,11 +146,11 @@ interface ParsedBepOutput {
val EMPTY: Legacy = Legacy(
"build-id",
ImmutableMap.of<String, String>(),
ImmutableMap.of<String?, FileSet?>(),
ImmutableMap.of<String, FileSet>(),
0,
0,
0,
ImmutableSet.of<String?>()
ImmutableSet.of<String>()
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ class AspectTemplateWriter : AspectWriter {
REALIZED_CODE_GENERATOR,
ASPECT_TEMPLATE_DIRECTORY,
TEMPLATE_CODE_GENERATOR,
ImmutableMap.of<String, List<LanguageClassRuleNames>?>("languageClassRuleNames", languageClassRuleNames)
ImmutableMap.of<String, List<LanguageClassRuleNames>>("languageClassRuleNames", languageClassRuleNames)
)
}

Expand Down
Loading