Как завершить процесс сборки на основании предупреждений safeUnbox привязки данных - PullRequest
0 голосов
/ 04 ноября 2018

Этот вопрос объясняет, что такое «предупреждение safeUnbox».

У меня в build.gradle есть следующее:

lintOptions {
    quiet false
    abortOnError true
    warningsAsErrors true
    baseline file("lint-baseline.xml")
}

и позже:

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
    kotlinOptions {
        jvmTarget = "1.8"
        allWarningsAsErrors = true
    }
}

Но предупреждения safeUnbox, связанные с привязкой данных, не завершают процесс сборки. Вывод содержит жалобы на предупреждения и на то, что предупреждения превратились в ошибки:

w: warning: viewModel.doorsState.getValue().first is a boxed field but needs to be un-boxed to execute android:text. This may cause NPE so Data Binding will safely unbox it. You can change the expression and explicitly wrap viewModel.doorsState.getValue().first with safeUnbox() to prevent the warning
  file:///.../app/src/debug/res/layout/activity_car_connection_debug.xml Line:75
e: warnings found and -Werror specified

Но в самом конце процесса строительства у меня есть:

BUILD SUCCESSFUL in 46s 

Есть ли какой-нибудь способ сделать весь процесс сборки неудачным при "предупреждении safeUnbox"?

Ответы [ 2 ]

0 голосов
/ 23 января 2019

В дополнение к ответу Александра, вы также можете определить это в вашем модуле build.gradle, который может быть более читабельным:

android {

    ...

    kapt {
        javacOptions {
            option("-Xmaxerrs", 1000)
            option("-Werror")
        }
    }
}
0 голосов
/ 09 ноября 2018

Я нашел решение, Yay!

Помещение следующего заклинания в корень gradle.build решает проблему.

subprojects {
    afterEvaluate {
        if (project.plugins.hasPlugin("kotlin-kapt")) {
            kapt {
                javacOptions {
                    option("-Xmaxerrs", 1000)
                    option("-Werror")
                }
            }
        }
    }
}

Также заклинание увеличивает предел количества регистрируемых ошибок (значение по умолчанию: 100), что полезно, если используется привязка данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...