Skip to content

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

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants