Как я могу поделиться своими внешними аннотациями для зависимостей, используемых в проекте Android, через VCS?

Для моей задачи на работе (устранение жестко закодированных строковых предупреждений) я хочу поделиться не только аннотациями @NonNls, которые я добавляю внутри нашего проекта, но и внешними аннотациями, которые я добавляю с помощью «Добавить внешнюю аннотацию» в Android Studio, чтобы мои коллеги не были засыпан бесполезными предупреждениями, как будто я только начинал этот проект.

Отключение этого типа аннотаций в целом не решает мою проблему, поскольку я хочу продолжать видеть полезные предупреждения этого типа. Кроме того, обычная функциональность выбора папки где-то в моей файловой системе для сохранения там внешних аннотаций в древовидной структуре также недостаточно хороша, потому что моим коллегам все равно придется указывать Android Studio на эту папку для каждого класса/ метод, для которого они хотят игнорировать конкретное предупреждение.

Я уже пытался добавить файл «external_annotations.xml» в res/xml, например, со следующим содержимым:

      <root>
    <item name='android.util.Log'>
        <annotation name='org.jetbrains.annotations.NonNls' />
    </item>

    <item name='androidx.fragment.app.DialogFragment void show(androidx.fragment.app.FragmentManager, java.lang.String) 1'>
        <annotation name='org.jetbrains.annotations.NonNls' />
    </item>

    <item name='com.android.volley.VolleyLog'>
        <annotation name='org.jetbrains.annotations.NonNls' />
    </item>


    <item name='com.appsflyer.AppsFlyerLib void logEvent(android.content.Context, java.lang.String, java.util.Map&lt;java.lang.String,java.lang.Object&gt;)'>
        <annotation name='org.jetbrains.annotations.NonNls' />
    </item>

    <item name='com.google.firebase.crashlytics.FirebaseCrashlytics void log(java.lang.String)'>
        <annotation name='org.jetbrains.annotations.NonNls' />
    </item>

    <item name='com.mixpanel.android.mpmetrics.MixpanelAPI void track(java.lang.String)'>
        <annotation name='org.jetbrains.annotations.NonNls' />
    </item>
</root>

и упомянул об этом в моем build.gradle(:app):

      [...]
android {
    [...]

    lintOptions {
        lintConfig file("${project.rootDir}/app/src/main/res/xml/external_annotations.xml")
    }
}
[...]

Но, к сожалению, это не дало никакого эффекта (даже после аннулирования кешей и перезапуска).

0 ответов

Другие вопросы по тегам