Issue 3332: Cannot install delete-project plugin
Status:  Invalid
Owner: ----
Closed:  Apr 2015
Reported by mikel...@aol.com, Apr 23, 2015
*****************************************************************
*****                                                       *****
***** !!!! THIS BUG TRACKER IS FOR GERRIT CODE REVIEW !!!!  *****
*****                                                       *****
***** DO NOT SUBMIT BUGS FOR CHROME, ANDROID, CYANOGENMOD,  *****
***** INTERNAL ISSUES WITH YOUR COMPANY'S GERRIT SETUP, ETC.*****
*****                                                       *****
*****   THOSE ISSUES BELONG IN DIFFERENT ISSUE TRACKERS     *****
*****                                                       *****
*****************************************************************

Affected Version:
Gerrit 2.11 Release

What steps will reproduce the problem?
1. Obtain the gerrit source code for 2.11 and build it.
2. Build the Api, etc.
3. Clone the latest of the delete-project plugin Sha1: 9e6ac72a26606e661782aa382aa414ba1817eec2
4. Build it! mvn install. 
5. attempt to install it via ssh. 


What is the expected output? I expect the plugin to install.
What do you see instead? NoSuchMethodError exception thrown.

bos-mpgm0:~ me$ ssh -p 29418 MyGerritInstanceScrubbed.com 'gerrit plugin install' -n delete-project.jar /usr/local/gerrit/plugins/delete-project-2.12-SNAPSHOT.jar
com.google.gerrit.server.plugins.PluginInstallException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoSuchMethodError: com.google.gerrit.server.config.SitePaths.resolve(Ljava/lang/String;)Ljava/nio/file/Path;
  at com.googlesource.gerrit.plugins.deleteproject.fs.DeleteTrashFolders.<init>(DeleteTrashFolders.java:39)
  while locating com.googlesource.gerrit.plugins.deleteproject.fs.DeleteTrashFolders
  while locating com.google.gerrit.extensions.events.LifecycleListener annotated with @com.google.inject.internal.UniqueAnnotations$Internal(value=127)

1 error
	at com.google.gerrit.server.plugins.PluginLoader.runPlugin(PluginLoader.java:478)
	at com.google.gerrit.server.plugins.PluginLoader.installPluginFromStream(PluginLoader.java:185)
	at com.google.gerrit.sshd.commands.PluginInstallCommand.run(PluginInstallCommand.java:98)
	at com.google.gerrit.sshd.SshCommand$1.run(SshCommand.java:35)
	at com.google.gerrit.sshd.BaseCommand$TaskThunk.run(BaseCommand.java:445)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
	at com.google.gerrit.server.git.WorkQueue$Task.run(WorkQueue.java:379)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
Caused by: com.google.inject.ProvisionException: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoSuchMethodError: com.google.gerrit.server.config.SitePaths.resolve(Ljava/lang/String;)Ljava/nio/file/Path;
  at com.googlesource.gerrit.plugins.deleteproject.fs.DeleteTrashFolders.<init>(DeleteTrashFolders.java:39)
  while locating com.googlesource.gerrit.plugins.deleteproject.fs.DeleteTrashFolders
  while locating com.google.gerrit.extensions.events.LifecycleListener annotated with @com.google.inject.internal.UniqueAnnotations$Internal(value=127)

1 error
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1018)
	at com.google.gerrit.lifecycle.LifecycleManager.start(LifecycleManager.java:72)
	at com.google.gerrit.server.plugins.ServerPlugin.startPlugin(ServerPlugin.java:228)
	at com.google.gerrit.server.plugins.ServerPlugin.start(ServerPlugin.java:170)
	at com.google.gerrit.server.plugins.PluginLoader.runPlugin(PluginLoader.java:461)
	... 12 more
Caused by: java.lang.NoSuchMethodError: com.google.gerrit.server.config.SitePaths.resolve(Ljava/lang/String;)Ljava/nio/file/Path;
	at com.googlesource.gerrit.plugins.deleteproject.fs.DeleteTrashFolders.<init>(DeleteTrashFolders.java:40)
	at com.googlesource.gerrit.plugins.deleteproject.fs.DeleteTrashFolders$$FastClassByGuice$$7fe60073.newInstance(<generated>)
	at com.google.inject.internal.cglib.reflect.$FastConstructor.newInstance(FastConstructor.java:40)
	at com.google.inject.internal.DefaultConstructionProxyFactory$1.newInstance(DefaultConstructionProxyFactory.java:61)
	at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:108)
	at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:88)
	at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:269)
	at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)
	at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1009)
	at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1059)
	at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1005)
	... 16 more
fatal: Plugin failed to install. Cause: Unable to provision, see the following errors:

1) Error injecting constructor, java.lang.NoSuchMethodError: com.google.gerrit.server.config.SitePaths.resolve(Ljava/lang/String;)Ljava/nio/file/Path;
  at com.googlesource.gerrit.plugins.deleteproject.fs.DeleteTrashFolders.<init>(DeleteTrashFolders.java:39)
  while locating com.googlesource.gerrit.plugins.deleteproject.fs.DeleteTrashFolders
  while locating com.google.gerrit.extensions.events.LifecycleListener annotated with @com.google.inject.internal.UniqueAnnotations$Internal(value=127)


Please provide any additional information below.

Apr 23, 2015
Project Member #1 David.Os...@gmail.com
>3. Clone the latest of the delete-project plugin Sha1: 9e6ac72a26606e661782aa382aa414ba1817eec2

That's wrong. You have Gerrit API/Plugin mismatch. What you need
is the stable-2.11 branch on the plugin side, e.g.:
  
61b1082eb552f2eeca2822803d39ea8333a579be


Status: Invalid
Apr 24, 2015
#2 mikel...@aol.com
Thank you David. I built the 2.11 stable branch. And now it installs with no error.