Size: a a a

Kotlin Community

2019 November 20

КР

Кирилл Романенко in Kotlin Community
Alexander Nozik
так оно не привязано никак
Нативу плохо становится, если ставишь 1.3.60, а корутины с 1.3.50
источник

AN

Alexander Nozik in Kotlin Community
Кирилл Романенко
Нативу плохо становится, если ставишь 1.3.60, а корутины с 1.3.50
Ну он ворнинг кидает, но вроде он же должен сам перекомпилировать, нет?
источник

КР

Кирилл Романенко in Kotlin Community
Alexander Nozik
Ну он ворнинг кидает, но вроде он же должен сам перекомпилировать, нет?
Нет, он не может собраться.
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
это в сериализации был. Корутинам-то зачем, нои на плагин не завязаны.
Так в корутинах native-mt ещё не вмерджен.
источник

DS

Dmitrii Skurikhin in Kotlin Community
создал первый проект на котлин, создал из idea gradle kotlin-native
он мне сгенерил build.gradle:
plugins {
   id 'org.jetbrains.kotlin.multiplatform' version '1.3.41'
}
repositories {
   mavenCentral()
}
kotlin {
   // For ARM, should be changed to iosArm32 or iosArm64
   // For Linux, should be changed to e.g. linuxX64
   // For MacOS, should be changed to e.g. macosX64
   // For Windows, should be changed to e.g. mingwX64
   macosX64("macos") {
       binaries {
           executable {
               // Change to specify fully qualified name of your application's entry point:
              entryPoint = 'main’
               // Specify command-line arguments, if necessary:
               runTask?.args('')
           }
       }
   }
   sourceSets {
       // Note: To enable common source sets please comment out 'kotlin.import.noCommonSourceSets' property
       // in gradle.properties file and re-import your project in IDE.
       macosMain {
           dependencies {
               implementation 'com.github.ajalt:clikt:2.3.0'
           }
       }
       macosTest {
       }
   }
}

// Use the following Gradle tasks to run your application:
// :runReleaseExecutableMacos - without debug symbols
// :runDebugExecutableMacos - with debug symbols

я добавил зависимость implementation 'com.github.ajalt:clikt:2.3.0'
в
файле Main.kt пытаюсь заимортить это
package main

import clikt.*

fun main (args: Array<String>) {
   args.forEach(::println)
}

но при компиляции Unresolved reference: clikt
источник

DS

Dmitrii Skurikhin in Kotlin Community
структура проекта
источник

AM

Andrew Mikhaylov in Kotlin Community
Clikt похож на JVM-only проект. В нейтиве такое работать не будет
источник

LS

Leonid Startsev in Kotlin Community
в свежем нейтиве должен быть встроенный cli какой-то
источник

AM

Andrew Mikhaylov in Kotlin Community
Можете взять kotlinx.cli, он в поставке нейтива идёт, но документацию на него я пока не видел, увы.
источник

AM

Andrew Mikhaylov in Kotlin Community
А, официальная репа ожила, судя по комммту 9 дней назад.
github.com/Kotlin/kotlinx.cli
источник

AM

Andrew Mikhaylov in Kotlin Community
Там в ридми примеры есть
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
А, официальная репа ожила, судя по комммту 9 дней назад.
github.com/Kotlin/kotlinx.cli
в релиз ноутах от 1.3.60 было
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
в релиз ноутах от 1.3.60 было
Вот я помню, что где-то недавно её упоминание видел, но не вспомнил, где.
источник

DS

Dmitrii Skurikhin in Kotlin Community
спасибо
1) как проверить можно ли подключать проект из mavenCentral в native проект?
2) когда я выносил dependencies из sourceSets в корень buid.gradle то там была другая проблема: could not find method implementation() for arguments….
источник

AN

Alexander Nozik in Kotlin Community
Dmitrii Skurikhin
спасибо
1) как проверить можно ли подключать проект из mavenCentral в native проект?
2) когда я выносил dependencies из sourceSets в корень buid.gradle то там была другая проблема: could not find method implementation() for arguments….
1 документацию читать
источник

AM

Andrew Mikhaylov in Kotlin Community
Dmitrii Skurikhin
спасибо
1) как проверить можно ли подключать проект из mavenCentral в native проект?
2) когда я выносил dependencies из sourceSets в корень buid.gradle то там была другая проблема: could not find method implementation() for arguments….
1. Можете либо находить репу проекта и проверять, мультиплатформенная ли она, либо ходить в браузере по мавен-репе и проверять, есть ли артефакты. Обычно в таких случаях там бы лежали clikt-metadata, clikt-jvm, clikt-ios_x64 и т.п.

2. Ну да, это так не работает. Зависимости вешаются на сорс-сет. Исключение -- андроид, там зависимости можно описать снаружи, так как это конфигурация плагина андроида, а не плагина котлина. Но можно и в сорссете внутри kotlin { ... }, они синкаются.
источник

VP

Vladimir Petrakovich in Kotlin Community
Andrew Mikhaylov
1. Можете либо находить репу проекта и проверять, мультиплатформенная ли она, либо ходить в браузере по мавен-репе и проверять, есть ли артефакты. Обычно в таких случаях там бы лежали clikt-metadata, clikt-jvm, clikt-ios_x64 и т.п.

2. Ну да, это так не работает. Зависимости вешаются на сорс-сет. Исключение -- андроид, там зависимости можно описать снаружи, так как это конфигурация плагина андроида, а не плагина котлина. Но можно и в сорссете внутри kotlin { ... }, они синкаются.
Про 2 я бы не был так уверен 🤔
источник

AM

Andrew Mikhaylov in Kotlin Community
Vladimir Petrakovich
Про 2 я бы не был так уверен 🤔
Почему?
источник

AM

Andrew Mikhaylov in Kotlin Community
Джава-плагина это, наверное, тоже касается, я не пробовал.
источник

AM

Andrew Mikhaylov in Kotlin Community
Но с нейтивом так точно не взлетит. dependencies-блок есть у сорс-сета, значит его сначала надо достать.
источник