diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.java b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.java index 9258f2e80c9..49f7eb96e59 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.java +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JVMCompilerArguments.java @@ -101,6 +101,9 @@ public class K2JVMCompilerArguments extends CommonCompilerArguments { @Argument(value = "Xsingle-module", description = "Combine modules for source files and binary dependencies into a single module") public boolean singleModule; + @Argument(value = "Xadd-compiler-builtins", description = "Add definitions of built-in declarations to the compilation classpath (useful with -no-stdlib)") + public boolean addCompilerBuiltIns; + @Argument(value = "Xinterface-compatibility", description = "Generate DefaultImpls classes for interfaces in JVM target bytecode version 1.8 for binary compatibility with 1.6") public boolean interfaceCompatibility; diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt index fdd4bf96010..06b7dfe5ef1 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/K2JVMCompiler.kt @@ -333,6 +333,7 @@ class K2JVMCompiler : CLICompiler() { configuration.put(CLIConfigurationKeys.ALLOW_KOTLIN_PACKAGE, arguments.allowKotlinPackage) configuration.put(CLIConfigurationKeys.REPORT_PERF, arguments.reportPerf) configuration.put(JVMConfigurationKeys.USE_SINGLE_MODULE, arguments.singleModule) + configuration.put(JVMConfigurationKeys.ADD_BUILT_INS_TO_DEPENDENCIES, arguments.addCompilerBuiltIns) arguments.declarationsOutputPath?.let { configuration.put(JVMConfigurationKeys.DECLARATIONS_JSON_PATH, it) } } diff --git a/compiler/testData/cli/jvm/extraHelp.out b/compiler/testData/cli/jvm/extraHelp.out index 60c2c3ee649..0bc22d98fe4 100644 --- a/compiler/testData/cli/jvm/extraHelp.out +++ b/compiler/testData/cli/jvm/extraHelp.out @@ -9,6 +9,7 @@ where advanced options include: -Xskip-metadata-version-check Try loading binary incompatible classes, may cause crashes -Xdump-declarations-to Path to JSON file to dump Java to Kotlin declaration mappings -Xsingle-module Combine modules for source files and binary dependencies into a single module + -Xadd-compiler-builtins Add definitions of built-in declarations to the compilation classpath (useful with -no-stdlib) -Xinterface-compatibility Generate DefaultImpls classes for interfaces in JVM target bytecode version 1.8 for binary compatibility with 1.6 -Xno-inline Disable method inlining -Xrepeat Repeat compilation (for performance analysis) diff --git a/libraries/tools/kotlin-maven-plugin/src/it/simple/pom.xml b/libraries/tools/kotlin-maven-plugin/src/it/simple/pom.xml index ddeaaedfa89..56b151128c2 100644 --- a/libraries/tools/kotlin-maven-plugin/src/it/simple/pom.xml +++ b/libraries/tools/kotlin-maven-plugin/src/it/simple/pom.xml @@ -34,10 +34,15 @@ compile + + + -Xadd-compiler-builtins + + - \ No newline at end of file + diff --git a/libraries/tools/kotlin-maven-plugin/src/it/simple/verify.groovy b/libraries/tools/kotlin-maven-plugin/src/it/simple/verify.groovy index 12685bcacde..9de730c891a 100644 --- a/libraries/tools/kotlin-maven-plugin/src/it/simple/verify.groovy +++ b/libraries/tools/kotlin-maven-plugin/src/it/simple/verify.groovy @@ -1,3 +1,7 @@ +/** + * NOTE: if this script returns false, the build log with more information can be found at tools/kotlin-maven-plugin/target/it/simple/build.log + */ + import java.util.regex.Pattern class State { diff --git a/libraries/tools/runtime/pom.xml b/libraries/tools/runtime/pom.xml index 1e9fb771d35..f97d0eda3eb 100644 --- a/libraries/tools/runtime/pom.xml +++ b/libraries/tools/runtime/pom.xml @@ -107,6 +107,8 @@ -Xdump-declarations-to ${basedir}/target/runtime-declarations.json + -cp + ${basedir}/../../../dist/builtins