- 
          
- 
                Notifications
    You must be signed in to change notification settings 
- Fork 398
Fix issue #18598: Duplicating a class fails to log methods in Epicea #18618
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
Fix issue #18598: Duplicating a class fails to log methods in Epicea #18618
Conversation
…s code changes. Only recompiling does not announce code changes.
| About announcements do not hesitate to add a test in MethodAnnouncementsTest or other subclasses of AbstractClassDescriptionAnnouncementTest :) I fixed multiple bugs in the announcements and I try to keep those classes to ensure there is no regression | 
…on to prevent announcing methods while installed in UnpackagedPackage
| Thanks @jecisc , I modified the builder to set the package before the method added announcement :) | 
| Thank you! | 
| Hi @carolahp, this PR once integrated will be nice to port to P13 and P14. | 
| Lot of tests are breaking | 
| Strange the build did not finish. I will relaunch it. | 
| @demarey I could not restart the build because I lost my ci credential. could you restart it? | 
| We had to restart Jenkins because it was not responding. It probably stopped the build. Sorry for the inconvenience | 
| Trying to kick the build again. I updated the branch to see. | 
As @akgrant43 pointed out in Issue #18598, Epicea was not logging method creation entries when duplicating classes, because the announcer was silenced in
Behavior>>#recompile:from:.My solution preserves the silence for method recompilations, but ensures that method compilations always announce their code changes.
As a result,
Behavior>>compileAllFrom:now announces its changes. This is correct, since it is only used when copying methods from an existing class into a new one—the exact scenario that was failing in the original issue.I also added a test to verify that Epicea entries are correctly created when copying methods from an existing class.