Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin dependency on com.intellij.modules.cidr.lang should be optional #5472

Closed
ujohnny opened this issue Oct 13, 2023 · 1 comment
Closed
Assignees
Labels
awaiting-maintainer Awaiting review from Bazel team on issues lang: c++ C++ rules integration product: CLion CLion plugin type: feature request

Comments

@ujohnny
Copy link
Collaborator

ujohnny commented Oct 13, 2023

Description of the feature request:

In CLion team we're working on improving C++ language support and these changes require us make com.intellij.modules.cidr.lang optional in some versions of CLion. So far CLion still contains this module, but it might be dropped at some point in time. Plugins should be adjusted for the change.

What underlying problem are you trying to solve with this feature?

We'd like to keep Bazel for CLion plugin compatible with future releases of CLion.

What operating system, Intellij IDE and programming languages are you using? Please provide specific versions.

CLion

Have you found anything relevant by searching the web?

No response

Any other information, logs, or outputs that you want to share?

I'm working on this feature and will submit some PRs related to it.

@ujohnny ujohnny added awaiting-maintainer Awaiting review from Bazel team on issues type: feature request labels Oct 13, 2023
@iancha1992 iancha1992 added product: CLion CLion plugin lang: c++ C++ rules integration labels Oct 13, 2023
jastice pushed a commit that referenced this issue Oct 18, 2023
…l: plugin xmls split (#5473)

# Discussion thread for this change

Issue number: #5472

# Description of this change

Long story short: `com.intellij.modules.cidr.lang` is going to become optional in CLion at some point. All the usages of code exported from `com.intellij.modules.cidr.lang` are moved to optional plugin xmls, so plugin won't emit lots of exceptions and break the IDE if the mentioned module is not available. 

A little bit more detailed here. The CLion team are working on deprecation of the old language engine. Parts of it which are not going to be deprecated are moved to `cidr-base-plugin` library, which is a part of `CIDR Base (com.intellij.cidr.base)` essential CLion plugin, so any symbol from `cidr-base-plugin` will always be available. Though that does not apply to `c-plugin` library which is a part of `com.intellij.modules.cidr.lang` module. 

At this point the goal of this change is to make Bazel for CLion tolerant to disabled `com.intellij.modules.cidr.lang`. We're going to contribute further to adjust existing code which is moved to `*.oclang(.*)?` packages in the review to preserve the features when only the new language engine is available.

# Individual changes

* Replace cidr.lang code with cidr.lang.base code
* Extract cidr.lang dependent code in //cpp to optional runtime dep
* Extract cidr.lang dependent code in //clwb to optional runtime dep
* Extract cidr.lang dependent code in //clwb to optional runtime dep
@tpasternak
Copy link
Collaborator

@ujohnny let me know if this should stay open (if i understand correctly it's done)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
awaiting-maintainer Awaiting review from Bazel team on issues lang: c++ C++ rules integration product: CLion CLion plugin type: feature request
Projects
Development

No branches or pull requests

5 participants