mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-03 00:38:21 +00:00
Check for conflicting plugin names at build-time
This commit is contained in:
@@ -119,6 +119,18 @@ def pluginDefinitions = pluginTree.matching {
|
||||
include '**/meta.toml'
|
||||
}
|
||||
|
||||
class PluginScriptFile {
|
||||
def scriptFileName
|
||||
def pluginDir
|
||||
|
||||
PluginScriptFile(scriptFileName, pluginDir) {
|
||||
this.scriptFileName = scriptFileName
|
||||
this.pluginDir = pluginDir
|
||||
}
|
||||
}
|
||||
|
||||
def pluginFiles = new ArrayList<PluginScriptFile>()
|
||||
|
||||
pluginDefinitions.each { file ->
|
||||
def meta = new Toml()
|
||||
meta.read(file.absoluteFile)
|
||||
@@ -156,6 +168,19 @@ pluginDefinitions.each { file ->
|
||||
}
|
||||
}
|
||||
|
||||
scripts.files.forEach {
|
||||
def scriptFileName = it.getName()
|
||||
|
||||
//@todo - also compare package
|
||||
def existingFile = pluginFiles.find { it.scriptFileName == scriptFileName }
|
||||
if (existingFile != null) {
|
||||
throw new GradleException("Duplicate script file found named ${scriptFileName} in ${pluginFolder}, " +
|
||||
"also exists in ${existingFile.pluginDir}")
|
||||
}
|
||||
|
||||
pluginFiles.add(new PluginScriptFile(scriptFileName, pluginFolder))
|
||||
}
|
||||
|
||||
def pluginData = new PluginBuildData(normalizedName, mainSources, testSources, scripts, dependencies)
|
||||
pluginMap.put(normalizedName, pluginData)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user