Bienvenue à Kotlin !
Il s'agit d'un langage de programmation open source à typage statique pris en charge et développé par JetBrains et des contributeurs open source.
Quelques liens pratiques :
La prise en charge de la programmation multiplateforme est l'un des principaux avantages de Kotlin. Il réduit le temps passé à écrire et à maintenir le même code pour différentes plates-formes tout en conservant la flexibilité et les avantages de la programmation native.
Ce référentiel utilise la fonctionnalité de chaînes d'outils Gradle pour sélectionner et provisionner automatiquement les JDK requis à partir du projet AdoptOpenJdk.
Alternativement, il est toujours possible de fournir uniquement les JDK requis via des variables d'environnement (voir gradle.properties pour les noms de variables pris en charge). Pour garantir que Gradle utilise uniquement les JDK des variables environnementales, désactivez la détection automatique de la chaîne d'outils Gradle en passant l'option -Porg.gradle.java.installations.auto-detect=false
(ou placez-la dans $GRADLE_USER_HOME/gradle.properties
).
Sous Windows, vous devrez peut-être ajouter un paramètre de chemins longs au dépôt :
git config core.longpaths true
Le projet est construit avec Gradle. Exécutez Gradle pour créer le projet et exécuter les tests à l'aide de la commande suivante sous Unix/macOS :
./gradlew <tasks-and-options>
ou la commande suivante sous Windows :
gradlew <tasks-and-options>
Lors de la première configuration du projet, Gradle téléchargera et configurera les dépendances sur
intellij-core
fait partie du compilateur de ligne de commande et contient uniquement les API nécessaires.idea-full
est une édition communautaire IntelliJ IDEA complète à utiliser dans le module plugin.Ces dépendances sont assez importantes, donc en fonction de la qualité de votre connexion Internet, vous pourriez être confronté à des délais d'attente pour les obtenir. Dans ce cas, vous pouvez augmenter le délai d'attente en spécifiant les paramètres de ligne de commande suivants lors de la première exécution :
./gradlew -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
clean
- résultats de construction propresdist
- assemble la distribution du compilateur dans le dossier dist/kotlinc/
install
- crée et installe tous les artefacts publics dans le référentiel maven localcoreLibsTest
- créer et exécuter des tests stdlib, réflexion et kotlin-testgradlePluginTest
- créer et exécuter des tests de plugin GradlecompilerTest
- construit et exécute tous les tests du compilateur Pour reproduire la version TeamCity, utilisez l'indicateur -Pteamcity=true
. Les versions locales n'exécutent pas proguard et la compression jar est désactivée par défaut.
FACULTATIF : Certains artefacts, principalement ceux du plugin Maven, sont construits séparément avec Maven. Reportez-vous à library/ReadMe.md pour plus de détails.
Pour créer Kotlin/Native, consultez kotlin-native/README.md.
Il est recommandé d'utiliser la dernière version d'Intellij IDEA (Community ou Ultimate Edition). Vous pouvez télécharger IntelliJ IDEA ici.
Après avoir cloné le projet, importez le projet dans IntelliJ en choisissant le répertoire du projet dans la boîte de dialogue Ouvrir le projet.
Pour un travail pratique avec les tests du compilateur, il est recommandé d'utiliser Kotlin Compiler Test Helper
Nous avons une fonctionnalité de vérification des dépendances activée dans le référentiel pour toutes les versions Gradle. Gradle vérifiera les hachages (md5 et sha256) des dépendances utilisées et échouera aux builds avec des erreurs Dependency verification failed
lorsque les artefacts locaux sont absents ou ont des hachages différents répertoriés dans le fichier vérification-metadata.xml.
Il est prévu que verification-metadata.xml
ne soit mis à jour qu'avec les commits qui modifient la build. Il existe quelques conseils pour effectuer de telles mises à jour :
components
de verification-metadata.xml
pour éviter le stockage d'anciennes dépendances inutilisées. Vous pouvez utiliser la commande suivante : # 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
de Gradle (vérifiez que la mise à jour concerne vos modifications) ./gradlew --write-verification-metadata sha256,md5 -Pkotlin.native.enabled=true resolveDependencies
La tâche resolveDependencies
résout les dépendances pour toutes les plates-formes, y compris les dépendances téléchargées par les plugins.
Vous pouvez également utiliser le script ./scripts/update-verification-metadata.sh
qui comprend ces deux étapes
Gardez à l'esprit :
darwin
, mac
, osx
, linux
, windows
), n'oubliez pas de les ajouter à la configuration implicitDependencies
ou de mettre à jour la tâche resolveDependencies
si nécessaire. resolveDependencies
doit résoudre toutes les dépendances, y compris celles des différentes plates-formes.local.properties
dans votre dossier de projet Kotlin, assurez-vous qu'il ne contient pas kotlin.native.enabled=false
. Sinon, les dépendances natives uniquement ne pourront pas être ajoutées aux métadonnées de vérification. En effet, local.properties
a une priorité plus élevée que -Pkotlin.native.enabled=true
spécifié dans la commande Gradle. Nous publions fréquemment des versions -dev
.
Pour les versions -dev
, vous pouvez utiliser la liste des versions disponibles et inclure ce référentiel maven :
maven( " https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap " )
Kotlin est distribué selon les termes de la licence Apache (version 2.0). Voir le dossier de licence pour plus de détails.
Assurez-vous de consulter les directives de contribution de Kotlin pour savoir comment aider le projet.