Repository structure changes
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 14.6k
- Forks
- 3.2k
- Avg merge
- 12d 11h
- Merged PRs (30d)
- 4
Description
I was considering to do a major change in the structure of the microG repositories. The main reason therefor is that I often have to touch multiple repositories. Other reason is that the submodule/symlink system is causing problems every now and then (with non-unix systems, Android Studio, Kotlin gradle plugin, ...).
So I'd propose the following changes:
- Merge GmsApi, GmsLib and GmsCore repos into a single new repository.
- With each release form that repository (affecting all three components), upload as much as sensible and possible to maven central and GitHub releases.
- Upload remote-droid-guard library (*), wearable library and unifiednlp-base to maven central and fetch from there during build of
play-services-core - Split
play-services-coreinto smaller modules, that can also be included in third-party apps together with correspondingplay-serviceslibrary from microg, so they can work even on systems that don't have microG installed- This also implies more focus on
play-serviceslibrary (aka GmsLib) for better integration in third-party apps.
- This also implies more focus on
- Remove
Android.mkbuild scripts from all repositories, as they tend to be incompatible with one or another android build version anyway.- Provide alternative repository with prebuilts from releases as well as other stuff required for proper
- Rename repositories to get rid of
android_packages_prefix and alike as repositories are no longer intended to be included with androidrepotool.
I think this will eventually make contributions from outsiders easier, but I am happy to hear other opinions on that from current contributors (@ale5000-git, @Nanolx, @Vavun, @voidstarstar, @chris42, @oldosfan, etc). Most of these changes will probably not happen before September given my current schedule.
(*) It's not functional for SafetyNet right now, but I will definitely have a look at it at some point again.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the remaining checklist items, especially splitting play-services-core into smaller modules and removing Android.mk build scripts. Inspect the current repository layout and build configuration before deciding scope. Done would require an agreed structure, compatible builds, and the proposed release or dependency arrangements, but this issue does not identify specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, java, kotlin
- Domain
- build-system, developer-experience, mobile
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100