Skip to content
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

Refactor and cleanup #1185

Closed
wants to merge 2 commits into from
Closed

Refactor and cleanup #1185

wants to merge 2 commits into from

Conversation

erikj79
Copy link
Member

@erikj79 erikj79 commented Jun 10, 2021

I have been working quite a bit in the area of the Integrate and SponsorCommand classes recently, and while doing so noted that they have a lot of duplicate code. Some of that I fixed, but I didn't want to include unrelated refactoring and cleanup in a functional change, so here is a separate change with just that. Nothing should change from a functional perspective. This change only touches a limited set of classes where I had noted specific issues. Here is a breakdown of the changes.

  1. Moved logic for finding the original change hash in a backport PR to the CheckablePullRequest class. All three locations where this was done already had an instance of this class, and that class has all the data needed for the operation, so seemed like a decent fit.
  2. Put a lazily initialized wrapper of PullRequestUtils.targetHash(localRepo) in CheckablePullRequest. This method is called quite often, and each time it results in running a git command to resolve the hash from the ref name. When browsing logs, this git command is sprinkled all over the place so reducing it will improve both performance and log browsing. Unfortunately I can't figure out a good way to completely reduce it as PullRequestUtils is a static class and it calls this method quite a bit itself.
  3. Moved a duplicate piece of code (for running and reacting to jcheck checks) in IntegrateCommand.handle() and SponsorCommand.handle() to a new static method in IntegrateCommand. I still didn't dare dabbling in a super class.
  4. Removed all dead parameters and variables that I could find in these classes.
  5. Applied some other Intellij suggested code fixes, like removing exceptions never thrown and unneeded calls to toString(). I also let it convert a switch statements to the new fancy switch expression, which looks a lot better.

Progress

  • Change must not contain extraneous whitespace
  • Change must be properly reviewed

Reviewers

Reviewing

Using git

Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/skara pull/1185/head:pull/1185
$ git checkout pull/1185

Update a local copy of the PR:
$ git checkout pull/1185
$ git pull https://git.openjdk.java.net/skara pull/1185/head

Using Skara CLI tools

Checkout this PR locally:
$ git pr checkout 1185

View PR using the GUI difftool:
$ git pr show -t 1185

Using diff file

Download this PR as a diff file:
https://git.openjdk.java.net/skara/pull/1185.diff

@bridgekeeper
Copy link

@bridgekeeper bridgekeeper bot commented Jun 10, 2021

👋 Welcome back erikj! A progress list of the required criteria for merging this PR into master will be added to the body of your pull request. There are additional pull request commands available for use with this pull request.

@openjdk openjdk bot added the rfr label Jun 10, 2021
@mlbridge
Copy link

@mlbridge mlbridge bot commented Jun 10, 2021

Webrevs

@erikj79
Copy link
Member Author

@erikj79 erikj79 commented Jun 10, 2021

I reverted the text block change and the bump of the required JDK version to 15. If we are to do that, it should be in a proper change.

@openjdk
Copy link

@openjdk openjdk bot commented Jun 11, 2021

@erikj79 This change now passes all automated pre-integration checks.

ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details.

🔍 One or more changes in this pull request modifies files in areas of the source code that often require two reviewers. Please consider if this is the case for this pull request, and if so, await a second reviewer to approve this pull request before you integrate it.

🌎 Applicable reviewers for one or more changes in this pull request are spread across multiple different time zones. Please consider waiting with integrating this pull request until it has been out for review for at least 24 hours to give all reviewers a chance to review the pull request.

After integration, the commit message for the final commit will be:

Refactor and cleanup

Reviewed-by: kcr

You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed.

At the time when this comment was updated there had been no new commits pushed to the master branch. If another commit should be pushed before you perform the /integrate command, your PR will be automatically rebased. If you prefer to avoid any potential automatic rebasing, please check the documentation for the /integrate command for further details.

➡️ To integrate this PR with the above commit message to the master branch, type /integrate in a new comment.

@openjdk openjdk bot added the ready label Jun 11, 2021
@erikj79
Copy link
Member Author

@erikj79 erikj79 commented Jun 11, 2021

/integrate

@openjdk openjdk bot closed this Jun 11, 2021
@openjdk openjdk bot added integrated and removed ready rfr labels Jun 11, 2021
@openjdk
Copy link

@openjdk openjdk bot commented Jun 11, 2021

@erikj79 Pushed as commit 9371c00.

💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
2 participants