-
Notifications
You must be signed in to change notification settings - Fork 58
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
report aggregation process implemented for multi-project #243
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your PR!
See the separate remarks.
build.gradle
Outdated
@@ -34,6 +34,7 @@ sourceSets { | |||
|
|||
dependencies { | |||
implementation localGroovy() | |||
implementation "org.pitest:pitest-aggregator:1.5.2" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is somehow problematic. PIT allows to dynamically change used PIT version and it might be not compatible with agregator's 1.5.2. I have to think if (and how) it could be made up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have some idea, but please make the functional tests green to allow me to test it.
...y/info/solidsoft/gradle/pitest/functional/MultiprojectReportAggregationFunctionalSpec.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
...y/info/solidsoft/gradle/pitest/functional/MultiprojectReportAggregationFunctionalSpec.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/report/PitestReportAggregator.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/PitestPlugin.groovy
Outdated
Show resolved
Hide resolved
src/main/groovy/info/solidsoft/gradle/pitest/PitestPlugin.groovy
Outdated
Show resolved
Hide resolved
src/test/groovy/info/solidsoft/gradle/pitest/PitestAggregatorPluginTest.groovy
Outdated
Show resolved
Hide resolved
src/test/groovy/info/solidsoft/gradle/pitest/PitestAggregatorPluginTest.groovy
Outdated
Show resolved
Hide resolved
src/test/groovy/info/solidsoft/gradle/pitest/PitestAggregatorPluginTest.groovy
Outdated
Show resolved
Hide resolved
.../solidsoft/gradle/pitest/functional/AcceptanceTestsInSeparateSubprojectFunctionalSpec.groovy
Show resolved
Hide resolved
0662589
to
140af32
Compare
Hello. Any updates? |
Unfortunately, I was busy with some other activities. Nevertheless, I will try to handle that "soon". |
I wanted to work on it, however, it still fails for me locally with commit 140af32 (your master):
When I ignored the deprecation warnings it started to fail with:
For some reasons the CI builds pass. I made a dummy commit in your branch to make sure Travis builds from the same commit, but it stuck (most likely due to that). Does Update. You seem to migrate already to travis.com and that test passed :-/ |
I'm not sure why it was happening only on my machine, but both "no lineCoverageFiles" and deprecation warnings were caused by the fact that in functional tests That brought me to the conslusion that Unfortunately, solving that took a lot of time, so I will experiment with avoiding hardcoded versions of runtime dependencies another time :-/. |
e79c141
to
d47df23
Compare
…ss for multi-project resolves: szpakgh-80
Greetings. I`ve revorked AggregateReportTask to use Output and Intput |
My initial approach with |
} | ||
|
||
private boolean isRootPitestConfigured() { | ||
return project.plugins.hasPlugin(PitestPlugin.PLUGIN_ID) && project.extensions.findByType(PitestPluginExtension) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm back to that topic and it looks quite promising :-). However, adjusting the code, I wonder if there is a reason why you for the root project check for both plugin and its extension, but for subproject you only check for the plugin existence?
Extension should be applied automatically when the plugin is applied, so maybe it is superfluous?
(please do not commit any changes, I'm working on dependencies which I plan to push to that branch once ready)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Extension should be applied automatically when the plugin is applied, so maybe it is superfluous?
You are completely right.
With the Worker API: https://docs.gradle.org/nightly/userguide/worker_api.html#changing_the_isolation_mode Also for aggregate reporting.
With a help from @marcphilipp, I was able to retain the PIT version configuration at runtime capability using the Worker API. @MikeSafonov I had to rework your PR a little bit. Please take a look if it looks ok for you (the last commit). I will write some more tests tomorrow and I plan to merge it soon. Feel free to make new commits if needed, but please do not rebase this branch. |
Congratulations! I have already looked at your changes and they looks good to me. |
I've merged it manually into devel and having some other (unrelated) changes implemented I will release 1.6.0 "soon". Thank you for your contribution! |
Greetings
I have implemented a report aggregation process using
pitest-aggregator