Skip to content

fix(deps): update showkase to v1.0.0-kotlin1.5.30-1#228

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/showkase
Open

fix(deps): update showkase to v1.0.0-kotlin1.5.30-1#228
renovate[bot] wants to merge 1 commit intomainfrom
renovate/showkase

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Mar 20, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
com.airbnb.android:showkase-processor 1.0.0-beta13 -> 1.0.0-kotlin1.5.30-1 age adoption passing confidence
com.airbnb.android:showkase 1.0.0-beta13 -> 1.0.0-kotlin1.5.30-1 age adoption passing confidence

⚠ Dependency Lookup Warnings ⚠

Warnings were logged while processing this repo. Please check the Dependency Dashboard for more information.


Release Notes

airbnb/Showkase

v1.0.0-beta18

Compare Source

You can now create another annotation class that's annotated with @Preview and Showkase will ensure that the @Preview properties are applied whenever you use the custom annotation. Here's an example

@​Preview(name = "Custom Preview One First", group = "Custom Previews")
@​Preview(name = "Custom Preview One Second", group = "Custom Previews")
annotation class MyCustomPreview

// This custom annotation can now be used to represent previews
@​MyCustomPreview
@​Composable
fun CustomAnnotationPreview() {
}

This was contributed by @​oas004 and required a lot of diligence 👏🏻

  • Experimental Added a new artifact showkase-screenshot-testing-paparazzi that provides a mechanism to automate screenshot testing for your codebase using Showkase + Paparazzi (https://github.com/airbnb/Showkase/pull/294).

Assuming that you were already using Showkase, you just need 3 lines of code in the test sourceset of your root module to automatically screenshot test all your previews in the default configuration.

@​ShowkaseScreenshot(rootShowkaseClass = YourShowkaseRootModuleClass::class)
abstract class MyPaparazziShowkaseScreenshotTest: PaparazziShowkaseScreenshotTest {
    companion object: PaparazziShowkaseScreenshotTest.CompanionObject
}

In our own usage, we've found issues with using Paparazzi when the codebase has a large number of screenshot and haven't quite figured out what's causing it (https://github.com/cashapp/paparazzi/issues/630). As a result, try at your own risk. Having said that, we are really keen on resolving the linked issue and deploying this. If you have any insights about this issue, please reach out!

  • Other misc documentation updates and fixes

v1.0.0-beta17

Compare Source

  • Optimized the code generation to be more performant (https://github.com/airbnb/Showkase/pull/284)
    • We hit an issue with Jacoco that pointed out how our final generated aggregator class had a heavy init method that caused a Jacoco task to fail at scale (1000+ previews). In addition, the root module can become a build time bottleneck as the codebase scales. In this release, we optimized the code generation by moving some of the code generation to the respective modules that have the previews as opposed to generating everything in the root module. This also allows us to leverage incremental compilation better. One nice side effect of this refactor is that your preview functions are now allowed to be internal instead of forcing you to be public. Please file issues if you notice any weird behavior after this refactor.
  • Let the IDE recognize generated code when using KSP (#​279 )
    • Some folks complained how the generated classes/methods weren't being detected by the IDE. This happens because the source generated by ksp specifically needs to be registered separately. The linked PR does it for the sample app and shows how you'd do that in your own codebase.
  • Fixed bug in getShowkaseMetadataFromPreview where the preview width was being set as the showkase metadata height (#​280)

Note: We discovered a bug in the 1.0.0-beta16 release hence not going to publish the release notes for it. Please use the 1.0.0-beta17 release instead.

v1.0.0-beta16

Compare Source

v1.0.0-beta15

Compare Source

  • Ensure that Multi Preview annotations don't throw a compile time error (https://github.com/airbnb/Showkase/pull/255)
  • Fixed indentation error in generated code (https://github.com/airbnb/Showkase/pull/258)
  • Support stacking of @Preview & @ShowakseComposable annotations. This generates the additional previews even in the ShowkaseBrowser, just like you'd expect. One thing to note is that this only works for ksp. More info about the kapt issue here. (https://github.com/airbnb/Showkase/pull/259)
  • Added the ability to skip previews functions that are private. You can use annotations options and pass the skipPrivatePreviews flag to enable this. Here's how you'd configure it in your build.gradle
// If you are using ksp
ksp {
    arg("skipPrivatePreviews", "true")
}

// If you are using kapt
kapt {
    arguments {
        arg("skipPrivatePreviews", "true")
    }
}
  • If you are using the auto generated screenshot tests from the showkase-screenshot-testing artifact, you would've noticed that there was really limited information available when the test fails. We now share more information so that it's easier to debug the failing test (https://github.com/airbnb/Showkase/pull/276)
  • Added a sample to demonstrate how you can automate screenshot testing of all the previews in your codebase using Showkase + Paparazzi. Using this setup is a strong recommendation (as opposed to even the showkase-screenshot-testing articact and I'm working on a doc that dives deeper on this topic (https://github.com/airbnb/Showkase/pull/252)
  • Fixed issue where having a BackHandler in a preview would break navigation in the ShowkaseBrowser (https://github.com/airbnb/Showkase/pull/267)
  • Miscellaneous documentations related fixes

Want to once again give a huge shout out to all the contributors. I'm very grateful for all the help and appreciate everything you do to improve this library 🙏

v1.0.0-beta14

Compare Source

I am particularly excited about this release because all these improvements were from the community, particularly from Odin, who is the MVP for this release 🥳


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants