@@ -168,7 +168,7 @@ class PluginInstallEngine {
168168
169169 if (zipFile. exists()) {
170170 def (name, version) = readMetadataFromZip(zipFile. absolutePath)
171- installPluginZipInternal name, version, zipFile, globalInstall
171+ installPluginZipInternal name, version, zipFile, globalInstall, true
172172 }
173173 else {
174174 errorHandler " Plugin zip not found at location: ${ zipFile.absolutePath} "
@@ -196,18 +196,20 @@ class PluginInstallEngine {
196196 installPlugin(file, globalInstall)
197197 }
198198
199- protected void installPluginZipInternal (String name , String version , File pluginZip , boolean globalInstall ) {
199+ protected void installPluginZipInternal (String name , String version , File pluginZip , boolean globalInstall = false , boolean overwrite = false ) {
200200
201201 def fullPluginName = " $name -$version "
202202 def pluginInstallPath = " ${ globalInstall ? globalPluginsLocation : applicationPluginsLocation} /${ fullPluginName} "
203203
204204
205205 assertNoExistingInlinePlugin(name)
206206
207- def abort = checkExistingPluginInstall(name, version)
208- if (abort) {
209- registerPluginWithMetadata(name, version)
210- return
207+ if (! overwrite) {
208+ def abort = checkExistingPluginInstall(name, version)
209+ if (abort) {
210+ registerPluginWithMetadata(name, version)
211+ return
212+ }
211213 }
212214
213215 eventHandler " StatusUpdate" , " Installing zip ${ pluginZip} ..."
0 commit comments