مرحبا بكم في كوتلين!
إنها لغة برمجة مفتوحة المصدر ومكتوبة بشكل ثابت مدعومة ومطورة بواسطة JetBrains والمساهمين مفتوحي المصدر.
بعض الروابط المفيدة:
يعد دعم البرمجة متعددة المنصات أحد المزايا الرئيسية لـ Kotlin. إنه يقلل من الوقت المستغرق في الكتابة والحفاظ على نفس الكود لمنصات مختلفة مع الحفاظ على مرونة وفوائد البرمجة الأصلية.
يستخدم هذا المستودع ميزة سلاسل أدوات Gradle لتحديد JDKs المطلوبة وتوفيرها تلقائيًا من مشروع AdoptOpenJdk.
وبدلاً من ذلك، لا يزال من الممكن توفير JDKs المطلوبة فقط عبر متغيرات البيئة (راجع gradle.properties لمعرفة أسماء المتغيرات المدعومة). للتأكد من أن Gradle يستخدم JDKs فقط من المتغيرات البيئية - قم بتعطيل الاكتشاف التلقائي لسلسلة أدوات Gradle عن طريق تمرير الخيار -Porg.gradle.java.installations.auto-detect=false
(أو ضعه في $GRADLE_USER_HOME/gradle.properties
).
في نظام التشغيل Windows، قد تحتاج إلى إضافة إعداد المسارات الطويلة إلى الريبو:
git config core.longpaths true
تم بناء المشروع باستخدام Gradle. قم بتشغيل Gradle لبناء المشروع وإجراء الاختبارات باستخدام الأمر التالي على Unix/macOS:
./gradlew <tasks-and-options>
أو الأمر التالي على نظام التشغيل Windows:
gradlew <tasks-and-options>
في أول تكوين للمشروع، سيتم تنزيل التبعيات وإعدادها
intellij-core
جزءًا من برنامج التحويل البرمجي لسطر الأوامر ويحتوي على واجهات برمجة التطبيقات الضرورية فقط.idea-full
عبارة عن إصدار مجتمع IntelliJ IDEA كامل لاستخدامه في وحدة البرنامج المساعد.هذه التبعيات كبيرة جدًا، لذا اعتمادًا على جودة اتصالك بالإنترنت، قد تواجه مهلة زمنية للحصول عليها. في هذه الحالة، يمكنك زيادة المهلة عن طريق تحديد معلمات سطر الأوامر التالية في التشغيل الأول:
./gradlew -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
clean
- نتائج بناء نظيفةdist
- يجمع توزيع المترجم في مجلد dist/kotlinc/
install
- إنشاء جميع العناصر العامة وتثبيتها في مستودع maven المحليcoreLibsTest
- إنشاء وتشغيل اختبارات stdlib وreflex واختبارات kotlingradlePluginTest
- إنشاء اختبارات المكونات الإضافية وتشغيلهاcompilerTest
- بناء وتشغيل جميع اختبارات برنامج التحويل البرمجي لإعادة إنتاج تصميم TeamCity، استخدم -Pteamcity=true
flag. لا تعمل الإصدارات المحلية على تشغيل proguard ويتم تعطيل ضغط الجرة افتراضيًا.
اختياري: يتم إنشاء بعض القطع الأثرية، خاصة مكونات Maven الإضافية، بشكل منفصل باستخدام Maven. راجع المكتبات/ReadMe.md للحصول على التفاصيل.
لبناء Kotlin/Native، راجع kotlin-native/README.md.
يوصى باستخدام أحدث إصدار من Intellij IDEA (Community أو Ultimate Edition). يمكنك تنزيل IntelliJ IDEA هنا.
بعد استنساخ المشروع، قم باستيراد المشروع في IntelliJ عن طريق اختيار دليل المشروع في مربع حوار فتح المشروع.
للعمل المفيد مع اختبارات المترجم، يوصى باستخدام Kotlin Compiler Test Helper
لدينا ميزة التحقق من التبعيات ممكّنة في المستودع لجميع إصدارات Gradle. سيتحقق Gradle من التجزئات (md5 وsha256) للتبعيات المستخدمة وسيفشل في الإنشاءات مع Dependency verification failed
عند غياب العناصر المحلية أو وجود تجزئات مختلفة مدرجة في ملف Verification-metadata.xml.
من المتوقع أن يتم تحديث verification-metadata.xml
فقط من خلال الالتزامات التي تعدل البنية. هناك بعض النصائح حول كيفية إجراء مثل هذه التحديثات:
components
في verification-metadata.xml
لتجنب تخزين التبعيات القديمة غير المستخدمة. يمكنك استخدام الأمر التالي: # 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 (تحقق من أن التحديث يتعلق بالتغييرات التي أجريتها) ./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 الخاص بك، فتأكد من أنه لا يحتوي على kotlin.native.enabled=false
. وبخلاف ذلك، قد لا تتم إضافة التبعيات الأصلية فقط إلى بيانات تعريف التحقق. وذلك لأن local.properties
لها أسبقية أعلى من -Pkotlin.native.enabled=true
المحدد في أمر Gradle. ننشر إصدارات -dev
بشكل متكرر.
بالنسبة لإصدارات -dev
، يمكنك استخدام قائمة الإصدارات المتاحة وتضمين المستودع المخضرم هذا:
maven( " https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap " )
يتم توزيع Kotlin بموجب شروط ترخيص Apache (الإصدار 2.0). راجع مجلد الترخيص للحصول على التفاصيل.
يرجى التأكد من مراجعة إرشادات المساهمة الخاصة بـ Kotlin لمعرفة كيفية مساعدة المشروع.