# Buckminster: Circular dependency detected



## OliverR (5. Jun 2010)

Hallo,

ich habe ein Hudson-Buckminster-RCP-Headless-Build aufgesetzt und bin nach dem Muster vorgegangen, welches Ralf Ebert hier beschreibt: Headless Eclipse RCP builds with Buckminster and Hudson

Dabei bekomme ich nun folgende Fehlermeldung:

```
INFO:  importtargetdefinition '-A' '/home/tomcat/.hudson/jobs/Client/workspace//ClientFeatureSite/rcp.target'
INFO:  import '/home/tomcat/.hudson/jobs/Client/workspace//ClientFeatureSite/site.cquery'
Circular component dependency detected. Chain is ClientFeatureSite -> ClientFeature -> org.client -> org.client -> org.eclipse.ui.editors
```

Das sagt mir nun sehr wenig. Ich sehe auch nicht wirklich wo dort eine "circular dependency" ist
(FeatureSite -> Feature -> Plugin -> Editor) Das ist doch ganz normal oder?

Die "org.eclipse.ui.editors" stehen als dependency im org.client plugin.xml drin. Gehören sie dort nicht rein?

Grüße,

  Oliver


----------



## Wildcard (7. Jun 2010)

Mich irritiert das dort zweimal org.client steht. Hat org.client eine Dependency auf sich selbst? Zum Beispiel in dem es eigene Packages importiert?
Du kannst per advisor node in der Query zirkuläre Abhängigkeiten erlauben bis du die Ursache gefunden hast. Vielleicht wird die Sache klarer wenn du folgendes versuchst:
-Öffne die CQuery in der IDE
-Selektiere 'continue on error'
-Drücke Resolve to Wizard
-Selektiere 'save bom' im Wizard und speicher die BOM in Workspace
-öffne die BOM mit Buckminster's Dependency Visualizer

Dort siehst du vielleicht warum du eine zirkuläre Abhänigkeit hast.


----------



## OliverR (7. Jun 2010)

Ich konnte den Fehler heute lösen. Es war aber eher ein Zufall. Ich hatte im MANIFEST.MF zuerst folgende Plugin konfiguriert:


```
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime,
 org.eclipse.jface.text,
 org.eclipse.core.resources,
 org.eclipse.ui.editors,
 org.eclipse.ui.ide
```

und habe nun nur noch folgende konfiguriert:

```
Require-Bundle: org.eclipse.ui,
 org.eclipse.core.runtime
```

Das hat tatsächlich die Circular dependency verursacht.
Ist mir aber immer noch nicht richtig klar wieso eigentlich...

Die Visualisierung der dependency hatte ich auch schon angeschaut. Allerdings hatte es mir auch nicht viel geholfen.

Viele Grüße,

  Oliver


----------

