Bug 340658 - CSpec attributes are empty when bundle is resolved from P2
Summary: CSpec attributes are empty when bundle is resolved from P2
Status: REOPENED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Buckminster (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: buckminster.core-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-03-22 09:56 EDT by Jakob Braeuchi CLA
Modified: 2019-02-25 14:40 EST (History)
1 user (show)

See Also:


Attachments
Example Plugin (3.60 KB, application/zip)
2011-03-22 09:58 EDT, Jakob Braeuchi CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jakob Braeuchi CLA 2011-03-22 09:56:53 EDT
Build Identifier: 

Plugin1 depends on Plugin2. A prebind action is defined in the cspex of Plugin1.
This Action has a Prerequisite to the bundle.jar Action of Plugin2.

When i resolve my Query using an empty Workspace (only Plugin1 resides in the Workspace) all plugins are correctly resolved and my prebind action is called.
When the same query is resolved again, the following error occurs:

ERROR   [0001] : CSpec org.eclipse.datatools.connectivity.db.generic:osgi.bundle$1.0.1.v200908130547 has no  action, group, or local artifact named bundle.jar

the attached zip-file contains plugin1 and it's artifacts.


Reproducible: Always

Steps to Reproduce:
1. import plugin1 into an empty workspace
2. resolve the query My.query -> prebind action is called as expected
3. resolve the query My.query again -> ERROR
Comment 1 Jakob Braeuchi CLA 2011-03-22 09:58:00 EDT
Created attachment 191678 [details]
Example Plugin
Comment 2 Jakob Braeuchi CLA 2011-07-11 15:30:54 EDT
changed to major because restarting eclipse after running a query is very annoying
Comment 3 Thomas Hallgren CLA 2011-09-15 07:05:47 EDT
A prebind action is called just prior to when a project is bound to the workspace. That's not the case the second time the query runs. If you don't want to restart your IDE, you can simply remove the project for which the prebind should execute. You don't need to remove the actual files, just the project. As a result, the project will be re-bound to the workspace the next time you run a cquery and that will trigger the prebind action.
Comment 4 Jakob Braeuchi CLA 2011-09-15 08:10:43 EDT
(In reply to comment #3)
> A prebind action is called just prior to when a project is bound to the
> workspace. That's not the case the second time the query runs. If you don't
> want to restart your IDE, you can simply remove the project for which the
> prebind should execute. You don't need to remove the actual files, just the
> project. As a result, the project will be re-bound to the workspace the next
> time you run a cquery and that will trigger the prebind action.

This sounds reasonable. But i do not understand why it works after a restart of the IDE. The project is already in the workspace and the action works as expected.
Comment 5 Jakob Braeuchi CLA 2011-12-20 02:38:20 EST
as thomas said, i removed the project with the prebind action and rexecuted the query and the error popped up again.

the only thing i can do in this case is restart the workspace.

buckminster does not complain about the project with the prebind action itself,
the problem comes from a prerequisite that seems to loose it's bundle.jar action when running the query again.