-
Notifications
You must be signed in to change notification settings - Fork 62
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
Adding --enable-preview
to javacArguments
does not work. How to properly do this?
#385
Comments
Can you post a minimal example to reproduce this, ideally with the code for logging javac arguments. Also, try |
Sure -- thanks for getting back to me. I've attached a minimal project in a
Which should print output like: CLICK TO DISPLAY> Task :lib:test
Build cache key for task ':lib:test' is e83b95de97cd64e75eb00ac0e76fea5b
Task ':lib:test' is not up-to-date because:
Task has failed previously.
Watching 46 directories to track changes
Watching 41 directories to track changes
Watching 40 directories to track changes
file or directory '/home/user/projects/panama-annotation-processor/lib/build/classes/java/test', not found
Starting process 'Gradle Test Executor 10'. Working directory: /home/user/projects/panama-annotation-processor/lib Command: /home/user/.sdkman/candidates/java/20.0.2-tem/bin/java -Dorg.gradle.internal.worker.tmpdir=/home/user/pr
ojects/panama-annotation-processor/lib/build/tmp/test/work -Dorg.gradle.native=false @/home/user/.gradle/.tmp/gradle-worker-classpath11161890201542787179txt -Xmx512m -Dfile.encoding=UTF-8 -Duser.country -Duser.language=en -Duser.variant -ea worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 10'
Successfully started process 'Gradle Test Executor 10'
MyAnnotationProcessorTest > annotation processor test() STANDARD_OUT
Starting test
logging: Created temporary working directory at /tmp/Kotlin-Compilation16637249140831897634
logging: Inheriting classpaths:
v: Using Kotlin home directory <no_path>
v: Using JDK home directory /home/user/.sdkman/candidates/java/20.0.2-tem
v: Exception on loading scripting plugin: java.lang.ClassNotFoundException: org.jetbrains.kotlin.scripting.compiler.plugin.ScriptingCompilerConfigurationComponentRegistrar
v: Scripting plugin will not be loaded: not all required jars are present in the classpath (missing files: [./kotlin-scripting-compiler.jar, ./kotlin-scripting-compiler-impl.jar, ./kotlinx-coroutines-core-jvm.jar, ./kotlin-scripting-common.jar, ./kotlin-scripting-jvm.jar, ./kotlin-scripting-js.jar, ./js.engines.jar])
v: Using JVM IR backend
v: Configuring the compilation environment
v: Loading modules: [java.se, jdk.accessibility, jdk.attach, jdk.compiler, jdk.dynalink, jdk.httpserver, jdk.incubator.concurrent, jdk.incubator.vector, jdk.jartool, jdk.javadoc, jdk.jconsole, jdk.jdi, jdk.jfr, jdk.jshell, j
dk.jsobject, jdk.management, jdk.management.jfr, jdk.net, jdk.nio.mapmode, jdk.sctp, jdk.security.auth, jdk.security.jgss, jdk.unsupported, jdk.unsupported.desktop, jdk.xml.dom, java.base, java.compiler, java.datatransfer, java.
desktop, java.xml, java.instrument, java.logging, java.management, java.management.rmi, java.rmi, java.naming, java.net.http, java.prefs, java.scripting, java.security.jgss, java.security.sasl, java.sql, java.transaction.xa, java.sql.rowset, java.xml.crypto, jdk.internal.jvmstat, jdk.zipfs, jdk.internal.opt, jdk.management.agent, jdk.jdwp.agent, jdk.internal.ed, jdk.internal.le]
i: [kapt] Kapt3 is enabled.
Annotation processing mode: stubsAndApt
Memory leak detection mode: default
Show processor stats: false
Verbose mode: true
Info as warnings: false
Use light analysis: true
Correct error types: false
Dump default parameter values: false
Map diagnostic locations: true
Strict mode: false
Detect annotation processors in compile classpath: true
Incremental annotation processing (apt mode): false
Strip @Metadata annotations from stubs: false
Keep KDoc comments in stubs: true
Use JVM IR backend: false
Project base dir: null
Compile classpath:
Java source roots: /tmp/Kotlin-Compilation16637249140831897634/sources/MyClass2.java
Sources output directory: /tmp/Kotlin-Compilation16637249140831897634/kapt/sources
Class files output directory: /tmp/Kotlin-Compilation16637249140831897634/classes
Stubs output directory: /tmp/Kotlin-Compilation16637249140831897634/kapt/stubs
Incremental data output directory: /tmp/Kotlin-Compilation16637249140831897634/kapt/incrementalData
Annotation processing classpath:
Annotation processors:
AP options: {kapt.kotlin.generated=/tmp/Kotlin-Compilation16637249140831897634/kapt/kotlinGenerated}
Javac options: {}
[incremental apt] Changed files: []
[incremental apt] Compiled sources directories:
[incremental apt] Cache directory for incremental compilation: null
[incremental apt] Changed classpath names:
i: [kapt] Initial analysis took 947 ms
i: [kapt] Kotlin files to compile: [MyClass1.kt]
i: [kapt] Stubs compilation took 107 ms
i: [kapt] Compiled classes: panama/annotation/processor/MyClass1
i: [kapt] All Javac options: {-Akapt.kotlin.generated=/tmp/Kotlin-Compilation16637249140831897634/kapt/kotlinGenerated=-Akapt.kotlin.generated=/tmp/Kotlin-Compilation16637249140831897634/kapt/kotlinGenerated, -proc:=only, ac
cessInternalAPI=true, --class-path=, --processor-path=, -s=/tmp/Kotlin-Compilation16637249140831897634/kapt/sources, -d=/tmp/Kotlin-Compilation16637249140831897634/classes, -encoding=UTF-8}
i: [kapt] Java stub generation took 9 ms
i: [kapt] Stubs for Kotlin classes: panama/annotation/processor/MyClass1.java, error/NonExistentClass.java
v: Output:
/tmp/Kotlin-Compilation16637249140831897634/kapt/stubs/panama/annotation/processor/MyClass1.java
Sources:
/tmp/Kotlin-Compilation16637249140831897634/sources/MyClass1.kt
v: Output:
/tmp/Kotlin-Compilation16637249140831897634/kapt/stubs/panama/annotation/processor/MyClass1.kapt_metadata
Sources:
/tmp/Kotlin-Compilation16637249140831897634/sources/MyClass1.kt
v: Output:
/tmp/Kotlin-Compilation16637249140831897634/kapt/incrementalData/panama/annotation/processor/MyClass1.class
Sources:
/tmp/Kotlin-Compilation16637249140831897634/sources/MyClass1.kt
v: Output:
/tmp/Kotlin-Compilation16637249140831897634/kapt/incrementalData/META-INF/main.kotlin_module
Sources:
/tmp/Kotlin-Compilation16637249140831897634/sources/MyClass1.kt
e: /tmp/Kotlin-Compilation16637249140831897634/sources/MyClass2.java:3: error: MemorySegment is a preview API and is disabled by default.
import java.lang.foreign.MemorySegment;
^
(use --enable-preview to enable preview APIs)
e: File Object History : []
e: Open Type Names : []
e: Gen. Src Names : []
e: Gen. Cls Names : []
e: Agg. Gen. Src Names : []
e: Agg. Gen. Cls Names : [] kotline-compile-test-repro.zip I think the issue is here, fwiw: kotlin-compile-testing/core/src/main/kotlin/com/tschuchort/compiletesting/KotlinCompilation.kt Lines 360 to 374 in 82ec542
The public final class KaptOptions : org.jetbrains.kotlin.base.kapt3.KaptFlags {
// ...
public final class Builder public constructor() {
// ...
public final val javacOptions: kotlin.collections.MutableMap<kotlin.String, kotlin.String> /* compiled code */ I tried to fork and modify your code, but since |
I found a small handful of repos which seem to have kapt {
javacOptions {
option("--enable-preview", "")
}
} kapt {
arguments {
arg("mapstruct.unmappedTargetPolicy", "IGNORE")
}
javacOptions {
option("--enable-preview")
}
} |
I'm trying to write an annotation processor which imports
java.lang.foreign.MemorySegment
from the Panama API's.My config is:
When running this though, I get:
Is there any way to enable preview API's/does someone have an example of doing this?
Thank you! 🙏
It looks like
javacOptions
is not receiving the--enable-preview
flag inkapt
, I think:The text was updated successfully, but these errors were encountered: