[
https://issues.apache.org/jira/browse/SCM-496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17961796#comment-17961796
]
ASF GitHub Bot commented on SCM-496:
------------------------------------
jira-importer opened a new issue, #707:
URL: https://github.com/apache/maven-scm/issues/707
**[Louis
Lecaroz](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=llecaroz)**
opened
**[SCM-496](https://issues.apache.org/jira/browse/SCM-496?redirect=false)** and
commented
After having taken a look in the svn in trunk, the AbstractScmProvider & its
implementations except Perforce implement the AbstractScmProvider.list() method.
As this method is called by the ScmWagon, & because it is not implemented in
the PerforceScmProvider, it generates this exception (generated by the
AbstractScmProvider.list() code ) :
Uploading:
scm:perforce:[email protected]:1971://experiments/llecaroz/Maven/Repository/demo/foo/app/tp.sun.java-test-1/1.2-SNAPSHOT/tp.sun.java-test-1-1.2-20090903.105728-1.jar
[INFO] No password found, proceeding without it.
[DEBUG] No such command 'list'.
org.apache.maven.scm.NoSuchCommandScmException: No such command 'list'.
at
org.apache.maven.scm.provider.AbstractScmProvider.list(AbstractScmProvider.java:595)
at
org.apache.maven.scm.provider.AbstractScmProvider.list(AbstractScmProvider.java:579)
at org.apache.maven.wagon.providers.scm.ScmWagon.checkOut(ScmWagon.java:371)
at
org.apache.maven.wagon.providers.scm.ScmWagon.putInternal(ScmWagon.java:285)
at org.apache.maven.wagon.providers.scm.ScmWagon.put(ScmWagon.java:254)
at
org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:317)
at
org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:227)
at
org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:107)
at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:173)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
So I was unable to use the Perforce SCM Provider as SCM Wagn as you will see
in this simplified attached/POM(testcase) to reproduce the issue.
Don't forget to replace the url & username by a working one.
To run it :
-detach this pom
-modify the url to a valid perforce server
-launch "maven deploy"
Tried with svn just by switching the extension from perforce into svn &
modifying the url : no problem... as svn provider implements the list() method.
So the list() method needs to be implemented in the PerforceScmProvider as
solution.
At this time from my understanding, no project can use perforce as
repository.
Thx in advance
Louis
---
**Attachments:**
-
[pom.xml](https://issues.apache.org/jira/secure/attachment/12718854/pom.xml)
(_1.28 kB_)
-
[SCM-496-maven-scm-provider-perforce-1.2.patch](https://issues.apache.org/jira/secure/attachment/12718709/SCM-496-maven-scm-provider-perforce-1.2.patch)
(_12.69 kB_)
**Issue Links:**
- [SCM-500](https://issues.apache.org/jira/browse/SCM-500) Make the perforce
provider suitable for Wagon SCM
(_**"is depended upon by"**_)
2 votes, 3 watchers
> org.apache.maven.scm.NoSuchCommandScmException: No such command 'list' when
> the Perforce SCM Provider is used by the SCM Wagon in "maven deploy"
> ------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: SCM-496
> URL: https://issues.apache.org/jira/browse/SCM-496
> Project: Maven SCM (Moved to GitHub Issues)
> Issue Type: Bug
> Components: maven-scm-provider-perforce
> Environment: Maven 2.2.1, jdk 1.6 SR16, Win32
> Reporter: Louis Lecaroz
> Priority: Critical
> Attachments: SCM-496-maven-scm-provider-perforce-1.2.patch, pom.xml
>
>
> After having taken a look in the svn in trunk, the AbstractScmProvider & its
> implementations except Perforce implement the AbstractScmProvider.list()
> method.
> As this method is called by the ScmWagon, & because it is not implemented in
> the PerforceScmProvider, it generates this exception (generated by the
> AbstractScmProvider.list() code ) :
> Uploading:
> scm:perforce:[email protected]:1971://experiments/llecaroz/Maven/Repository/demo/foo/app/tp.sun.java-test-1/1.2-SNAPSHOT/tp.sun.java-test-1-1.2-20090903.105728-1.jar
> [INFO] No password found, proceeding without it.
> [DEBUG] No such command 'list'.
> org.apache.maven.scm.NoSuchCommandScmException: No such command 'list'.
> at
> org.apache.maven.scm.provider.AbstractScmProvider.list(AbstractScmProvider.java:595)
> at
> org.apache.maven.scm.provider.AbstractScmProvider.list(AbstractScmProvider.java:579)
> at
> org.apache.maven.wagon.providers.scm.ScmWagon.checkOut(ScmWagon.java:371)
> at
> org.apache.maven.wagon.providers.scm.ScmWagon.putInternal(ScmWagon.java:285)
> at org.apache.maven.wagon.providers.scm.ScmWagon.put(ScmWagon.java:254)
> at
> org.apache.maven.artifact.manager.DefaultWagonManager.putRemoteFile(DefaultWagonManager.java:317)
> at
> org.apache.maven.artifact.manager.DefaultWagonManager.putArtifact(DefaultWagonManager.java:227)
> at
> org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:107)
> at
> org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:173)
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
> at
> org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
> at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
> at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
> at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
> So I was unable to use the Perforce SCM Provider as SCM Wagn as you will see
> in this simplified attached/POM(testcase) to reproduce the issue.
> Don't forget to replace the url & username by a working one.
> To run it :
> -detach this pom
> -modify the url to a valid perforce server
> -launch "maven deploy"
> Tried with svn just by switching the extension from perforce into svn &
> modifying the url : no problem... as svn provider implements the list()
> method.
> So the list() method needs to be implemented in the PerforceScmProvider as
> solution.
> At this time from my understanding, no project can use perforce as repository.
> Thx in advance
> Louis
--
This message was sent by Atlassian Jira
(v8.20.10#820010)