It's all about the answers!

Ask a question

Unable to deliver to rtc using scm command line tool


Matthew Gillespie (123) | asked Feb 04 '14, 12:44 p.m.
edited Feb 05 '14, 5:49 a.m.
 I have had no problems delivering in the past, but today when I go to deliver a change set I am not able to deliver because I am missing some plugins. Nothing has change in my local config. Here is the error message.

cole@suse:~/public_html/rtc> rtc deliver
Process Reports:
  Name: Deliver
  Participant Reports:
    Name: Clean Workspace [not installed]
      Unable to find extension matching precondition id: com.ibm.team.process.deliver.prohibitCompilationErrors. This typically means that a plugin is missing. In order for this operation to run without this precondition, the team must configure it as "optional".
    Name: No Unused Imports [not installed]
      Unable to find extension matching precondition id: com.ibm.team.process.deliver.prohibitUnusedImports. This typically means that a plugin is missing. In order for this operation to run without this precondition, the team must configure it as "optional".
Operation failed because the above client side advisors are not yet compatible with the command line client. To fix this problem, edit the process specification and make each of them optional.
Problem running 'deliver':
'Deliver' failed. Preconditions have not been met: Unable to find extension matching precondition id: com.ibm.team.process.deliver.prohibitCompilationErrors. This typically means that a plugin is missing. In order for this operation to run without this precondition, the team must configure it as "optional".

How can I install these missing plugins so that I may deliver? I do not have control over the preconditions which means I must install the plugin in order to be able to deliver but I am not sure where to find the plugin. 

If someone could point me to how to install these missing plugins that would be great!

Thanks!
-Cole

2 answers



permanent link
Kevin Ramer (4.5k8184200) | answered Feb 04 '14, 1:12 p.m.
That sounds like some behavior has been added to the Project Area.   There can be pre-conditions configured on "Deliver(server)" and/or "Deliver(client)" that enforce various rules.  

Open your Project Area in the Eclipse Client (open as in to modify/view the project configuration).  Go to Team Configuration and then Operation Behavior.  See what conditions might be on the Deliver actions.  



Comments
Matthew Gillespie commented Feb 04 '14, 1:22 p.m.

Kevin,


I am not currently using eclipse. My local rtc repo was created using the scm cli tool. Is there a way to install these missing plugins?

Thanks,
-Cole 


Kevin Ramer commented Feb 04 '14, 1:31 p.m.

I'd still wonder if the Operation Behavior isn't in play.  Both messages have the phrase:

In order for this operation to run without this precondition, the team must configure it as "optional".


Matthew Gillespie commented Feb 04 '14, 2:14 p.m. | edited Feb 04 '14, 2:14 p.m.

@yzwkzfn these operations are required. Part of my question was do you know how to install these plugins via the command line tool? is there a place I can download the classes missing? 


Kevin Ramer commented Feb 04 '14, 2:36 p.m.

Caveat:  I've never delivered outside of UI. 

Every file on my workstation with team.process.deliver in the name is under some workspace folder and under that the .metadata.  None are .jar files; all are xsd files.
e.g.

.metadata/.plugins/com.ibm.team.process.ide.ui/schemacache/com.ibm.team.process.deliver.server.requireWorkItemApproval8803667896799091763.xsd


I don't know or I might have answered; If they are necessary I would have expected them tto be part of the SCM command 'environment'


Sonia Dimitrov commented Feb 04 '14, 5:18 p.m.
JAZZ DEVELOPER

"My local rtc repo was created using the scm cli tool"

Could you provide the steps you used to install your command line client and then create the local rtc repo?


Geoffrey Clemm commented Feb 04 '14, 5:29 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

I believe the client-side precondition behavior cannot be executed in the command line client (so it is not a case of missing plug-ins).  So in order to use the command line client to perform the deliver, you would need to declare in the Process Configuration of your project/team area that these preconditions are "optional".


Matthew Gillespie commented Feb 04 '14, 9:37 p.m.

@sdimitro I downloaded the rtc client 4.0.5 for linux. I unzipped the download which contained the lscm and scm executables. This is what I used to download my repo by following the directions in this article. I made some changes to my repo and checked them in. After the checkin I added a comment to the changeset. I then associated the change set with a work item. I completed the changeset then I tried to deliver. Over the weekend the RTC web was updated from version 4.0.2 to 4.0.5 and I think some permissions must have been changed that would not allow me to deliver any longer.




Matthew Gillespie commented Feb 04 '14, 9:45 p.m.

@gmclemm is it possible for me to set the Process Configuration locally with some sort of configuration file before I make a delivery? 


Geoffrey Clemm commented Feb 05 '14, 12:01 a.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

The only way to make the client-side deliver check optional is to specify it in the process configuration of the team/project area that owns that stream.


Matthew Gillespie commented Feb 05 '14, 6:08 a.m.

@gmclemm There is also a "User may overrule" flag for this specific action. Do you know how to overrule this requirement from the command line? 


Geoffrey Clemm commented Feb 05 '14, 10:59 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

I do not believe that the command line gives you a way to take advantage of the "User may overrule" functionality, but it certainly is a reasonable enhancement to request.  So I believe that the only way at the moment for a command line deliver to succeed would be if none of the Deliver(client) preconditions have the "Fail if not installed" box checked.

showing 5 of 11 show 6 more comments

permanent link
Matthew Gillespie (123) | answered Feb 05 '14, 7:16 a.m.
edited Feb 05 '14, 7:21 a.m.
 @gmclemm is there a way for me to flag my delivery as server instead of client? What is the difference between "Deliver ( client )" and "Deliver ( server )"

Comments
Geoffrey Clemm commented Feb 05 '14, 10:56 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

Deliver(client) is the operation that is run on the client.
Deliver(server) is the operation that is run on the server.
When a precondition is defined, part of the definition states whether it is triggered by Deliver(client) or Deliver(server).
So the decision of whether it will be run on the client or server is made by the implementer of the precondition, not by the user that invokes the Deliver operation.

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.