¡Bienvenido a Kotlin!
Es un lenguaje de programación de código abierto, de tipo estático, respaldado y desarrollado por JetBrains y colaboradores de código abierto.
Algunos enlaces útiles:
La compatibilidad con la programación multiplataforma es uno de los beneficios clave de Kotlin. Reduce el tiempo dedicado a escribir y mantener el mismo código para diferentes plataformas al tiempo que conserva la flexibilidad y los beneficios de la programación nativa.
Este repositorio utiliza la función de cadenas de herramientas de Gradle para seleccionar y aprovisionar automáticamente los JDK necesarios del proyecto AdoptOpenJdk.
Alternativamente, aún es posible proporcionar solo los JDK necesarios a través de variables de entorno (consulte gradle.properties para conocer los nombres de variables admitidas). Para garantizar que Gradle utilice solo JDK de variables ambientales, deshabilite la detección automática de la cadena de herramientas de Gradle pasando la opción -Porg.gradle.java.installations.auto-detect=false
(o colóquela en $GRADLE_USER_HOME/gradle.properties
).
En Windows, es posible que necesites agregar una configuración de rutas largas al repositorio:
git config core.longpaths true
El proyecto está construido con Gradle. Ejecute Gradle para compilar el proyecto y ejecutar las pruebas usando el siguiente comando en Unix/macOS:
./gradlew <tasks-and-options>
o el siguiente comando en Windows:
gradlew <tasks-and-options>
En la primera configuración del proyecto, Gradle descargará y configurará las dependencias en
intellij-core
es parte del compilador de línea de comandos y contiene solo las API necesarias.idea-full
es una edición comunitaria IntelliJ IDEA completa que se utilizará en el módulo de complemento.Estas dependencias son bastante grandes, por lo que, dependiendo de la calidad de su conexión a Internet, es posible que se produzcan tiempos de espera para obtenerlas. En este caso, puede aumentar el tiempo de espera especificando los siguientes parámetros de línea de comando en la primera ejecución:
./gradlew -Dhttp.socketTimeout=60000 -Dhttp.connectionTimeout=60000
clean
- resultados de compilación limpiosdist
: ensambla la distribución del compilador en la carpeta dist/kotlinc/
install
: compila e instala todos los artefactos públicos en el repositorio local de Maven.coreLibsTest
: crea y ejecuta pruebas stdlib, reflect y kotlin-testgradlePluginTest
: crea y ejecuta pruebas de complementos de GradlecompilerTest
: compila y ejecuta todas las pruebas del compilador Para reproducir la compilación de TeamCity, utilice el indicador -Pteamcity=true
. Las compilaciones locales no ejecutan proguard y tienen la compresión jar deshabilitada de forma predeterminada.
OPCIONAL: Algunos artefactos, principalmente los complementos de Maven, se crean por separado con Maven. Consulte bibliotecas/ReadMe.md para obtener más detalles.
Para compilar Kotlin/Native, consulte kotlin-native/README.md.
Se recomienda utilizar la última versión lanzada de Intellij IDEA (Community o Ultimate Edition). Puede descargar IntelliJ IDEA aquí.
Después de clonar el proyecto, importe el proyecto en IntelliJ eligiendo el directorio del proyecto en el cuadro de diálogo Abrir proyecto.
Para trabajar cómodamente con las pruebas del compilador, se recomienda utilizar Kotlin Compiler Test Helper.
Tenemos una función de verificación de dependencias habilitada en el repositorio para todas las compilaciones de Gradle. Gradle comprobará los hashes (md5 y sha256) de las dependencias utilizadas y fallará en las compilaciones con errores Dependency verification failed
cuando los artefactos locales estén ausentes o tengan diferentes hashes enumerados en el archivo verificar-metadata.xml.
Se espera que verification-metadata.xml
solo se actualice con las confirmaciones que modifican la compilación. Hay algunos consejos sobre cómo realizar dichas actualizaciones:
components
de verification-metadata.xml
para evitar el almacenamiento de dependencias antiguas no utilizadas. Puede utilizar el siguiente comando: # 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 (verifique que la actualización se relacione con sus cambios) ./gradlew --write-verification-metadata sha256,md5 -Pkotlin.native.enabled=true resolveDependencies
La tarea resolveDependencies
resuelve dependencias para todas las plataformas, incluidas las dependencias descargadas por complementos.
También puede utilizar el script ./scripts/update-verification-metadata.sh
que incluye ambos pasos
Tener en mente:
darwin
, mac
, osx
, linux
, windows
), recuerde agregarlos a la configuración implicitDependencies
o actualizar la tarea resolveDependencies
si es necesario. resolveDependencies
debería resolver todas las dependencias, incluidas las dependencias para diferentes plataformas.local.properties
en la carpeta de su proyecto Kotlin, asegúrese de que no contenga kotlin.native.enabled=false
. De lo contrario, es posible que no se agreguen dependencias nativas a los metadatos de verificación. Esto se debe a que local.properties
tiene mayor prioridad que -Pkotlin.native.enabled=true
especificado en el comando Gradle. Publicamos versiones -dev
con frecuencia.
Para las versiones -dev
, puede utilizar la lista de versiones disponibles e incluir este repositorio de Maven:
maven( " https://maven.pkg.jetbrains.space/kotlin/p/kotlin/bootstrap " )
Kotlin se distribuye según los términos de la licencia Apache (Versión 2.0). Consulte la carpeta de licencia para obtener más detalles.
Asegúrese de revisar las pautas de contribución de Kotlin para saber cómo ayudar al proyecto.