Настройка целей вручную
Вы можете добавить цели при создании проекта с помощью мастера проектов. Если вам нужно добавить цель позже, вы можете сделать это вручную, используя шаблоны целей для поддерживаемых платформ.
Узнайте больше о дополнительных настройках для целей.
kotlin {
jvm() // Create a JVM target with the default name 'jvm'
linuxX64() {
/* Specify additional settings for the 'linux' target here */
}
}
Каждая цель может иметь одну или несколько компиляций. В дополнение к стандартным компиляциям для целей тестирования и производства, вы можете создать пользовательские компиляции.
Отличить несколько целей для одной платформы
В многоплатформенной библиотеке вы можете иметь несколько целей для одной платформы. Например, эти цели могут предоставлять один и тот же API, но использовать разные библиотеки во время выполнения, такие как фреймворки для тестирования и решения для ведения журналов. Зависимости от такой многоплатформенной библиотеки могут не разрешиться, потому что неясно, какую цель выбрать.
Для решения этой проблемы пометьте цели на стороне автора библиотеки и потребителя с помощью пользовательского атрибута, который Gradle использует во время разрешения зависимостей.
Например, рассмотрим библиотеку тестирования, которая поддерживает как JUnit, так и TestNG в двух целях. Автору библиотеки необходимо добавить атрибут в обе цели следующим образом:
def testFrameworkAttribute = Attribute.of('com.example.testFramework', String)
kotlin {
jvm('junit') {
attributes.attribute(testFrameworkAttribute, 'junit')
}
jvm('testng') {
attributes.attribute(testFrameworkAttribute, 'testng')
}
}
val testFrameworkAttribute = Attribute.of("com.example.testFramework", String::class.java)
kotlin {
jvm("junit") {
attributes.attribute(testFrameworkAttribute, "junit")
}
jvm("testng") {
attributes.attribute(testFrameworkAttribute, "testng")
}
}
Потребитель должен добавить атрибут в единственную цель, где возникает неоднозначность.
© 2010–2020 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/docs/reference/mpp-set-up-targets.html