cashapp / cashapp/better-dynamic-features

Support other "external" resource types

Open
#39 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Kotlin
Stars
99
Forks
9
PR merge metrics
No merged PRs in 30d

Description

Right now the plugin can handle external `style` declarations, i.e. if a style resource is referenced in the base module's merged manifest that isn't actually included in the base module.

This isn't currently possible with other types of resources (e.g. `string`s or `xml` resources) which forces us to include some dependencies in the base module that we really shouldn't need to and inflates our base APK size.

----

The plugin is already capable of identifying resources of any type that are referenced in the merged manifest and not included in the base module, so perhaps the plugin could locate these resources from their original source and effectively _copy_ their values into the base module (as generated resources) to satisfy the resource linking process without having to actually include a dependency on those dependencies.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing the plugin's existing handling of external style resources and its logic for identifying resources referenced in the merged manifest but absent from the base module. Then investigate how original resource values can be located and generated resources can satisfy resource linking. Done means external string, XML, and other supported resource types work without unnecessary base-module dependencies or APK size inflation.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, kotlin
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.