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: Bump ReVanced Patcher & merge integrations by using ReVanced Patches Gradle plugin #3462

Merged
merged 1,037 commits into from
Oct 26, 2024

Conversation

oSumAtrIX
Copy link
Member

@oSumAtrIX oSumAtrIX commented Jul 20, 2024

About

  • Bumps ReVanced Patcher
  • Uses ReVanced Patches Gradle plugin
  • Merges integrations

Todo

Merge instructions

  • This PR should be merged as two commits:
    1. A commit that highlights the ReVanced Patcher bump.
    2. A commit that highlights the merge of integrations

The first commit may have residues from the second commit.

LisoUseInAIKyrios and others added 30 commits November 25, 2023 23:30
…tartup

The application crashes sporadically when a field is not initialized yet in a static context.
BREAKING CHANGE: The class `MicroGSupport` has been renamed to `GmsCoreSupport`
…efore allowing the first Short to start playback (#538)
Co-authored-by: LisoUseInAIKyrios <[email protected]>
Co-authored-by: oSumAtrIX <[email protected]>
@oSumAtrIX
Copy link
Member Author

oSumAtrIX commented Oct 25, 2024

@LisoUseInAIKyrios This PR is now ready for review/mergeing. Before we merge I will try to force push the integrations history into this branch and merge by rebasing. Since there are many objects the repository will grew a bit on size due to stuff like the Gradle wrapper being committed to. I could rewrite history in a way where only commits to the source files are included. This skews true history, but avoids bloating the repo with commits that will be forgotten anyways in a while. What do you say?

The PR surely has some errors/mistakes which we will see when it reaches main at least. Before merging this, I will to do a superficial test.

@LisoUseInAIKyrios
Copy link
Contributor

LisoUseInAIKyrios commented Oct 25, 2024

Only the history of source code files is useful, so that would be preferable.

I can review tomorrow.

Build failed with out of memory. Locally I had to increase gradle memory argument as recently it had been complaining about running low.

FAILURE: Build failed with an exception.

* What went wrong:
Java heap space

@oSumAtrIX
Copy link
Member Author

Merging this means all other current PRs need to be rebased and resolve merge conflicts. I can take up on some. Since sources are moved its simply a matter of rebasing, and during merge conflict resolution copy over the old source files to the new place and apply the necessary changes.

@oSumAtrIX
Copy link
Member Author

oSumAtrIX commented Oct 25, 2024

Build failed with out of memory. Locally I had to increase gradle memory argument as recently it had been complaining about running low.

Odd. Maybe environmental specific. Gradle orchestrates a parallelized build for all subprojects such as extensions and the patches project:

image

@oSumAtrIX oSumAtrIX force-pushed the refactor/merge-integrations branch 2 times, most recently from 0a6506c to a8da1d9 Compare October 25, 2024 22:16
@oSumAtrIX
Copy link
Member Author

oSumAtrIX commented Oct 25, 2024

I have merged both histories now:

image

image

First the integration commits are rewritten only to include changes to the source files:

image

The rewrite moved all commits to the source files to a directory "intregrations". This allowed for a merge commit without conflicts into the patches repo. The merge was stopped with --no-commit and the commit that converted the integrations to an extension was applied to the pending merge. The integrations directory was deleted, the extensions folder created, and the merge finished:

image

Regarding new commits to this branch, I am unsure how git handles this merge as the last commit. So far, I have been doing fix commits and then squashing them with the Bump patcher commit, but since there's a merge in between, this may not work. In this case the last commit can be reverted, the commits pushed and then I can do them again.

@LisoUseInAIKyrios
Copy link
Contributor

Everything seems to be working ok.

@oSumAtrIX oSumAtrIX merged commit c7216fc into dev Oct 26, 2024
1 check passed
@oSumAtrIX oSumAtrIX deleted the refactor/merge-integrations branch October 26, 2024 15:43
@LisoUseInAIKyrios
Copy link
Contributor

LisoUseInAIKyrios commented Oct 26, 2024

In a different commit, the packages of the patch files could be reorganized, as they still use the old settings groups of interaction, layout, etc.

@oSumAtrIX
Copy link
Member Author

I was thinking of getting rid of the structure entirely and just structure by package name. All patch files would be next to each other. Fingerprint files could be named the same way as the corresponding patch too (HideAdsFingerprints.kt for example). I think this is easier to read.

@LisoUseInAIKyrios
Copy link
Contributor

Yeah since most patches have only 2 files that would work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.