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

Decouple sbm-support-rewrite from Maven #945

Closed
fabapp2 opened this issue Sep 25, 2023 · 1 comment · Fixed by #946
Closed

Decouple sbm-support-rewrite from Maven #945

fabapp2 opened this issue Sep 25, 2023 · 1 comment · Fixed by #946

Comments

@fabapp2
Copy link
Contributor

fabapp2 commented Sep 25, 2023

What needs to be done

The RewriteProjectParser in sbm-support-rewrite starts Maven to provide the input data for OpenRewrite's Maven plugin code. It should be refactored to not require Maven.

Why it needs to be done

  • Starting the Plexus container from within a Spring application fails because the Plexus container does not find all components and can't start up. This only happens in Spring Boot applications indicating a conflict when loading jars from BOOT-INF/libs.
  • When using Maven to parse the poms, the project must always be a valid Maven project and thus every recipe must leave the application in a buildable state. Otherwise the migration will be stuck and running other recipes is not possible.
  • The parser uses Maven classes and is therefore coupled to java.io.File requiring the resources to exist on the filesystem. Previously Springs Resource abstraction was used which allowed "synthetic" dummy resources that didn't need to exist on FS. Removing the need for Maven would allow using Resources again.

Acceptance Criteria

/info panel
Given precondition
When action
Then result

Additional Information

@fabapp2
Copy link
Contributor Author

fabapp2 commented Oct 9, 2023

Closed by #946

@fabapp2 fabapp2 closed this as completed Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant