欢迎来到科特林!
它是一种开源静态类型编程语言,由 JetBrains 和开源贡献者支持和开发。
一些方便的链接:
支持多平台编程是 Kotlin 的主要优势之一。它减少了为不同平台编写和维护相同代码所花费的时间,同时保留了本机编程的灵活性和优势。
该存储库使用 Gradle 工具链功能从 AdoptOpenJdk 项目中选择并自动配置所需的 JDK。
或者,仍然可以通过环境变量仅提供所需的 JDK(有关支持的变量名称,请参阅 gradle.properties)。为了确保 Gradle 仅使用环境变量中的 JDK - 通过传递-Porg.gradle.java.installations.auto-detect=false
选项(或将其放入$GRADLE_USER_HOME/gradle.properties
)来禁用 Gradle 工具链自动检测。
在 Windows 上,您可能需要向存储库添加长路径设置:
git config core.longpaths true
该项目是使用 Gradle 构建的。在 Unix/macOS 上使用以下命令运行 Gradle 来构建项目并运行测试:
./gradlew <tasks-and-options>
或者在 Windows 上使用以下命令:
gradlew <tasks-and-options>
在第一个项目配置中,gradle 将下载并设置依赖项
intellij-core
是命令行编译器的一部分,仅包含必要的 API。idea-full
是一个完整的 IntelliJ IDEA 社区版,可在插件模块中使用。这些依赖项非常大,因此根据您的互联网连接质量,您可能会面临获取它们的超时。在这种情况下,您可以通过在首次运行时指定以下命令行参数来增加超时:
./gradlew -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
clean
- 干净的构建结果dist
- 将编译器发行版组装到dist/kotlinc/
文件夹中install
- 构建所有公共工件并将其安装到本地 Maven 存储库中coreLibsTest
- 构建并运行 stdlib、reflect 和 kotlin-test 测试gradlePluginTest
- 构建并运行 gradle 插件测试compilerTest
- 构建并运行所有编译器测试要重现 TeamCity 构建,请使用-Pteamcity=true
标志。本地构建不运行 proguard 并且默认禁用 jar 压缩。
可选:一些工件(主要是 Maven 插件)是使用 Maven 单独构建的。详细信息请参阅libraries/ReadMe.md。
要构建 Kotlin/Native,请参阅 kotlin-native/README.md。
建议使用最新发布的Intellij IDEA版本(社区版或旗舰版)。您可以在此处下载 IntelliJ IDEA。
克隆项目后,通过在“打开项目”对话框中选择项目目录将项目导入 IntelliJ 中。
为了方便地进行编译器测试,建议使用 Kotlin 编译器测试助手
我们在存储库中为所有 Gradle 构建启用了依赖项验证功能。 Gradle 将检查所用依赖项的哈希值(md5 和 sha256),并且当本地工件不存在或在 verify-metadata.xml 文件中列出不同的哈希值时,构建会失败并出现Dependency verification failed
错误。
预计verification-metadata.xml
应该仅使用修改构建的提交进行更新。有一些关于如何执行此类更新的提示:
verification-metadata.xml
的components
部分,以避免堆积旧的未使用的依赖项。您可以使用以下命令: # macOS
sed -i ' ' -e ' /<components>/,/</components>/d ' gradle/verification-metadata.xml
# Linux & Git for Windows
sed -i -e ' /<components>/,/</components>/d ' gradle/verification-metadata.xml
--write-verification-metadata
命令重新生成依赖项(验证更新与您的更改相关) ./gradlew --write-verification-metadata sha256,md5 -Pkotlin.native.enabled=true resolveDependencies
resolveDependencies
任务解析所有平台的依赖项,包括插件下载的依赖项。
您还可以使用./scripts/update-verification-metadata.sh
脚本,其中包含这两个步骤
记住:
darwin
、 mac
、 osx
、 linux
、 windows
),请记住将它们添加到implicitDependencies
配置或更新resolveDependencies
任务(如果需要)。 resolveDependencies
应该解决所有依赖关系,包括不同平台的依赖关系。local.properties
文件,请确保它不包含kotlin.native.enabled=false
。否则,纯本机依赖项可能不会添加到验证元数据中。这是因为local.properties
优先级高于 Gradle 命令中指定的-Pkotlin.native.enabled=true
。 我们经常发布-dev
版本。
对于-dev
版本,您可以使用可用版本列表并包含此 Maven 存储库:
maven( " https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap " )
Kotlin 根据 Apache 许可证(版本 2.0)的条款进行分发。有关详细信息,请参阅许可证文件夹。
请务必查看 Kotlin 的贡献指南,以了解如何帮助该项目。