samples: Blacklist some xcode environment variables

This patch unsets some Xcode environment variables in gradle
plugin and command line runner.
This commit is contained in:
Ilya Matveev
2017-10-04 18:53:31 +03:00
committed by ilmat192
parent e7cea96692
commit 5eed839f91
5 changed files with 131 additions and 6 deletions
+4
View File
@@ -191,6 +191,10 @@ task distCompiler(type: Copy) {
into('tools')
}
from(project(':utilities').file('env_blacklist')) {
into('tools')
}
from(project(':utilities').file('build/libs')) {
into('konan/lib')
}
+5
View File
@@ -74,6 +74,11 @@ java_opts=(-ea \
"-Dkonan.home=${KONAN_HOME}" \
-Dfile.encoding=UTF-8)
# Unset some environment variables which are set by XCode and may potentially affect the tool executed.
for VAR in `cat "${KONAN_HOME}/tools/env_blacklist"`; do
unset $VAR
done
KONAN_JAR="${KONAN_HOME}/konan/lib/backend.native.jar"
KOTLIN_JAR="${KONAN_HOME}/konan/lib/kotlin-compiler.jar"
STUB_GENERATOR_JAR="${KONAN_HOME}/konan/lib/StubGenerator.jar"
@@ -103,6 +103,7 @@ jar {
processResources {
expand('konanVersion': konanVersion)
from(rootProject.project(':utilities').file('env_blacklist'))
}
publishing {
@@ -19,6 +19,13 @@ internal abstract class KonanCliRunner(val toolName: String, val fullName: Strin
override fun getName() = toolName
// We need to unset some environment variables which are set by XCode and may potentially affect the tool executed.
protected val blacklistEnvironment: List<String> by lazy {
KonanPlugin::class.java.getResourceAsStream("/env_blacklist")?.let { stream ->
stream.reader().use { it.readLines() }
} ?: emptyList<String>()
}
override val classpath: FileCollection =
project.fileTree("${project.konanHome}/konan/lib/")
.apply { include("*.jar") }
@@ -39,12 +46,13 @@ internal abstract class KonanCliRunner(val toolName: String, val fullName: Strin
"Please change it to the compiler root directory and rerun the build.")
}
project.javaexec {
it.main = mainClass
it.classpath = classpath
it.jvmArgs(jvmArgs)
it.args(listOf(toolName) + args)
it.environment(environment)
project.javaexec { spec ->
spec.main = mainClass
spec.classpath = classpath
spec.jvmArgs(jvmArgs)
spec.args(listOf(toolName) + args)
blacklistEnvironment.forEach { spec.environment.remove(it) }
spec.environment(environment)
}
}
}
+107
View File
@@ -0,0 +1,107 @@
ADDITIONAL_SDKS
APPLICATION_EXTENSION_API_ONLY
ARCHS
ARCHS_STANDARD
ARCHS_STANDARD_32_64_BIT
ARCHS_STANDARD_32_BIT
ARCHS_STANDARD_64_BIT
ARCHS_STANDARD_INCLUDING_64_BIT
ARCHS_UNIVERSAL_IPHONE_OS
CLANG_ANALYZER_NONNULL
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION
CLANG_CXX_LANGUAGE_STANDARD
CLANG_CXX_LIBRARY
CLANG_ENABLE_MODULES
CLANG_ENABLE_OBJC_ARC
CLANG_MODULES_BUILD_SESSION_FILE
CLANG_WARN_BOOL_CONVERSION
CLANG_WARN_CONSTANT_CONVERSION
CLANG_WARN_DIRECT_OBJC_ISA_USAGE
CLANG_WARN_DOCUMENTATION_COMMENTS
CLANG_WARN_EMPTY_BODY
CLANG_WARN_ENUM_CONVERSION
CLANG_WARN_INFINITE_RECURSION
CLANG_WARN_INT_CONVERSION
CLANG_WARN_OBJC_ROOT_CLASS
CLANG_WARN_SUSPICIOUS_MOVE
CLANG_WARN_UNREACHABLE_CODE
CLANG_WARN__DUPLICATE_METHOD_MATCH
CURRENT_ARCH
DEVELOPER_APPLICATIONS_DIR
DEVELOPER_BIN_DIR
DEVELOPER_DIR
DEVELOPER_FRAMEWORKS_DIR
DEVELOPER_FRAMEWORKS_DIR_QUOTED
DEVELOPER_LIBRARY_DIR
DEVELOPER_SDK_DIR
DEVELOPER_TOOLS_DIR
DEVELOPER_USR_DIR
DT_TOOLCHAIN_DIR
ENABLE_BITCODE
ENABLE_DEFAULT_HEADER_SEARCH_PATHS
ENABLE_STRICT_OBJC_MSGSEND
FRAMEWORK_SEARCH_PATHS
GENERATE_MASTER_OBJECT_FILE
GENERATE_PROFILING_CODE
HEADER_SEARCH_PATHS
INLINE_PRIVATE_FRAMEWORKS
KEEP_PRIVATE_EXTERNS
LD_NO_PIE
LD_RUNPATH_SEARCH_PATHS
LINK_WITH_STANDARD_LIBRARIES
MACH_O_TYPE
NATIVE_ARCH
NATIVE_ARCH_32_BIT
NATIVE_ARCH_64_BIT
NATIVE_ARCH_ACTUAL
NO_COMMON
ONLY_ACTIVE_ARCH
PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES
PLATFORM_DEVELOPER_APPLICATIONS_DIR
PLATFORM_DEVELOPER_BIN_DIR
PLATFORM_DEVELOPER_LIBRARY_DIR
PLATFORM_DEVELOPER_SDK_DIR
PLATFORM_DEVELOPER_TOOLS_DIR
PLATFORM_DEVELOPER_USR_DIR
PLATFORM_DIR
SDKROOT
SDK_DIR
SDK_DIR_iphoneos11_0
SDK_NAME
SDK_NAMES
SDK_PRODUCT_BUILD_VERSION
SDK_VERSION
SDK_VERSION_ACTUAL
SDK_VERSION_MAJOR
SDK_VERSION_MINOR
SHARED_DERIVED_FILE_DIR
SHARED_FRAMEWORKS_FOLDER_PATH
SHARED_PRECOMPS_DIR
SHARED_SUPPORT_FOLDER_PATH
SYSTEM_ADMIN_APPS_DIR
SYSTEM_APPS_DIR
SYSTEM_CORE_SERVICES_DIR
SYSTEM_DEMOS_DIR
SYSTEM_DEVELOPER_APPS_DIR
SYSTEM_DEVELOPER_BIN_DIR
SYSTEM_DEVELOPER_DEMOS_DIR
SYSTEM_DEVELOPER_DIR
SYSTEM_DEVELOPER_DOC_DIR
SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR
SYSTEM_DEVELOPER_JAVA_TOOLS_DIR
SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR
SYSTEM_DEVELOPER_RELEASENOTES_DIR
SYSTEM_DEVELOPER_TOOLS
SYSTEM_DEVELOPER_TOOLS_DOC_DIR
SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR
SYSTEM_DEVELOPER_USR_DIR
SYSTEM_DEVELOPER_UTILITIES_DIR
SYSTEM_DOCUMENTATION_DIR
SYSTEM_KEXT_INSTALL_PATH
SYSTEM_LIBRARY_DIR
TOOLCHAINS
TOOLCHAIN_DIR
USE_DYNAMIC_NO_PIC
USE_HEADERMAP
VALID_ARCHS
XCODE_APP_SUPPORT_DIR