Как настроить конкретные исходные наборы Kotlin?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как настроить конкретные исходные наборы Kotlin?

Сообщение Anonymous »

Предположим, я использую gradle 9.1 и плагин kotlin 2.3.0
Предположим, у меня есть следующая конфигурация gradle для проекта Java, которая создает собственный каталог исходных кодов (представьте себе интеграционные тесты, но не в каталоге IntegrationTest. Для целей вопроса его нельзя переименовать).

Код: Выделить всё

sourceSets {
componentTest {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
java {
srcDir(file("src/test-component/java"))
}
}
}
Основной и тестовый модули существуют неявно, поскольку они настраиваются плагином java(-library).
Функция SourceSet#java определяет, где находится исходный код для данного модуля в Java, но что является эквивалентом org.jetbrains.kotlin.jvm.gradle.plugin? Насколько я понимаю, вы имитируете то же объявление, что и выше, но используете kotlin вместо java.

Код: Выделить всё

sourceSets {
componentTest {
compileClasspath += main.output + test.output
runtimeClasspath += main.output + test.output
kotlin {
srcDir(file("src/test-component/kotlin"))
}
}
}
Проблема в том, что с точки зрения gradle не существует метода SourceSet#kotlin, а также не существует какого-либо расширения, зарегистрированного плагином kotlin, которое позволяло бы вызывать этот метод в SourceSet компонентTest , что, в свою очередь, создает новый выделенный набор исходных кодов под названием kotlin . Насколько я понимаю, вам нужно напрямую вызвать плагин Kotlin, чтобы настроить наборы исходных кодов, связанные с Kotlin

Код: Выделить всё

kotlin {
sourceSets {
componentTest {
kotlin {
srcDir(file("src/test-component/kotlin"))
}
}
}
}
Но как настроить их путь к классу компиляции/выполнения? Вы вынуждены использовать смешанную конфигурацию - как для конкретной конфигурации Java, опускающей ссылку на папку с исходным кодом Java, так и для конкретной конфигурации Kotlin для связывания каталога с исходными кодами Kotlin?
Есть ли способ настроить модули без автоматического указания наборов исходных кодов? бывший. фабричный метод, в котором вы указываете каталог, в котором находятся ваши исходные коды, и зависимости от других модулей

Подробнее здесь: https://stackoverflow.com/questions/798 ... ource-sets
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»