Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate Roborazzi images via its IntelliJ Plugin #429

Merged

Conversation

eyedol
Copy link
Contributor

@eyedol eyedol commented Jul 11, 2024

Fixes #424

  • Add a dropdown menu to a toolbar for selecting task to run

Initial implementation to solicit early feedback...

@takahirom
Copy link
Owner

Looks good! Thank you for asking for feedback first. I have some suggestions.

Regarding the UI:
I think it would be beneficial to have a reload button or a clear way to run tasks, rather than running them through selection.

Regarding the code:
Currently, the tasks are not updated after creation. I suggest fetching tasks in onSelectedFileChanged and onCaretPositionChanged in the ViewModel, saving them in StateFlow, and collecting them in RoborazziPreviewPanel to apply the task list from the currently selected file.

@eyedol
Copy link
Contributor Author

eyedol commented Jul 11, 2024

Regarding the UI: I think it would be beneficial to have a reload button or a clear way to run tasks, rather than running them through selection.

Oh you want to discard the drop-down approach? I'm not sure how the reload button would work. Like you want me to put a reload in-place of the drop-down menu then when pressed, it shows the drop-down menu to select a roborazzi task to run? What will the reload button do? Is that to refresh the images found and also to refresh the task drop-down list?

Regarding the code: Currently, the tasks are not updated after creation. I suggest fetching tasks in onSelectedFileChanged and onCaretPositionChanged in the ViewModel, saving them in StateFlow, and collecting them in RoborazziPreviewPanel to apply the task list from the currently selected file.

Yes. I was going to move it to the viewmodel. I wasn't sure where exactly to be calling it to refresh. Thanks for suggesting where to call it.

@takahirom
Copy link
Owner

Sorry the comment was confusing.

I mean I wanted to add a refresh button along with selection menu. Like this:

[recrodRoborazziDebug] 🔄

You can select Gradle task with selection menu and you can run Gradle task by refresh button.

@eyedol
Copy link
Contributor Author

eyedol commented Jul 12, 2024

Oh I see and no worries. So you still want the drop-down menu but with icon support. Upon clicking on the icon, you execute the selected task. Right?

If you don't mind sharing why you only want to run the task when hitting the refresh button from the selected task and not when selecting it, that would be great because I think with this approach we are introducing another level of expectation on the user to cause a selected task to run.

Thanks for clarifying my earlier response.

@takahirom
Copy link
Owner

You can run the Gradle tasks when you select them, but I was thinking of following Android Studio's default configuration menu and run buttons behavior, which don't run tasks immediately upon selection. This approach might be more familiar to users.

@takahirom
Copy link
Owner

However, I feel there's still a technical issue with obtaining the task that should be selected by default, and in that case, users would need to choose a task every time they start Android Studio. Therefore, executing upon selection might make sense.

@eyedol
Copy link
Contributor Author

eyedol commented Jul 12, 2024

I see what you mean. The AS example made it so clear to me. Thank you. I guess we could persist the selected task with PropertiesComponent then restore the selection upon creating the task drop-down menu.

@eyedol
Copy link
Contributor Author

eyedol commented Jul 13, 2024

Now we have this. Like you suggested right?

Screenshot 2024-07-12 at 8 38 42 PM

@eyedol eyedol force-pushed the generateByGradleTaskUsingRoboraziIntelliJPlugin branch from 3a23227 to d272d8e Compare July 13, 2024 04:38
Copy link
Owner

@takahirom takahirom left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have a few minor points, but overall it looks great and very useful!

@eyedol eyedol force-pushed the generateByGradleTaskUsingRoboraziIntelliJPlugin branch from d272d8e to 3629669 Compare July 14, 2024 03:43
@eyedol eyedol marked this pull request as ready for review July 14, 2024 05:15
@eyedol
Copy link
Contributor Author

eyedol commented Jul 14, 2024

Let me know if you need any documentation add or update. I believe the screenshot page on the IntelliJ plugin page needs updating.

