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

Provide inline comment for deprecated and removed properties #634

Closed
ashakirin opened this issue Nov 22, 2024 · 1 comment
Closed

Provide inline comment for deprecated and removed properties #634

ashakirin opened this issue Nov 22, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@ashakirin
Copy link
Contributor

Currently, OpenRewrite provides a way to generate recipes for renaming properties when a property key has changed, using:
Run [GeneratePropertiesMigratorConfiguration.java].

However, when a property is removed or deprecated without an alternative, this change is not reflected in the migrated properties.

Automatically removing such properties could lead to unexpected issues because users:

  • May lose important values stored in these properties.
  • Might still reference these properties in custom code unrelated to Spring.

Proposed Solution:
I suggest adding inline comments for removed or deprecated properties (without alternatives) during the migration process. This would make the deprecation or removal clear to users, allowing them to review and decide whether to manually remove these properties as needed.

@ashakirin ashakirin added the enhancement New feature or request label Nov 22, 2024
ashakirin pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 22, 2024
ashakirin pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 22, 2024
ashakirin pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 22, 2024
ashakirin pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 22, 2024
@timtebeek timtebeek moved this to In Progress in OpenRewrite Nov 24, 2024
ashakirin pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 26, 2024
ashakirin pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 26, 2024
timtebeek pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 26, 2024
timtebeek pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 26, 2024
timtebeek pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 26, 2024
timtebeek pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 26, 2024
timtebeek pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 26, 2024
timtebeek pushed a commit to ashakirin/rewrite-spring that referenced this issue Nov 26, 2024
timtebeek added a commit that referenced this issue Nov 26, 2024
* Add relevant context to description of AddSpringDependencyManagementPlugin

* Adopt RemoveMethodInvocations from rewrite-java

* Remove now-defunct rewrite-templating dependency

* refactor: Update Gradle wrapper

Use this link to re-run the recipe: https://app.moderne.io/recipes/org.openrewrite.gradle.UpdateGradleWrapper?organizationId=T3BlblJld3JpdGU%3D#defaults=W3sibmFtZSI6ImFkZElmTWlzc2luZyIsInZhbHVlIjoiRmFsc2UifV0=

Co-authored-by: Moderne <[email protected]>

* Fix method type following openrewrite/rewrite#4688

* Update method type as well when removing arguments

* Fix incorrect path computation for Spring API endpoints (#632)

* Fix incorrect path computation for Spring API endpoints

The current logic did not cover the case where a `RequestMapping` with a path was defined on the Controller class, and no paths were defined in the `*Mapping` at the method level.

* Do not disable the FindApiEndpointsTest

* Simplify FindApiEndpoints and SpringRequestMapping

* Add for now failing unit test

* AnnotationMatcher does not support wildcards

---------

Co-authored-by: Tim te Beek <[email protected]>

* Add commons codec dependency upgrade

* feat: Added recipe to comment deprecated and removed properties without alternative

Refs: #634

* feat: Added licences in recipe and test files

Refs: #634

* feat: Removed NotNull annotations

Refs: #634

* Update src/test/java/org/openrewrite/java/spring/InlineCommentSpringPropertiesTest.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update src/test/java/org/openrewrite/java/spring/InlineCommentSpringPropertiesTest.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update src/main/java/org/openrewrite/java/spring/InlineCommentSpringProperties.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update src/main/java/org/openrewrite/java/spring/InlineCommentSpringProperties.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Update src/test/java/org/openrewrite/java/spring/InlineCommentSpringPropertiesTest.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* feat: Removed doubled import

Refs: #634

* feat: Generated comment recipes for deprecated properties without replacement

Refs: #634

* feat: Updated comment recipes with the reason

Refs: #634

* Update src/test/java/org/openrewrite/java/spring/internal/GeneratePropertiesMigratorConfiguration.java

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Remove unused import in GeneratePropertiesMigratorConfiguration

* Update assertions to ensure yaml comments are modeled as such

* fixing SpringFoxToSpringDoc to use 1.x-appropriate springdoc artifact

helps with #638

* ChangeSpringPropertyKey does not yet fully support glob

* RenameBean Scanning Recipe Refactor (#630)

* Refactored the RenameBean recipe into a scanning recipe to allow renaming usages that occur outside the file where the bean is defined.

* Add missing language hints

* Remove unused `fromDeclaration` methods

---------

Co-authored-by: Hudson, Ryan <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>

* Add MigrateSpringdocCommon recipe (#633)

* Add MigrateSpringdocCommon recipe

* Apply suggestions from bot

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix syntax messed up by bot

* Add MigrateSpringdocCommon recipe

* Apply suggestions from bot

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix syntax messed up by bot

* Fix build fail on SpringBoot_1_5

* Fix rebase error

* Move to Spring Boot 2.6 tests, to match inclusion in `spring-boot-26.yml`

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Tim te Beek <[email protected]>

* Add ChangeMethodParameter for modify parameters in Spring Batch method declaration (#631)

* Add ChangeMethodParameter for modify parameters in method declaration

Signed-off-by: Kun Chang <[email protected]>

* Minor polish

* Add correct year

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Add UpgradeSkipPolicyParameterType for Spring Batch

Signed-off-by: Kun Chang <[email protected]>

* Apply suggestions from code review

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Fix tests

* Also show ability to change interface methods

---------

Signed-off-by: Kun Chang <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>

* Reuse recipe that comments out Yaml properties

* Move try into getDeprecations

* Limit comment wrangling to `CommentOutSpringPropertyKey`

* Rename test to match renamed class

* Generate removed property migrations

* Regenerated properties for older Spring Boot version

* Fix invalid property values

---------

Signed-off-by: Kun Chang <[email protected]>
Co-authored-by: Sam Snyder <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>
Co-authored-by: Shannon Pamperl <[email protected]>
Co-authored-by: Moderne <[email protected]>
Co-authored-by: Adrien Loison <[email protected]>
Co-authored-by: Andrei Shakirin <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Nick McKinney <[email protected]>
Co-authored-by: Ryan Hudson <[email protected]>
Co-authored-by: Hudson, Ryan <[email protected]>
Co-authored-by: SiBorea <[email protected]>
Co-authored-by: Curtis <[email protected]>
Co-authored-by: Tim te Beek <[email protected]>
@timtebeek
Copy link
Contributor

Thanks again @ashakirin !

@github-project-automation github-project-automation bot moved this from In Progress to Done in OpenRewrite Dec 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done
Development

No branches or pull requests

2 participants