Ответ 1
Обновление 2019-01-23 Пять минут назад был выпущен kotlin 1.3.20, а также обновлен в хранилище Gradle, поэтому эту проблему следует решить путем обновления плагина Kotlin Gradle до версии 1.3.20.
Обновление 2019-01-11 Целевая версия в выпуске Youtrack KT-26808 была обновлена до версии 1.3.20. Вы можете просмотреть последнюю выпущенную версию в репозиториях Gradle здесь, но на данный момент есть еще много открытых проблем для 1.3.20.
Обновление 2018-12-17 Предупреждение об устаревании исправлено в коммите https://github.com/JetBrains/kotlin/commit/67e82a54e5ee529116e881953f93a4c8f216e33a, проблема Youtrack закрыта. Сейчас жду выхода релиза.
Как отметил @Javaru, об этом уже сообщалось (в сентябре 2018 года) в выпуске Youtrack KT-26808.
Используя информацию из комментария Ланса в ссылке, на которую указал Томас Дэвид Бейкер:
Ответ:
Если вы получаете это предупреждение, когда не используете DefaultSourceDirectorySet
напрямую, это, вероятно, исходит от используемого вами плагина Gradle. Вы можете проверить это, используя --warning-mode all --stacktrace
для сборки Gradle, например, ./gradlew assemble --warning-mode all --stacktrace
.
В данном конкретном случае это плагин Kotlin Gradle, они используют его по умолчаниюKotlinSourceSet.kt # L140-L155:
private val createDefaultSourceDirectorySet: (name: String?, resolver: FileResolver?) -> SourceDirectorySet = run {
val klass = DefaultSourceDirectorySet::class.java
val defaultConstructor = klass.constructorOrNull(String::class.java, FileResolver::class.java)
if (defaultConstructor != null && defaultConstructor.getAnnotation(java.lang.Deprecated::class.java) == null) {
// TODO: drop when gradle < 2.12 are obsolete
{ name, resolver -> defaultConstructor.newInstance(name, resolver) }
} else {
// (code omitted)
}
}
Мы можем верить, что они решат проблему вовремя, поэтому не беспокойтесь о предупреждении.