-
Notifications
You must be signed in to change notification settings - Fork 458
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
Handle specifically empty filePath, and not default FS rootDir #1525
Conversation
I don't like the approach in this PR. I think a better way to solve this problem is to make an actual real file "UnusedFileRequiredForTesting.blah" and pass that file around. That's what we do in If you are building something where you are running
I would be open to that. It would have almost no effect on plugin end-users. The problem is that some formatters really do expect a I have two breaking changes to
If you want to do a |
I get the point, but I try not to write any File in given project.
I also get this. However, the javadoc suggested
I would be very happy to materialize real File if I needed to rely on such plugins.
it's okay in my perspective.
Serious enough by dropping my own engine to switch to Spotless :). As my engine essentially consume content by API (and, for instance, try as much as possible not to clone git repository locally), this is a main concern in my perspective. (Also, one major difference with usual spotless useCases is CleanThat would (as primary useCase) not be executed on a personal computer, but in some shared-remote-jvm (e.g. AWS Lambda)).
My main need is Java formatting. My initial motivation is actually for me to introduce a new plugin into Spotless (some Java refactorer tool). I used to wrap it into a multi-language linter tool (similar to Spotless). I'm currently dropping my linter engine, to rely on Spotless engine (hence planning to push the Java refactorer plugin into Spotless). -> Eclipse (and most if not all Java spotless formatters) do not need a File. Related formatters (i.e. formatters I used to handle in my legacy linter engine (i.e. json, yaml) do not need File either. I'm very happy with current Formatters non-File coverage. The |
(if I may, I would also suggest relying on |
My memory is that we did have special support for it for the sake of testing, and renounced that with
I agree with that, iff we have support for some kind of special file. But if it all possible, I would really prefer not to have any magic file mechanism at all. I'm gonna cut a release tomorrow, and then I'll work on #1096. That will open the door for a |
In the meantime, if some kind of magic sentinel file can get you unstuck, I'm okay with merging something well documented along those lines. |
In fact, the code for which I pushed a PR fails due to "" being a relative path. If I pushed new File("/toto"), the 'relativize' may have lead to weird results (in fact, in my case, it would fail as my rootDir is from an inmemoryfilesystem ; for a standard rootDir, .relativize might lead to '..' in the path). By sentinel, if you refer to a hardcoded File reference, it could be good for me (as I do not foresee the need of an actual File in the shortterm (i.e. I do not rely on Formatters consuming a File for now)). I have a small reserve as my integration is still WIP, and I may encounter more difficulties (e.g. this issue spots due to an Exception bubbling from the Formatter). |
I mean something like public class Formatter {
public static final File NO_FILE_ON_DISK = new File("NO_FILE_ON_DISK.sentinel")
public void formatOrWhatever(String contentUnix, File file) {
if (file == NO_FILE_ON_DISK) { // `==` not .equals
// special handling I don't love this approach, and I would like to remove it once we have converted from |
I'm currently playing with hacked classes (same name, different jar). It would be helpful to have a cleaner approach before my own release. I would need both changes (1. to manage an empty/sentinel File, 2. to accept a not-default FileSystem Path). The changes suggested in this PR unblocks with me (i.e. it fixes my issue, it is not just a fix out-of-the-blue). I'm happy to introduce a sentinel File if it can push this PR towards mergeability (as it would also unblock me). |
A sentinel The I would like to remove the sentinel after the |
Thanks. This handles one of the 2 items. The other item is managing a custom FileSystem as rootDir. The only difficulty I spotted for now is also in case of exception. Let me talk through the code:
|
Looks good. |
I introduced a Sentinel, and while scanning for I also fixed the test with custom FileSystem which was broken (code is OK, but the test was not covering the proper lines...) |
Missing push? |
@blacelle @nedtwigg The |
Published in |
Thanks a lot @nedtwigg . For the record, I'm left with one class very similar to a Spotless one (but it is not hacked), related to However, the related changes are much deeper than just |
This MR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [flow-bin](https://github.com/flowtype/flow-bin) ([changelog](https://github.com/facebook/flow/blob/master/Changelog.md)) | devDependencies | minor | [`^0.200.0` -> `^0.201.0`](https://renovatebot.com/diffs/npm/flow-bin/0.200.0/0.201.0) | | [org.liquibase:liquibase-maven-plugin](http://www.liquibase.org/liquibase-maven-plugin) ([source](https://github.com/liquibase/liquibase)) | build | patch | `4.19.0` -> `4.19.1` | | [com.diffplug.spotless:spotless-maven-plugin](https://github.com/diffplug/spotless) | build | minor | `2.33.0` -> `2.34.0` | | [io.quarkus:quarkus-maven-plugin](https://github.com/quarkusio/quarkus) | build | patch | `2.16.3.Final` -> `2.16.4.Final` | | [io.quarkus:quarkus-universe-bom](https://github.com/quarkusio/quarkus-platform) | import | patch | `2.16.3.Final` -> `2.16.4.Final` | | [org.apache.maven.plugins:maven-compiler-plugin](https://maven.apache.org/plugins/) | build | minor | `3.10.1` -> `3.11.0` | --- ### Release Notes <details> <summary>flowtype/flow-bin</summary> ### [`v0.201.0`](flow/flow-bin@d54e283...86aea9c) [Compare Source](flow/flow-bin@d54e283...86aea9c) ### [`v0.200.1`](flow/flow-bin@b6c1eb0...d54e283) [Compare Source](flow/flow-bin@b6c1eb0...d54e283) </details> <details> <summary>liquibase/liquibase</summary> ### [`v4.19.1`](https://github.com/liquibase/liquibase/releases/tag/v4.19.1) [Compare Source](liquibase/liquibase@v4.19.0...v4.19.1) ##### Liquibase v4.19.1 is a patch release #### Enhancements - Publish liquibase-extension-testing to github packages (DAT-12833) by [@​abrackx](https://github.com/abrackx) in liquibase/liquibase#3697 - Add support for multiple schemas to dbDoc command by [@​zpanderson](https://github.com/zpanderson) in liquibase/liquibase#1834 - No need redundant conditions. by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3553 - Replace expressions with type arguments with diamond type <>. by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3591 - Remove duplicate conditions in expressions and branches of if statements. They are used due to oversight. by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3548 - Replace constant charset String literal with the predefined StandardC… by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3568 - Normalize path of SQL changelog file when parsing (DAT-11891) by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3664 - Delegate change set equality tests by [@​droy-sandbox](https://github.com/droy-sandbox) in liquibase/liquibase#3550 - (DAT-6636)Refactor of TagExistsCommandStep and extraction of code to new LockServiceCommandStep by [@​filipelautert](https://github.com/filipelautert) in liquibase/liquibase#3667 - Refactors CalculateChecksumCommandStep by [@​filipelautert](https://github.com/filipelautert) in liquibase/liquibase#3696 - CORE-3044 avoid locking if no updates pending by [@​RichardBradley](https://github.com/RichardBradley) in liquibase/liquibase#2190 - Warning in case of missing liquibase files instead of throwing an exception by [@​mhewedy](https://github.com/mhewedy) in liquibase/liquibase#3081 - Remove redundant modifiers. by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3594 - Update maven-bundle-plugin instructions to export package containing XSD files by [@​GeertZondervan](https://github.com/GeertZondervan) in liquibase/liquibase#3597 - Remove redundant conditions that covered by a subsequent condition. by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3590 - Add support for db2 view comments (DAT-12529) by [@​abrackx](https://github.com/abrackx) in liquibase/liquibase#3723 - Remove unnecessary cast expressions. by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3670 - Performance improvements by [@​filipelautert](https://github.com/filipelautert) in liquibase/liquibase#3588 - Implemented a summary of change sets which get filtered out during update (DAT-12068) by [@​wwillard7800](https://github.com/wwillard7800) in liquibase/liquibase#3730 - Support tabular format for history command by [@​fbiville](https://github.com/fbiville) in liquibase/liquibase#3541 - Remove Unnecessary operation/modifier: by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3657 - Update and rename bug_report.md to bug_report.yaml by [@​kevin-atx](https://github.com/kevin-atx) in liquibase/liquibase#3728 - Improve command line help message format by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3829 - Use StandardCharsets constant instead. (DAT-12853) by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3725 - Update SnakeYAML usage - do not call deprecated methods by [@​asomov](https://github.com/asomov) in liquibase/liquibase#3632 - Avoid global mutable state of Non-final fields in enumeration types. by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3727 - Use constants instead of arrays with known lengths of zero by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3716 - Simplify lambda expressions when possible by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3736 - \[MRO] Added new modifyChangeSets tag to support specification of `runWith` attribute for all change sets in `include` or `includeAll` - \[MRO] DAT-7922 Implement a check for one change per changeset by [@​wwillard7800](https://github.com/wwillard7800) in https://github.com/liquibase/liquibase-pro/pull/790 - \[MRO] DAT-11915 Correctly escape SQL to enable and disable triggers on PostgreSQL by [@​wwillard7800](https://github.com/wwillard7800) in https://github.com/liquibase/liquibase-pro/pull/799 - \[MRO] DAT-10157: add database scope for reserved words checks by [@​StevenMassaro](https://github.com/StevenMassaro) in https://github.com/liquibase/liquibase-pro/pull/802 - \[MRO] DAT-13189 safely set code point limit for SnakeYaml by [@​StevenMassaro](https://github.com/StevenMassaro) in https://github.com/liquibase/liquibase-pro/pull/827 - \[MRO] DAT-13440: show changesetsRolledback only after rollback is complete by [@​StevenMassaro](https://github.com/StevenMassaro) in https://github.com/liquibase/liquibase-pro/pull/838 - \[MRO] DAT-12568 by [@​jnewton03](https://github.com/jnewton03) in https://github.com/liquibase/liquibase-pro/pull/844 #### Fixes - Fixes generate-changelog table/view comment and table/view column comment generation for MSSQL (DAT-12045) by [@​abrackx](https://github.com/abrackx) in liquibase/liquibase#3563 - Fully qualified path to the changelog or snapshot in S3 is not allowed, so needs better msg (DAT-11478) by [@​diadiushko](https://github.com/diadiushko) in liquibase/liquibase#3564 - (DAT-12039) :detect circular references in includeAll statement by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3695 - improve logging around paths that do not exist (DAT-12038) by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3669 - normalize path of json and yaml changelogs when parsing (DAT-11891) by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3711 - deprecate DefaultLoggerConfiguration (DAT-11970) by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3706 - Rework dropProcedure for Snowflake Log message when dropAll fails (DAT-12916) by [@​wwillard7800](https://github.com/wwillard7800) in liquibase/liquibase#3702 - fix: snowflake has wrong priority by [@​Yogurt-lei](https://github.com/Yogurt-lei) in liquibase/liquibase#3572 - Do not add default schema name to getSchemas method to avoid one schema by [@​LonwoLonwo](https://github.com/LonwoLonwo) in liquibase/liquibase#3704 - [#​3035](liquibase/liquibase#3035) add Double data type class to avoid incorrect double(0) database by [@​LonwoLonwo](https://github.com/LonwoLonwo) in liquibase/liquibase#3703 - Stop publishing liquibase-extension-testing to Github on branch builds (DAT-13038) by [@​abrackx](https://github.com/abrackx) in liquibase/liquibase#3726 - do not support setting column comments on a view in Snowflake (DAT-12530) by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3710 - Fix NullPointerException for case sensitive collations by [@​ivan909020](https://github.com/ivan909020) in liquibase/liquibase#3699 - (DAT-13269) pass proper branch name and add required field by [@​jnewton03](https://github.com/jnewton03) in liquibase/liquibase#3765 - Consistent ARG-suffix for 'defaultSchemaName'-Parameter by [@​SIEDA-EliasHeydrich](https://github.com/SIEDA-EliasHeydrich) in liquibase/liquibase#3662 - Removing explicit LiquibaseServletListener references by [@​Thunderforge](https://github.com/Thunderforge) in liquibase/liquibase#3677 - Add Snowflake structured data types to unmodifiable Data Types by [@​LonwoLonwo](https://github.com/LonwoLonwo) in liquibase/liquibase#3752 - Fix [#​3690](liquibase/liquibase#3690) primaryKeyExists does not work on DB2z by [@​MichaelKern-IVV](https://github.com/MichaelKern-IVV) in liquibase/liquibase#3691 - Replace old stream creation with java.nio. by [@​arturobernalg](https://github.com/arturobernalg) in liquibase/liquibase#3686 - github-action (DAT-13527) by [@​jnewton03](https://github.com/jnewton03) in liquibase/liquibase#3827 - Do not duplicate clearCheckSums logic by [@​fbiville](https://github.com/fbiville) in liquibase/liquibase#3628 - Fixing [#​3708](liquibase/liquibase#3708) - AddColumn fix for H2 version 1.4.200 by [@​KarolyNevelos](https://github.com/KarolyNevelos) in liquibase/liquibase#3709 - Added default values to private Scope constructor by [@​MarkTJohnson](https://github.com/MarkTJohnson) in liquibase/liquibase#3756 - Improved concurrency support by using ConcurrentHashMaps by [@​jurgenkleverwal](https://github.com/jurgenkleverwal) in liquibase/liquibase#3799 - fixing lookahead for last line comment method by [@​mwiede](https://github.com/mwiede) in liquibase/liquibase#3717 - Do not calculate checksum when loading changelogs by [@​filipelautert](https://github.com/filipelautert) in liquibase/liquibase#3790 - set up maven using simpler GitHub action by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3835 - safely set code point limit for SnakeYaml (DAT-13189) by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3807 - Fix failing EnvironmentValueProviderTest by [@​nvoxland](https://github.com/nvoxland) in liquibase/liquibase#3783 - show changesetsRolledback only after rollback is complete (DAT-13440) by [@​StevenMassaro](https://github.com/StevenMassaro) in liquibase/liquibase#3846 #### Security, Driver and other updates **OWASP Dependency Check: Reported Vulnerabilities** `snakeyaml.jar` - This is a "critical" vulnerability reported against the snakeyaml library. Note: Liquibase code is not vulnerable to this attack, but users can manually upgrade to the newest version of snakeyaml library, and will be upgraded to the unaffected snakeyaml 2.0 version in the next release. If you are interested, you can track the MR at liquibase/liquibase#3865 - Bump junit-jupiter-params from 5.9.1 to 5.9.2 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3673 - Bump ant from 1.10.11 to 1.10.13 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3672 - Bump firebird-testcontainers-java from 1.2.0 to 1.3.0 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3653 - Bump actions/delete-package-versions from 3 to 4 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3649 - Bump maven-plugin-plugin from 3.7.0 to 3.7.1 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3698 - Bump assertj-core from 3.23.1 to 3.24.2 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3705 - Bump jaybird from 4.0.8.java8 to 5.0.0.java8 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3659 - Bump mariadb-java-client from 3.1.0 to 3.1.2 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3729 - Bump snowflake-jdbc from 3.13.26 to 3.13.27 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3751 - Bump picocli from 4.7.0 to 4.7.1 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3742 - Bump actions/cache from 3.2.3 to 3.2.4 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3750 - Bump actions/cache from 3.2.4 to 3.2.5 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3809 - Bump maven-deploy-plugin from 3.0.0 to 3.1.0 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3802 - Bump maven-shade-merge-manifest-transformer from 0.0.2 to 0.0.3 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3779 - Bump postgresql from 42.5.1 to 42.5.3 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3778 - Bump jaxb-runtime from 4.0.1 to 4.0.2 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3786 - Bump jaxb-core from 4.0.1 to 4.0.2 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3787 - Bump sqlite-jdbc from 3.40.0.0 to 3.40.1.0 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3772 - Bump maven-enforcer-plugin from 3.1.0 to 3.2.1 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3759 - Bump jaybird from 5.0.0.java8 to 5.0.1.java8 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3760 - Bump mssql-jdbc from 11.2.1.jre8 to 12.2.0.jre8 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3761 - Bump ojdbc8 from 21.8.0.0 to 21.9.0.0 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3808 - Bump postgresql from 42.5.3 to 42.5.4 by [@​dependabot](https://github.com/dependabot) in liquibase/liquibase#3831 - Migrate setup-java action to use Temurin by [@​gdams](https://github.com/gdams) in liquibase/liquibase#3607 #### New Contributors - [@​zpanderson](https://github.com/zpanderson) made their first contribution in liquibase/liquibase#1834 - [@​droy-sandbox](https://github.com/droy-sandbox) made their first contribution in liquibase/liquibase#3550 - [@​mhewedy](https://github.com/mhewedy) made their first contribution in liquibase/liquibase#3081 - [@​GeertZondervan](https://github.com/GeertZondervan) made their first contribution in liquibase/liquibase#3597 - [@​Yogurt-lei](https://github.com/Yogurt-lei) made their first contribution in liquibase/liquibase#3572 - [@​gdams](https://github.com/gdams) made their first contribution in liquibase/liquibase#3607 - [@​ivan909020](https://github.com/ivan909020) made their first contribution in liquibase/liquibase#3699 - [@​SIEDA-EliasHeydrich](https://github.com/SIEDA-EliasHeydrich) made their first contribution in liquibase/liquibase#3662 - [@​Thunderforge](https://github.com/Thunderforge) made their first contribution in liquibase/liquibase#3677 - [@​KarolyNevelos](https://github.com/KarolyNevelos) made their first contribution in liquibase/liquibase#3709 - [@​MarkTJohnson](https://github.com/MarkTJohnson) made their first contribution in liquibase/liquibase#3756 - [@​jurgenkleverwal](https://github.com/jurgenkleverwal) made their first contribution in liquibase/liquibase#3799 - [@​mwiede](https://github.com/mwiede) made their first contribution in liquibase/liquibase#3717 **Full Changelog**: liquibase/liquibase@v4.17.2...v4.19.1 ##### Get Certified Learn all the Liquibase fundamentals from free online courses by Liquibase experts and see how to apply them in the real world at https://learn.liquibase.com/. ##### Read the Documentation Please check out and contribute to the continually improving docs, now at https://docs.liquibase.com/. ##### Meet the Community Our community has built a lot. From extensions to integrations, you’ve helped make Liquibase the amazing open source project that it is today. Keep contributing to making it stronger: [Contribute code](https://www.liquibase.org/development/contribute.html) [Make doc updates](https://github.com/Datical/liquibase-docs) [Help by asking and answering questions](https://forum.liquibase.org/) [Set up a chat with the Product team](https://calendly.com/liquibase-outreach/product-feedback) Thanks to everyone who helps make the Liquibase community strong! #### File Descriptions - **Liquibase CLI** -- Includes open source + commercial functionality - **liquibase-x.y.z.tar.gz** -- Archive in tar.gz format - **liquibase-x.y.z.zip** -- Archive in zip format - **liquibase-windows-x64-installer-x.y.z.exe** -- Installer for Windows - **liquibase-macos-installer-x.y.z.dmg** -- Installer for MacOS - **Primary Libraries** - For embedding in other software - **liquibase-core-x.y.z.jar** – Base Liquibase library (open source) - **liquibase-commerical-x.y.z.jar** – Additional commercial functionality - **liquibase-additional-x.y.z.zip** – Contains additional, less commonly used files - Additional libraries such as liquibase-maven-plugin.jar and liquibase-cdi.jar - Javadocs for all the libraries - Source archives for all the open source libraries - ASC/MD5/SHA1 verification hashes for all files **Full Changelog**: liquibase/liquibase@v4.19.0...v4.19.1 </details> <details> <summary>diffplug/spotless</summary> ### [`v2.34.0`](https://github.com/diffplug/spotless/blob/HEAD/CHANGES.md#​2340---2023-01-26) ##### Added - `Formatter` now has a field `public static final File NO_FILE_SENTINEL` which can be used to pass string content to a Formatter or FormatterStep when there is no actual File to format. ([#​1525](diffplug/spotless#1525)) </details> <details> <summary>quarkusio/quarkus</summary> ### [`v2.16.4.Final`](https://github.com/quarkusio/quarkus/releases/tag/2.16.4.Final) [Compare Source](quarkusio/quarkus@2.16.3.Final...2.16.4.Final) ##### Complete changelog - [#​31510](quarkusio/quarkus#31510) - Add logging to CompiledJavaVersionBuildStep - [#​31507](quarkusio/quarkus#31507) - Adjust API in transaction.adoc code snippet - [#​31498](quarkusio/quarkus#31498) - Added a note to get correct OpenAPI documentation - [#​31486](quarkusio/quarkus#31486) - smallrye-openapi generates wrong definition for grouped parameters - [#​31483](quarkusio/quarkus#31483) - Fix documentation for quarkus.hibernate-orm.enabled - [#​31477](quarkusio/quarkus#31477) - Qute generated value resolvers - fix varArgs methods with 1 argument - [#​31471](quarkusio/quarkus#31471) - \[2.16] Make sure parent modules are loaded into workspace before those that depend on them - [#​31467](quarkusio/quarkus#31467) - Don't run kubernetes-client Dev Services transitively - [#​31465](quarkusio/quarkus#31465) - Propagate Quarkus related failsafe system properties - [#​31462](quarkusio/quarkus#31462) - Do not append single '&' with empty query params in Resteasy Reactive - [#​31449](quarkusio/quarkus#31449) - Qute: VarArgs processing error with 1 element - [#​31447](quarkusio/quarkus#31447) - SmallRye GraphQL 1.9.3, test for Deprecated annotation - [#​31422](quarkusio/quarkus#31422) - Fix client jackson body writer to propagate the client context - [#​31418](quarkusio/quarkus#31418) - Fix doc generation for quarkus.hibernate-orm.enabled - [#​31416](quarkusio/quarkus#31416) - Fix copy paste error in qute docs - [#​31405](quarkusio/quarkus#31405) - Propagate SystemProperties set in Failsafe plugin to the Test launcher - [#​31394](quarkusio/quarkus#31394) - Fix afterEach callback for integration tests - [#​31393](quarkusio/quarkus#31393) - Integration Test AfterEach callbacks are not called - [#​31355](quarkusio/quarkus#31355) - \[Regression] Very slow startup in dev mode when the Kubernetes extension is present - [#​31350](quarkusio/quarkus#31350) - Also set io.netty.noUnsafe at runtime when set at build time - [#​31349](quarkusio/quarkus#31349) - Netty complaining about access to heap buffer in native - [#​31347](quarkusio/quarkus#31347) - Adjust image name substitution for Elasticsearch Dev Services - [#​31339](quarkusio/quarkus#31339) - Improve logging in DevServicesKubernetesProcessor - [#​31336](quarkusio/quarkus#31336) - Pass `--userns=keep-id` to podman only when in rootless mode - [#​31331](quarkusio/quarkus#31331) - Use idiomatic RESTEasy Reactive filter declaration for OpenTelemetry - [#​31316](quarkusio/quarkus#31316) - Improve CSRF documentation - [#​31302](quarkusio/quarkus#31302) - Updated OpenAPI `mp.openapi.extensions.smallrye.openapi` key mapping - [#​31300](quarkusio/quarkus#31300) - Support UUID serialization in REST Client multipart bodies - [#​31298](quarkusio/quarkus#31298) - RESTEasy Reactive doesn't support `java.util.UUID` - [#​31291](quarkusio/quarkus#31291) - Bump `org.jetbrains.annotations` from `17.0.0` to the latest(`24.0.0`) - [#​31289](quarkusio/quarkus#31289) - Return a null InputStream from REST Client when response is 204 - [#​31280](quarkusio/quarkus#31280) - Bump SQL Server JDBC driver to 12.2.0 - [#​31276](quarkusio/quarkus#31276) - Bump protobuf from 3.21.9 to 3.22.0 - [#​31274](quarkusio/quarkus#31274) - Try to solve disk space issues on GitHub Actions - [#​31261](quarkusio/quarkus#31261) - Bump Microsoft SQL Server JDBC driver to 12.2.0 - [#​31260](quarkusio/quarkus#31260) - Make OIDC connection error log messages more visible - [#​31250](quarkusio/quarkus#31250) - Clarify in keycloak-authorization doc when it should be used - [#​31249](quarkusio/quarkus#31249) - Empty array of values in WebTargetImpl.queryParam method is added to the final URI as an `&` - [#​31245](quarkusio/quarkus#31245) - \[Regression in 2.16.3] `NullPointerException: Cannot invoke "org.jboss.resteasy.reactive.server.SimpleResourceInfo.getResourceClass()" because "this.resourceInfo" is null` - [#​31240](quarkusio/quarkus#31240) - protobuf code generated w/ 3.22.0 broken w/ Quarkus - [#​31236](quarkusio/quarkus#31236) - Bump postgresql from 42.5.3 to 42.5.4 - [#​31234](quarkusio/quarkus#31234) - Bump mermaid from 9.1.1 to 9.4.0 - [#​31231](quarkusio/quarkus#31231) - RESTEasy reactive returns an empty InputStream instead of null on 204 - No Content response - [#​31211](quarkusio/quarkus#31211) - Fix the non-default constructor mechanism of bytecode recording \[2.16] - [#​31209](quarkusio/quarkus#31209) - Another fix for the Redis Search aggregation test - [#​31186](quarkusio/quarkus#31186) - Show how to enable all origins in HTTP CORS section - [#​31150](quarkusio/quarkus#31150) - Add keycloak authorization capability - [#​31127](quarkusio/quarkus#31127) - Enhancements to instructions for contributing to the Quarkus docs - [#​31334](quarkusio/quarkus#31334) - podman4 can't build any code with quarkus builder - [#​30601](quarkusio/quarkus#30601) - Generate a preview website for documentation MRs - [#​30549](quarkusio/quarkus#30549) - Enhancements and fixes for the Authorization of Web Endpoints section - [#​30419](quarkusio/quarkus#30419) - Enhancing the Authorization of Web endpoints guide - [#​30333](quarkusio/quarkus#30333) - Can't work with Google Oauth2 using qaurkus-oidc - [#​29427](quarkusio/quarkus#29427) - quarkus.oidc.auth-server-url causing weird start-up failure - [#​26152](quarkusio/quarkus#26152) - Resteasy Reactive: ContextResolver<ObjectMapper> not used </details> <details> <summary>quarkusio/quarkus-platform</summary> ### [`v2.16.4.Final`](quarkusio/quarkus-platform@2.16.3.Final...2.16.4.Final) [Compare Source](quarkusio/quarkus-platform@2.16.3.Final...2.16.4.Final) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever MR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This MR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC4yNC4wIiwidXBkYXRlZEluVmVyIjoiMzQuMjQuMCJ9-->
I propose this change to handle 2 cases :
It is useful in my case as I consider InMemory files (e.g. based on content from Github API). More specifically, I'm relying on https://github.com/marschall/memoryfilesystem to get InMemory Path (and
File("")
wherever Spotless requests aFile
)if this useCase is considered legitimate, I may open more PR replacing here and there
File
byPath
.solven-eu/cleanthat#336