-
-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
enhancementNew feature or requestNew feature or requestfeature requestNecessary features for developmentNecessary features for developmenthelp wantedExtra attention is neededExtra attention is needed
Description
Currently, the plugin publishing configuration does not benefit from Forma concept. Ideally instead of following the code:
ext {
set("group", "tools.forma")
set("version", "0.1.3")
set("tags", listOf("kotlin", "android", "structure", "target", "rules", "project"))
set("website", "https://forma.tools/")
set("vcsUrl", "https://github.com/formatools/forma.git")
set("displayName", "Forma - Meta Build System with Gradle and Android support")
set("description", "Best way to structure your Gradle Project")
}
gradlePlugin {
website.set(rootProject.ext["website"] as String)
vcsUrl.set(rootProject.ext["vcsUrl"] as String)
plugins {
create(name) {
id = "$group.$name"
displayName = rootProject.ext["displayName"] as String
description = rootProject.ext["description"] as String
implementationClass = "$id.plugin.FormaPlugin"
@Suppress("UNCHECKED_CAST")
tags.set(rootProject.ext["tags"] as List<String>)
}
}
}
We want to implement smth like
// root build.gradle
formaPluginConfiguration {
group = "tools.forma"
website = "..."
...
}
```kotlin
// plugin build.gradle
gradlePlugin(
name = "android"
description = " Bla bla"
implementationClass = "plugins.FormaPlugin",
extraTags = listOf(...)
...
)
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requestfeature requestNecessary features for developmentNecessary features for developmenthelp wantedExtra attention is neededExtra attention is needed