-
Notifications
You must be signed in to change notification settings - Fork 102
Open
Labels
epicin: sbm-support-rewriteIssue is related to the sbm-support-rewrite compionentIssue is related to the sbm-support-rewrite compionentrevamp
Description
What needs to be done
The parsing logic to create the OpenRewrite AST from given resources should be extracted.
The currently used MavenProjectParser should then be replaced by this component.
Why it needs to be done
Parsing a given project to OpenRewrite AST is a mandatory step to apply OpenRewrite recipes.
Currently, two open-sourced build tool plugins exist that allow applying recipes inside a build.
Providing a parser that creates the AST outside of a build tool plugin is required for other projects too.
Extracting the parser allows reusing this component in these projects.
- feat: Add project parser for OpenRewrite #832
- Make
PomCacheconfigurable through properties #855 - Parse Gradle projects #849
- Make MavenArtifactCache configurable #856
- All markers should be added exactly as if the project would have been parsed with the build tool plugins
- The ExecutionContext should be made available as scoped bean, reusing Reusable Execution Context #792 and 786 reusable execution context 2 #800
- All Java versions supported by OpenRewrite must be supported (SBM tool - migrate-stateless-ejb isssue #837)
- The component should be configurable through Spring properties
- A
rewrite.yamlshould read and the settings should be taken
- A
- Exception handling should be configurable
- When to throw and when to log
- how to communicate exceptions (print in resource, collect, ...)
- Build information (ordered list of build files, dependencies for modules, and other) can be provided
- Parser should apply to OpenRewrite styles #982
- Allow different pom and artifact caches
- Ignore all resources in .gitignore when scanning #78
- Provide a common interface and make parser implementation configurable (
RewriteMavenProjectParservs.RewriteProjectParser) - Support Maven profiles(?)
- Add tests
- Test that dependencies are downloaded when local repo is empty
- Integration tests using local artifact repository (e.g. Artfactory) with credentials to retrieve dependencies
- Add parity check for
parent.modulesinMavenResolutionResults inParserParityTestHelper#991
Acceptance Criteria
/info panel
Given precondition
When action
Then result
Additional Information
Metadata
Metadata
Labels
epicin: sbm-support-rewriteIssue is related to the sbm-support-rewrite compionentIssue is related to the sbm-support-rewrite compionentrevamp