-
Notifications
You must be signed in to change notification settings - Fork 9
Description
I have a custom annotation processor implemented as a Manifold ICompilerComponent that injects helper methods into classes with annotated fields (@Localized).
Setup
- Processor type: manifold.api.type.ICompilerComponent
- Registration: META-INF/services/manifold.api.type.ICompilerComponent with FQCN of my component.
- Gradle:
// build.gradle
dependencies {
testAnnotationProcessor "systems.manifold:manifold:2025.1.26"
testAnnotationProcessor "com.tadafur.gov360:annotation-processors:0.0.1-SNAPSHOT"
testCompileOnly "systems.manifold:manifold:2025.1.26"
testCompileOnly "com.tadafur.gov360:annotation-processors:0.0.1-SNAPSHOT"
}// settings.gradle
includeBuild "../annotation-processor"IDE: IntelliJ IDEA 2025.1
Runtime version: 21.0.6+9-b895.109 aarch64 (JCEF 122.1.9)
- Manifold IntelliJ plugin installed and enabled
-Xplugin:Manifoldin Java Compiler → Additional command line parameters (module-specific for test)- Annotation processing enabled (automatically by Gradle) in Settings → Build, Execution, Deployment → Compiler → Annotation Processors
- Processor path contains both manifold-*.jar and my annotation-processors-0.0.1-SNAPSHOT.jar
Full path: /Users/Mac/.gradle/caches/modules-2/files-2.1/systems.manifold/manifold/2025.1.26/b7174e8ff4d4c5b39b2bed817e47ba9cf2372551/manifold-2025.1.26.jar:/Users/Mac/Projects/[sensitive]/libs/annotation-processors/build/libs/annotation-processors-0.0.1-SNAPSHOT.jar:/Users/Mac/.gradle/caches/modules-2/files-2.1/systems.manifold/manifold-rt/2025.1.26/d57b7c7d4582913bb2d6781a53e6f16bded77b9b/manifold-rt-2025.1.26.jar:/Users/Mac/.gradle/caches/modules-2/files-2.1/systems.manifold/manifold-util/2025.1.26/12ef4c31eb68695295bbbd693b1e644294ce8460/manifold-util-2025.1.26.jar
Expected
IntelliJ PSI picks up my annotation processor, and recognizes the methods.
Actual
When editing code, methods injected by my component (e.g., setLocalizedName(Locale, String)) are flagged as unresolved with red text.
However:
- Running gradle test compiles and executes successfully
- IntelliJ’s Build → Rebuild Project also succeeds (my component logs appear in build output)
- The generated methods work correctly at runtime
So the problem is editor resolution only — PSI seems unaware of injected members even though the plugin and compiler component run fine during builds.
What I’ve tried
- Added both Manifold and my component JAR to test compile classpath (testCompileOnly)
- Invalidate caches & restart
Question:
Does the IntelliJ Manifold plugin fully support custom ICompilerComponents in the editor PSI model? If so, is there additional configuration needed to make the editor aware of injected members?