Selamat datang di Kotlin!
Ini adalah bahasa pemrograman sumber terbuka dan diketik secara statis yang didukung dan dikembangkan oleh JetBrains dan kontributor sumber terbuka.
Beberapa tautan berguna:
Dukungan untuk pemrograman multiplatform adalah salah satu manfaat utama Kotlin. Ini mengurangi waktu yang dihabiskan untuk menulis dan memelihara kode yang sama untuk platform berbeda sambil tetap mempertahankan fleksibilitas dan manfaat pemrograman asli.
Repositori ini menggunakan fitur rantai alat Gradle untuk memilih dan menyediakan JDK yang diperlukan secara otomatis dari proyek AdoptOpenJdk.
Alternatifnya, masih dimungkinkan untuk hanya menyediakan JDK yang diperlukan melalui variabel lingkungan (lihat gradle.properties untuk nama variabel yang didukung). Untuk memastikan Gradle hanya menggunakan JDK dari variabel lingkungan - nonaktifkan deteksi otomatis rantai alat Gradle dengan meneruskan opsi -Porg.gradle.java.installations.auto-detect=false
(atau masukkan ke dalam $GRADLE_USER_HOME/gradle.properties
).
Di Windows Anda mungkin perlu menambahkan pengaturan jalur panjang ke repo:
git config core.longpaths true
Proyek ini dibangun dengan Gradle. Jalankan Gradle untuk membangun proyek dan menjalankan pengujian menggunakan perintah berikut di Unix/macOS:
./gradlew <tasks-and-options>
atau perintah berikut di Windows:
gradlew <tasks-and-options>
Pada konfigurasi proyek pertama, gradle akan mengunduh dan mengatur dependensinya
intellij-core
adalah bagian dari kompiler baris perintah dan hanya berisi API yang diperlukan.idea-full
adalah IntelliJ IDEA Community Edition lengkap untuk digunakan dalam modul plugin.Ketergantungan ini cukup besar, jadi tergantung pada kualitas koneksi internet Anda, Anda mungkin akan mengalami waktu tunggu untuk mendapatkannya. Dalam hal ini, Anda dapat menambah batas waktu dengan menentukan parameter baris perintah berikut saat pertama kali dijalankan:
./gradlew -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
clean
- hasil pembangunan bersihdist
- merakit distribusi kompiler ke dalam folder dist/kotlinc/
install
- membangun dan menginstal semua artefak publik ke dalam repositori maven lokalcoreLibsTest
- membuat dan menjalankan pengujian stdlib, refleksi, dan uji kotlingradlePluginTest
- membuat dan menjalankan pengujian plugin gradlecompilerTest
- membangun dan menjalankan semua pengujian kompiler Untuk mereproduksi penggunaan build TeamCity -Pteamcity=true
flag. Build lokal tidak menjalankan proguard dan kompresi jar dinonaktifkan secara default.
OPSIONAL: Beberapa artefak, terutama artefak plugin Maven, dibuat secara terpisah dengan Maven. Lihat perpustakaan/ReadMe.md untuk detailnya.
Untuk membangun Kotlin/Native, lihat kotlin-native/README.md.
Disarankan untuk menggunakan Intellij IDEA (Community atau Ultimate Edition) versi rilis terbaru. Anda dapat mengunduh IntelliJ IDEA di sini.
Setelah mengkloning proyek, impor proyek di IntelliJ dengan memilih direktori proyek di dialog Buka proyek.
Untuk pekerjaan praktis dengan pengujian compiler, disarankan untuk menggunakan Kotlin Compiler Test Helper
Kami mengaktifkan fitur verifikasi dependensi di repositori untuk semua build Gradle. Gradle akan memeriksa hash (md5 dan sha256) dari dependensi yang digunakan dan akan menggagalkan build dengan kesalahan Dependency verification failed
ketika artefak lokal tidak ada atau memiliki hash berbeda yang tercantum dalam file verifikasi-metadata.xml.
verification-metadata.xml
diharapkan hanya diperbarui dengan penerapan yang mengubah build. Ada beberapa tips bagaimana melakukan pembaruan tersebut:
components
verification-metadata.xml
untuk menghindari penimbunan dependensi lama yang tidak digunakan. Anda dapat menggunakan perintah berikut: # 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
Gradle (verifikasi pembaruan terkait dengan perubahan Anda) ./gradlew --write-verification-metadata sha256,md5 -Pkotlin.native.enabled=true resolveDependencies
tugas resolveDependencies
menyelesaikan dependensi untuk semua platform termasuk dependensi yang diunduh oleh plugin.
Anda juga dapat menggunakan skrip ./scripts/update-verification-metadata.sh
yang mencakup kedua langkah ini
Mengingat:
darwin
, mac
, osx
, linux
, windows
), ingatlah untuk menambahkannya ke konfigurasi implicitDependencies
atau perbarui tugas resolveDependencies
jika diperlukan. resolveDependencies
harus menyelesaikan semua dependensi termasuk dependensi untuk platform yang berbeda.local.properties
di folder proyek Kotlin, pastikan file tersebut tidak berisi kotlin.native.enabled=false
. Jika tidak, dependensi asli saja tidak dapat ditambahkan ke metadata verifikasi. Ini karena local.properties
memiliki prioritas lebih tinggi daripada -Pkotlin.native.enabled=true
yang ditentukan dalam perintah Gradle. Kami sering menerbitkan versi -dev
.
Untuk versi -dev
Anda dapat menggunakan daftar versi yang tersedia dan menyertakan repositori pakar ini:
maven( " https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap " )
Kotlin didistribusikan berdasarkan ketentuan Lisensi Apache (Versi 2.0). Lihat folder lisensi untuk detailnya.
Pastikan untuk meninjau pedoman kontribusi Kotlin untuk mempelajari cara membantu proyek ini.