Я написал генератор кода, используя kapt, и использую его в проекте, компилирующем kotlin с maven.
Я обнаружил, что генератор kapt вызывается после фазы компиляции Kotlin, что не позволяет мне использовать сгенерированныйкод внутри kotlin в том же проекте.
Однако, если я ссылаюсь на сгенерированные классы из Java в том же проекте, он работает нормально.Это связано с тем, что фаза компиляции Java наступает после фазы генерации kotlin.
Я определил цель kapt до цели компиляции Kotlin в конфигурации maven (как упоминалось в docs ), но этопохоже, ничего не изменилось:
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>kapt</id>
<goals>
<goal>kapt</goal>
</goals>
<configuration>
<sourceDirs>
<sourceDir>src/main/java</sourceDir>
</sourceDirs>
<annotationProcessorPaths>
<annotationProcessorPath>
<groupId>lang.taxi</groupId>
<artifactId>taxi-annotation-processor</artifactId>
<version>${taxi.version}</version>
</annotationProcessorPath>
</annotationProcessorPaths>
</configuration>
</execution>
<execution>
<id>compile</id>
<goals> <goal>compile</goal> </goals>
</execution>
<execution>
<id>test-compile</id>
<goals> <goal>test-compile</goal> </goals>
<configuration>
<sourceDirs>
<sourceDir>${project.basedir}/src/test/kotlin</sourceDir>
<sourceDir>${project.basedir}/src/test/java</sourceDir>
</sourceDirs>
</configuration>
</execution>
</executions>
</plugin>
Можно ли настроить Kotlin так, чтобы я мог использовать сгенерированный код из Kotlin в том же проекте?