Skip to content

Let the DefaultBuildContext delegate to the legacy build-api #71

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

Merged
merged 1 commit into from
Jun 2, 2023

Conversation

laeubi
Copy link
Collaborator

@laeubi laeubi commented Jun 2, 2023

Currently there is a problem that if a maven-plugin wants to upgrade to the newer API artifact it looses backward-compatibility to older implementors of the API instantly.

This changes the DefaultBuildContext in a way that allows it to behave backward-compatible in this case:

  1. it gets injected the old implementation
  2. it delegates all relevant calls to the legacy
  3. it contains a feature-switch that is able to detect if the default-legacy-api is used and therefore we can exchange behavior with a new default or need to still to delegate to a custom implementation.

@laeubi laeubi requested a review from gnodet June 2, 2023 06:40
@laeubi laeubi force-pushed the delegate_to_legacy branch 3 times, most recently from b06226a to 7f5be6f Compare June 2, 2023 07:21
pom.xml Outdated
<dependency>
<groupId>org.eclipse.sisu</groupId>
<artifactId>org.eclipse.sisu.plexus</artifactId>
<version>0.3.5</version>
Copy link
Member

Choose a reason for hiding this comment

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

0.9.0.M2 ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I was not sure what is the best artifact for AbstractLogEnabled and if we should/can use Milsestone releases here?

Currently there is a problem that if a maven-plugin wants to upgrade to
the newer API artifact it looses backward-compatibility to older
implementors of the API instantly.

This changes the DefaultBuildContext in a way that allows it to behave
backward-compatible in this case:

1) it gets injected the old implementation
2) it delegates all relevant calls to the legacy
3) it contains a feature-switch that is able to detect if the
default-legacy-api is used and therefore we can exchange behavior with a
new default or need to still to delegate to a custom implementation.
@laeubi laeubi force-pushed the delegate_to_legacy branch from 7f5be6f to 8c4057e Compare June 2, 2023 07:40
@gnodet gnodet merged commit 9a9fb61 into codehaus-plexus:master Jun 2, 2023
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.

2 participants