Consider a more Gradle-native syntax to specify Python dependencies in the Gradle plugin
@steve-s ya está trabajando en esto.
Desde el 23/12/2024.
- Lenguaje dominante
- Python
- Estrellas
- 1.6k
- Forks
- 155
- Merge medio
- 9 h 42 min
- PR fusionados (30 d)
- 36
Descripción
Currently, specifying Python dependencies from Gradle seems to work like:
plugins {
id("org.graalvm.python") version "24.1.1"
}
graalPy {
packages = setOf("pyfiglet==1.0.2")
}
As a Gradle user, I'd expect a syntax that is more "native" to Gradle, e.g. via a graalPy Gradle configuration:
plugins {
id("org.graalvm.python") version "24.1.1"
}
dependencies {
graalPy("pyfiglet:1.0.2")
}
While I haven't tested this, I assume that as the configuration will be resolved by the plugin, the dependency notation can omit the usual group name. If for whatever reason a group name would be syntactically required, a dummy name like "python" could be added.
Background: I'm inspired by how the JRuby Gradle plugin does it (note that this is still Groovy instead of Kotlin DSL syntax):
dependencies {
/* Using the built-in `jrubyJar` configuration to describe the
* dependencies our jrubyJar task will need, so the gem is properly
* included in the resulting .jar file
*/
jrubyJar "rubygems:colorize:0.7.7+"
jrubyJar 'org.slf4j:slf4j-simple:1.7.12'
}
Following this approach consistently across all Gradle plugins for GraalVM languages would make a great Gradle user experience IMO, and maybe all Gradle plugins could even share some common code (to create those language-specific configurations etc.).
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Evaluación
Este issue todavía no se ha evaluado.