vanniktech / gradle-android-apk-size-plugin

Gradle plugin that generates CSV files with apk size per output and variant of an apk
http://vanniktech.com
Apache License 2.0
84 stars 14 forks source link

Convert project to Kotlin #80

Closed jaredsburrows closed 6 years ago

jaredsburrows commented 6 years ago

@vanniktech Closes https://github.com/vanniktech/gradle-android-apk-size-plugin/issues/56.

codecov[bot] commented 6 years ago

Codecov Report

Merging #80 into master will decrease coverage by 18.18%. The diff coverage is 66.66%.

Impacted file tree graph

@@              Coverage Diff              @@
##             master      #80       +/-   ##
=============================================
- Coverage     86.04%   67.85%   -18.19%     
- Complexity       12       18        +6     
=============================================
  Files             3        4        +1     
  Lines            43       56       +13     
  Branches          3       11        +8     
=============================================
+ Hits             37       38        +1     
- Misses            1        3        +2     
- Partials          5       15       +10
Impacted Files Coverage Δ Complexity Δ
...om/vanniktech/android/apk/size/ApkSizeExtension.kt 100% <100%> (ø) 2 <2> (?)
...in/com/vanniktech/android/apk/size/ApkSizeTools.kt 100% <100%> (ø) 4 <4> (?)
...lin/com/vanniktech/android/apk/size/ApkSizeTask.kt 50% <50%> (ø) 7 <7> (?)
...n/com/vanniktech/android/apk/size/ApkSizePlugin.kt 75% <73.07%> (ø) 5 <5> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update e16d099...53766f9. Read the comment docs.

jaredsburrows commented 6 years ago

@vanniktech Looks like CodeCov does not support Kotlin very well or did I do something wrong? Either way, this repository is still higher now at code coverage than the previous ~50% number.

jaredsburrows commented 6 years ago

@vanniktech Can I get a review + merge?

jaredsburrows commented 6 years ago

@vanniktech This is a lot of changes. Do mind merging this?

jaredsburrows commented 6 years ago

@vanniktech All fixed.

jaredsburrows commented 6 years ago

Awesome!

On Jan 25, 2018 7:58 AM, "Niklas Baudy" notifications@github.com wrote:

Merged #80 https://github.com/vanniktech/gradle-android-apk-size-plugin/pull/80.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/vanniktech/gradle-android-apk-size-plugin/pull/80#event-1441931911, or mute the thread https://github.com/notifications/unsubscribe-auth/ABqMSO30MkcKB9TnaMPYloPkQZSSYv8mks5tOKS2gaJpZM4Rl8Tk .

vanniktech commented 6 years ago

Don't know what exactly happens but locally there's a good coverage on one part (instructions) but not on branches. There might be something where jacoco can't deal correctly with lateinit and hence the null cases are always left out. 🤷‍♂️

screen shot 2018-01-26 at 16 11 03

jaredsburrows commented 6 years ago

We can make them nullable instead of using late init. Also, would updating jacoco or Gradle help?

On Jan 26, 2018 7:15 AM, "Niklas Baudy" notifications@github.com wrote:

Don't know what exactly happens but locally there's a good coverage on one part (instructions) but not on branches. There might be something where jacoco can't deal correctly with lateinit and hence the null cases are always left out. 🤷‍♂️

[image: screen shot 2018-01-26 at 16 11 03] https://user-images.githubusercontent.com/5759366/35446135-171c4ca8-02b4-11e8-9230-9ac51f3979aa.png

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/vanniktech/gradle-android-apk-size-plugin/pull/80#issuecomment-360811541, or mute the thread https://github.com/notifications/unsubscribe-auth/ABqMSD2eK1p3SicesPx9RfnZf9slQ0koks5tOewLgaJpZM4Rl8Tk .

vanniktech commented 6 years ago

Updated jacoco by using:

junitJacoco {
  jacocoVersion = '0.8.0'
}

and it did not help. Might something that jacoco needs to optimize. In any case they're analyzing the bytecode and I assume in the bytecode there's code in case things are null when an exception is thrown then. And those cases are not covered.