-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
DRYness: consolidate duplicated code in extension build plugins #28688
DRYness: consolidate duplicated code in extension build plugins #28688
Conversation
This comment has been minimized.
This comment has been minimized.
Scratch that about just copying and pasting. I've copy and pasted the implementation, but I made an error in the common-tools test setup that only showed in the github actions, so I've switched to System Stubs for controlling the environment variables in tests. |
Scratch that about just copying and pasting. I've copy and pasted the implementation, but I made an error in the common-tools test setup that only showed in the github actions, so I've switched to System Stubs for controlling the environment variables in tests. |
@aloubyansky, do you mind looking at this? |
Let's abandon the |
@aloubyansky do you mean "remove it from the product" or "go back to the WET implementation without the circular dependency on that module" or "not add the scm information in that module?" When I was looking I noticed that there's definitely some extensions in the quarkiverse using that one.... but it is adding a maintenance overhead now. |
I meant to not keep enhancing it. Projects that are still using it should have warnings in their build logs. We could probably open PRs for those that we know about. |
I did think removing it sounded drastic, but some teams move fast. :) After this PR, I think all scm-related future enhancements in it will be passive, because the brains will be in the common code. Or do you think I should take it out of this PR? |
We don't want to introduce a circular dependency between the tools and bootstrap. I meant to leave the bootstrap plugin out of this change. |
06f553b
to
e6f40aa
Compare
Got it, thanks! In my first version of the changes I did introduce a new module, |
This comment has been minimized.
This comment has been minimized.
I've added a dependency on devtools-common from all of the extension build plugins, so that I can eliminate duplicated code I introduced in the last changeset. The implementation is just copied across from the duplicated versions. I rewrote the test to use webcompere system stubs, for more control and more consistent behaviour. (And avoiding irritating CI-only failures.) I left bootstrap out of the changeset to avoid a circular dependency. Since I removed the changes to the bootstrap bom, which is the parent of the extension-maven-plugin, so I need to set the version manually for that plugin.
e6f40aa
to
dafa8d2
Compare
Failing Jobs - Building dafa8d2
Full information is available in the Build summary check run. Failures⚙️ JVM Tests - JDK 17 MacOS M1 #- Failing: integration-tests/mongodb-devservices
📦 integration-tests/mongodb-devservices✖
✖
✖
✖
✖
|
Is this one good to go? If so, please merge |
This is good to go - the test failures are #28779. |
Thanks. I'll let @aloubyansky push the button |
I've added a dependency on devtools-common from all of the extension build plugins, so that I can eliminate duplicated code I introduced in the last changeset.
The implementation and the test method are just copied across from the duplicated versions.