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

Custom XInclude attributes and resolution mechanisms #1097

Merged
merged 10 commits into from
Jun 6, 2024

Conversation

novotnyr
Copy link
Collaborator

@novotnyr novotnyr commented May 29, 2024

  • Support includeIf and includeUnless attributes in the XInclude elements. Properties are resolved against System properties. This feature requires com.jetbrains.plugin.structure.intellij.xinclude.isResolvingConditionalIncludes system property to be set to true. By default, an include element with either of these attributes will be ignored and not processed for inclusion.

    This feature is implemented by the Kotlin plugin and should not be used in other plugins.

  • Resolve issues with XMLs referencing each other and being set in META-INF and resource roots.
    This is an issue in Kotlin plugin. Imagine the following ZIP file contents

|- META-INF
     | - plugin.xml
     | - kotlin-core.xml
|- kotlin.plugin.k1.xml

The plugin.xml conditionally includes kotlin.plugin.k1.xml (via href="kotlin.plugin.k1.xml").
Additionally, kotlin.plugin.k1.xml includes kotlin-core.xml, again via href="kotlin-core.xml".

This is not in line with XInclude specification. However, the support for such scenarios is implemented.

  • See also MP-6594 Could not find bundled plugin with ID: 'org.jetbrains.kotlin'

@YannCebron
Copy link
Member

Please add a comment in relevant places that this is a special case for Kotlin plugin and not a regular feature for plugin.xml.

@novotnyr novotnyr merged commit cadc5ed into master Jun 6, 2024
2 checks passed
@novotnyr novotnyr deleted the mp-6594-xinclude-resolution-improvements branch June 6, 2024 15:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants