JakeWharton / timber

A logger with a small, extensible API which provides utility on top of Android's normal Log class.
https://jakewharton.github.io/timber/docs/5.x/
Apache License 2.0
10.41k stars 959 forks source link

JetBrains annotations dependency out of date #391

Closed mikehardy closed 4 years ago

mikehardy commented 4 years ago

Are you interested in a PR that bumps the annotations dependency?

There is a new annotations jar version: https://github.com/mikehardy/Anki-Android/pull/207

Attempting to use it breaks our build because of a dependency tangle that involves timber: https://travis-ci.com/github/mikehardy/Anki-Android/builds/166678487

Example CI job failed https://travis-ci.com/github/mikehardy/Anki-Android/jobs/336013798 with error message like so:

   > Could not resolve org.jetbrains:annotations:16.0.1.

     Required by:

         project :AnkiDroid > com.jakewharton.timber:timber:4.7.1

      > Cannot find a version of 'org.jetbrains:annotations' that satisfies the version constraints:

           Dependency path 'Anki-Android:AnkiDroid:unspecified' --> 'org.jetbrains:annotations:19.0.0'

           Constraint path 'Anki-Android:AnkiDroid:unspecified' --> 'org.jetbrains:annotations:{strictly 16.0.1}' because of the following reason: releaseRuntimeClasspath uses version 16.0.1

           Dependency path 'Anki-Android:AnkiDroid:unspecified' --> 'com.jakewharton.timber:timber:4.7.1' --> 'org.jetbrains:annotations:16.0.1'

As a separate issue, the custom lint checks are also out of date - compiled with an obsolete version of the lint checks API if you're interested in an attempt to fix:

/home/travis/.gradle/caches/transforms-2/files-2.1/50919e0a5b91f29883f0f3568b79ad43/jetified-timber-4.7.1/jars/lint.jar: Warning: Lint found an issue registry (timber.lint.TimberIssueRegistry) which is older than the current API level; these checks may not work correctly.

Recompile the checks against the latest version. Custom check API version is 1 (3.1), current lint API level is 6 (3.6+) [ObsoleteLintCustomCheck]

   Explanation for issues of type "ObsoleteLintCustomCheck":

   Lint can be extended with "custom checks": additional checks implemented by

   developers and libraries to for example enforce specific API usages

   required by a library or a company coding style guideline.

   The Lint APIs are not yet stable, so these checks may either cause a

   performance degradation, or stop working, or provide wrong results.

   This warning flags custom lint checks that are found to be using obsolete

   APIs and will need to be updated to run in the current lint environment.

   It may also flag issues found to be using a newer version of the API,

   meaning that you need to use a newer version of lint (or Android Studio or

   Gradle plugin etc) to work with these checks.
mikehardy commented 4 years ago

@JakeWharton as above - interested in a PR that would forward-port lint checks? Having the jetbrains annotations dependency pinned here blocks transitive updates in library consumer projects. Minor point of course, but I'm also willing to fix it