F-Droid是适用于Android的免费软件应用商店。我们强制要求应用程序是100%免费软件,所以它就像Debian for Android。由于大多数Android应用都使用gradle,因此使用gradle技巧automate our enforcement是有意义的。 'com.jaredsburrows.license'
插件是我们想要自动注入每个构建的一种东西。 init.gradle 应该能够做到这一点,但我无法弄清楚如何将插件插入到Android插件中。这是我得到的地方:
apply plugin: FDroidLicenseCheck
class FDroidLicenseCheck implements Plugin<Gradle> {
def supportedPlugins = [
'org.gradle.api.plugins.JavaPlugin',
'com.android.build.gradle.AppPlugin'
]
void apply(Gradle gradle) {
println('applying license check')
def added = false
gradle.allprojects { project ->
project.with {
if (parent == null) {
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.jaredsburrows:gradle-license-plugin:0.5.0"
}
}
}
plugins.whenPluginAdded { plugin ->
println('Checking ' + plugin.class.name)
if (!added && supportedPlugins.contains(plugin.class.name)) {
println('Adding to ' + plugin.class.name)
rootProject.apply plugin: 'com.jaredsburrows.license'
added = true
}
}
}
}
}
}