@eyedol eyedol requested a review from takahirom July 14, 2024 05:17
@takahirom
Copy link
Owner

Looks great! Thanks for your awesome contribution! I've made a few minor adjustments. Could you please take a look at the new PR?

@takahirom takahirom merged commit 4330616 into takahirom:main Jul 14, 2024
6 checks passed
chrisbanes referenced this pull request in chrisbanes/haze Jul 14, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[io.github.takahirom.roborazzi](https://togithub.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi-junit-rule](https://togithub.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi:roborazzi-junit-rule/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi:roborazzi-junit-rule/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi:roborazzi-junit-rule/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi:roborazzi-junit-rule/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi-compose-desktop](https://togithub.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi:roborazzi-compose-desktop/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi:roborazzi-compose-desktop/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi:roborazzi-compose-desktop/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi:roborazzi-compose-desktop/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi-compose](https://togithub.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi:roborazzi-compose/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi:roborazzi-compose/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi:roborazzi-compose/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi:roborazzi-compose/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[io.github.takahirom.roborazzi:roborazzi](https://togithub.com/takahirom/roborazzi)
| `1.21.0` -> `1.22.1` |
[![age](https://developer.mend.io/api/mc/badges/age/maven/io.github.takahirom.roborazzi:roborazzi/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/maven/io.github.takahirom.roborazzi:roborazzi/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/maven/io.github.takahirom.roborazzi:roborazzi/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/io.github.takahirom.roborazzi:roborazzi/1.21.0/1.22.1?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary>

###
[`v1.22.1`](https://togithub.com/takahirom/roborazzi/releases/tag/1.22.1)

[Compare
Source](https://togithub.com/takahirom/roborazzi/compare/1.22.0...1.22.1)

### Bug fixes

We've released Experimental Compose Preview Support in
[1.22.0](https://togithub.com/takahirom/roborazzi/releases/tag/1.22.0).
In this release, we are going to include a bug fix for it.
The strategy of `generateComposePreviewRobolectricTests{}` is not to
modify settings automatically, but to verify that the user settings are
correct. This allows our settings to be the single source of truth.
However, the assertion had some bugs, so I fixed them.

#### What's Changed

- \[Roborazzi Idea Plugin] Generate Roborazzi images via its IntelliJ
Plugin by [@&#8203;eyedol](https://togithub.com/eyedol) in
[https://github.com/takahirom/roborazzi/pull/429](https://togithub.com/takahirom/roborazzi/pull/429)
(We will address this topic in a future release)
- \[Bug fixes] Fix assertions in Automated Test Generation for
Experimental Compose Preview Support by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/432](https://togithub.com/takahirom/roborazzi/pull/432)

**Full Changelog**:
takahirom/roborazzi@1.22.0...1.22.1

###
[`v1.22.0`](https://togithub.com/takahirom/roborazzi/releases/tag/1.22.0)

[Compare
Source](https://togithub.com/takahirom/roborazzi/compare/1.21.0...1.22.0)

### Experimental Compose Preview Support 🚀

We're excited to announce the experimental release of [Compose Preview
Support for
Roborazzi](https://takahirom.github.io/roborazzi/preview-support.html),
a powerful new feature that streamlines the process of generating
screenshot tests for Jetpack Compose Previews.

#### Key Features

- **Automated Test Generation**: Automatically generate screenshot tests
for Composable Previews using the
[ComposablePreviewScanner](https://togithub.com/sergio-sastre/ComposablePreviewScanner)
library
- **Manual Integration Support**: For those who prefer more control,
we've added helper functions to manually integrate Compose Preview
screenshot tests.

#### How to Use

To enable Compose Preview screenshot test generation, add the following
to your `build.gradle.kts`:

```kotlin
roborazzi {
  generateComposePreviewRobolectricTests {
    enable = true
  }
}
```

After configuration, run the `recordRoborazziDebug` task to generate
screenshots using the newly created tests.

#### Customization Options

Customize your setup with options like:

-   Specifying package names to scan
-   Defining a custom test class
-   Configuring Robolectric settings

#### Manual Integration

For manual integration, add the following dependency:

```kotlin
testImplementation("io.github.takahirom.roborazzi:roborazzi-compose-preview-scanner-support:[version]")
```

Then use the `ComposablePreview<AndroidPreviewInfo>.captureRoboImage()`
function in your tests. Note that `ComposablePreview` is a class
provided by the
[ComposablePreviewScanner](https://togithub.com/sergio-sastre/ComposablePreviewScanner)
library, which Roborazzi utilizes for this feature.
This approach allows for more fine-grained control over the screenshot
capture process for Compose Previews.

#### Acknowledgements

Special thanks to [@&#8203;yschimke](https://togithub.com/yschimke) for
the initial proposal, and to
[@&#8203;sergio-sastre](https://togithub.com/sergio-sastre) and
[@&#8203;yschimke](https://togithub.com/yschimke) for their valuable
design and code reviews.

For more detailed information on setup and usage, please visit our
[documentation](https://takahirom.github.io/roborazzi/preview-support.html).

### Enhanced Accessibility Text Capture

Thanks to [@&#8203;lukas-mercari](https://togithub.com/lukas-mercari) 's
contribution, we've improved accessibility text dumping for merged
Compose elements. Both content descriptions and text are now captured,
providing more comprehensive accessibility information in tests.


![image](https://togithub.com/user-attachments/assets/9b01a6b7-616b-46f8-bed8-cb2424eb9d17)

#### What's Changed

- \[roborazzi-idea-plugin] Fix: Icons are not shown in the new UI by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/421](https://togithub.com/takahirom/roborazzi/pull/421)
- \[CI]Wait for main to succeed for compare ci by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/422](https://togithub.com/takahirom/roborazzi/pull/422)
- \[CI] Remove main push trigger from compare ci by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/423](https://togithub.com/takahirom/roborazzi/pull/423)
- \[CI] Add unit test for WebAssets class by
[@&#8203;eyedol](https://togithub.com/eyedol) in
[https://github.com/takahirom/roborazzi/pull/412](https://togithub.com/takahirom/roborazzi/pull/412)
- \[Sample]Update dependency androidx.compose.foundation:foundation to
v1.6.8 by [@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/takahirom/roborazzi/pull/340](https://togithub.com/takahirom/roborazzi/pull/340)
- \[Bug fixes] Dump both content description as well as text for the
case when two elements are merged by
[@&#8203;lukas-mercari](https://togithub.com/lukas-mercari) in
[https://github.com/takahirom/roborazzi/pull/430](https://togithub.com/takahirom/roborazzi/pull/430)
- \[Improvement] Add roborazzi-compose-preview-scanner-support module to
handle preview settings by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/427](https://togithub.com/takahirom/roborazzi/pull/427)
- \[Feature] Implement generateRobolectricPreviewTests prototype by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/416](https://togithub.com/takahirom/roborazzi/pull/416)

**Full Changelog**:
takahirom/roborazzi@1.21.0...1.22.0

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/chrisbanes/haze).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MjUuMSIsInVwZGF0ZWRJblZlciI6IjM3LjQzMS40IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
github-merge-queue bot referenced this pull request in slackhq/circuit Jul 17, 2024
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[io.github.takahirom.roborazzi](https://togithub.com/takahirom/roborazzi)
| plugin | minor | `1.21.0` -> `1.22.2` |
|
[io.github.takahirom.roborazzi:roborazzi-junit-rule](https://togithub.com/takahirom/roborazzi)
| dependencies | minor | `1.21.0` -> `1.22.2` |
|
[io.github.takahirom.roborazzi:roborazzi-compose](https://togithub.com/takahirom/roborazzi)
| dependencies | minor | `1.21.0` -> `1.22.2` |
|
[io.github.takahirom.roborazzi:roborazzi](https://togithub.com/takahirom/roborazzi)
| dependencies | minor | `1.21.0` -> `1.22.2` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>takahirom/roborazzi (io.github.takahirom.roborazzi)</summary>

###
[`v1.22.2`](https://togithub.com/takahirom/roborazzi/releases/tag/1.22.2)

[Compare
Source](https://togithub.com/takahirom/roborazzi/compare/1.22.1...1.22.2)

##### Notice

[RobolectricPreviewTest and
roborazzi.generateComposePreviewRobolectricTests.customTestQualifiedClassName](https://takahirom.github.io/roborazzi/preview-support.html#customizing-the-preview-screenshot-test)
are used for customizing [Experimental Compose Preview
Support](https://takahirom.github.io/roborazzi/preview-support.html).
However, the name and class signature of RobolectricPreviewTest will be
changed in a future release(not in 1.22.2) to support the Compose
Multiplatform Preview Annotation.

##### Bug fixes

We didn't have integration tests for [Experimental Compose Preview
Support](https://takahirom.github.io/roborazzi/preview-support.html), so
we added them. In KMP projects, we used to check only
`testImplementation` (androidUnitTest.dependencies.implementation is
used for KMP Android Unit tests), and the verification for
generateComposePreviewRobolectricTests{} was failing. Therefore, we have
added integration tests and fixed the behavior for KMP projects.

##### What's Changed

- Refactor Roborazzi integration tests to support multiple modules by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/434](https://togithub.com/takahirom/roborazzi/pull/434)
- Fix warning of RoborazziPreviewParameterizedTests by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/436](https://togithub.com/takahirom/roborazzi/pull/436)
- Fix GenerateRobolectricComposePreviewTests to support KMP by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/435](https://togithub.com/takahirom/roborazzi/pull/435)

**Full Changelog**:
takahirom/roborazzi@1.22.1...1.22.2

###
[`v1.22.1`](https://togithub.com/takahirom/roborazzi/releases/tag/1.22.1)

[Compare
Source](https://togithub.com/takahirom/roborazzi/compare/1.22.0...1.22.1)

##### Bug fixes

We've released Experimental Compose Preview Support in
[1.22.0](https://togithub.com/takahirom/roborazzi/releases/tag/1.22.0).
In this release, we are going to include a bug fix for it.
The strategy of `generateComposePreviewRobolectricTests{}` is not to
modify settings automatically, but to verify that the user settings are
correct. This allows our settings to be the single source of truth.
However, the assertion had some bugs, so I fixed them.

##### What's Changed

- \[Roborazzi Idea Plugin] Generate Roborazzi images via its IntelliJ
Plugin by [@&#8203;eyedol](https://togithub.com/eyedol) in
[https://github.com/takahirom/roborazzi/pull/429](https://togithub.com/takahirom/roborazzi/pull/429)
(We will address this topic in a future release)
- \[Bug fixes] Fix assertions in Automated Test Generation for
Experimental Compose Preview Support by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/432](https://togithub.com/takahirom/roborazzi/pull/432)

**Full Changelog**:
takahirom/roborazzi@1.22.0...1.22.1

###
[`v1.22.0`](https://togithub.com/takahirom/roborazzi/releases/tag/1.22.0)

[Compare
Source](https://togithub.com/takahirom/roborazzi/compare/1.21.0...1.22.0)

##### Experimental Compose Preview Support 🚀

We're excited to announce the experimental release of [Compose Preview
Support for
Roborazzi](https://takahirom.github.io/roborazzi/preview-support.html),
a powerful new feature that streamlines the process of generating
screenshot tests for Jetpack Compose Previews.

##### Key Features

- **Automated Test Generation**: Automatically generate screenshot tests
for Composable Previews using the
[ComposablePreviewScanner](https://togithub.com/sergio-sastre/ComposablePreviewScanner)
library
- **Manual Integration Support**: For those who prefer more control,
we've added helper functions to manually integrate Compose Preview
screenshot tests.

##### How to Use

To enable Compose Preview screenshot test generation, add the following
to your `build.gradle.kts`:

```kotlin
roborazzi {
  generateComposePreviewRobolectricTests {
    enable = true
  }
}
```

After configuration, run the `recordRoborazziDebug` task to generate
screenshots using the newly created tests.

##### Customization Options

Customize your setup with options like:

-   Specifying package names to scan
-   Defining a custom test class
-   Configuring Robolectric settings

##### Manual Integration

For manual integration, add the following dependency:

```kotlin
testImplementation("io.github.takahirom.roborazzi:roborazzi-compose-preview-scanner-support:[version]")
```

Then use the `ComposablePreview<AndroidPreviewInfo>.captureRoboImage()`
function in your tests. Note that `ComposablePreview` is a class
provided by the
[ComposablePreviewScanner](https://togithub.com/sergio-sastre/ComposablePreviewScanner)
library, which Roborazzi utilizes for this feature.
This approach allows for more fine-grained control over the screenshot
capture process for Compose Previews.

##### Acknowledgements

Special thanks to [@&#8203;yschimke](https://togithub.com/yschimke) for
the initial proposal, and to
[@&#8203;sergio-sastre](https://togithub.com/sergio-sastre) and
[@&#8203;yschimke](https://togithub.com/yschimke) for their valuable
design and code reviews.

For more detailed information on setup and usage, please visit our
[documentation](https://takahirom.github.io/roborazzi/preview-support.html).

##### Enhanced Accessibility Text Capture

Thanks to [@&#8203;lukas-mercari](https://togithub.com/lukas-mercari) 's
contribution, we've improved accessibility text dumping for merged
Compose elements. Both content descriptions and text are now captured,
providing more comprehensive accessibility information in tests.


![image](https://togithub.com/user-attachments/assets/9b01a6b7-616b-46f8-bed8-cb2424eb9d17)

##### What's Changed

- \[roborazzi-idea-plugin] Fix: Icons are not shown in the new UI by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/421](https://togithub.com/takahirom/roborazzi/pull/421)
- \[CI]Wait for main to succeed for compare ci by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/422](https://togithub.com/takahirom/roborazzi/pull/422)
- \[CI] Remove main push trigger from compare ci by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/423](https://togithub.com/takahirom/roborazzi/pull/423)
- \[CI] Add unit test for WebAssets class by
[@&#8203;eyedol](https://togithub.com/eyedol) in
[https://github.com/takahirom/roborazzi/pull/412](https://togithub.com/takahirom/roborazzi/pull/412)
- \[Sample]Update dependency androidx.compose.foundation:foundation to
v1.6.8 by [@&#8203;renovate](https://togithub.com/renovate) in
[https://github.com/takahirom/roborazzi/pull/340](https://togithub.com/takahirom/roborazzi/pull/340)
- \[Bug fixes] Dump both content description as well as text for the
case when two elements are merged by
[@&#8203;lukas-mercari](https://togithub.com/lukas-mercari) in
[https://github.com/takahirom/roborazzi/pull/430](https://togithub.com/takahirom/roborazzi/pull/430)
- \[Improvement] Add roborazzi-compose-preview-scanner-support module to
handle preview settings by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/427](https://togithub.com/takahirom/roborazzi/pull/427)
- \[Feature] Implement generateRobolectricPreviewTests prototype by
[@&#8203;takahirom](https://togithub.com/takahirom) in
[https://github.com/takahirom/roborazzi/pull/416](https://togithub.com/takahirom/roborazzi/pull/416)

**Full Changelog**:
takahirom/roborazzi@1.21.0...1.22.0

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Renovate
Bot](https://togithub.com/renovatebot/renovate).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40MzEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjQzMi4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
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.

Generate Images by Invoking Gradle Tasks Using the Roborazzi IntelliJ Plugin
2 participants