kivy / kivy/python-for-android
Enhancement Request: Support for BOM Dependencies and Plugins Configuration in buildozer.spec
- Dominant language
- Python
- Stars
- 8.9k
- Forks
- 2k
- Avg merge
- 12h 20m
- Merged PRs (30d)
- 9
Description
Presently, there is no provision in the `buildozer.spec` file to include `bom` dependencies in the `build.gradle` file. For instance, if you wish to incorporate the Kotlin `bom` dependency, like so:
```groovy
implementation platform("org.jetbrains.kotlin:kotlin-bom:1.8.22")
```
Similarly, when dealing with plugins such as the **Google services Gradle plugin**, you are required to specify the classpath within the `buildscript` block:
```groovy
buildscript {
repositories {
...
}
dependencies {
...
// Google services Gradle plugin
classpath 'com.google.gms:google-services:4.4.0'
}
}
```
Subsequently, in the plugins section, you need to set the ID:
```groovy
plugins {
...
// Add the ID of the plugin
id 'com.google.gms.google-services'
...
}
```
Regrettably, the current configuration of `buildozer.spec` lacks a dedicated section to define these dependencies and plugins directly. As a workaround, one must manually modify the file within the `.buildozer` directory.
```[tasklist]
### Tasks
```
Contributor guide
Research direction
Start with the buildozer.spec configuration and the generated build.gradle sections named in the report, including buildscript and plugins. Trace how configuration reaches the .buildozer files, then define how BOM dependencies, plugin classpaths, and plugin IDs are represented. Done means these entries can be configured without manually editing generated files.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- build-system, mobile-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100