Buckminster

Generic1

Top Contributor
Hallo,

ich suche ein Beispiel- Bild, wie die Abhängigkeiten zwischen OSGi Bundles mit dem Buckminster dargestellt werden, weiß jemand wo ich eins finden kann -> ich hätte gerne gesehen, ob das in einer Baumstruktur dargestellt wird oder ob das pro Bundle vielleicht ein Rechteck ist mit Verbindungslinien zu anderen Bundles und in den Rechtecken stehen dann die Abhängigkeiten drinnen -> so wärs für mich am idealsten -> Gibts sowas?
Besten Dank.
lg
 

Generic1

Top Contributor
Hallo Wildcard,

besten Dank für die Info, hab noch ein grundlegendes Problem mit dem Buckminster und zwar hab ich
1. Buckminster - Core und
2. ACTF Visualisation SDK Feature (Incubator)
mit der URL Galileo Software Repository installiert.
Wie ich jetzt auf das Dropdown menü von Seite 117 komme ist mir nicht klar, ich muss auch zugeben, der Visualiser wäre zwar genau das was ich brauche, ich hab das pdf jetzt aber nicht durchgelesen.
Wäre es vielleicht möglich, dass du mir einen einfachen Weg beschreibst, wie ich dazu komme?
Besten Dank nochmal,
lg
 

Wildcard

Top Contributor
2. ACTF Visualisation SDK Feature (Incubator)
Was immer das ist, du brauchst es nicht. Der Buckminster Visualizer ist Teil von Buckminster Core.
Es gibt 2 Möglichkeiten:
1. Rechtsklick auf ein Projekt in Eclipse -> Buckminster -> visualize Dependencies
Mit dieser Methode siehst du direkt etwas, allerdings ist je nach Art des Projekts (Maven, OSGi, Plain Java, Eclipse Feature,...) die Liste möglicherweise nicht vollständig da nicht sichergestellt ist das alle transitiven Abhängigkeiten aufgelöst werden können.

Die genauere Methode (dazu musst du zumindest das Prinzip von Buckminster verstanden haben):
2.
-Du öffnest/erstellst ein CQuery.
-Im CQuery Editor gibst du die ID (Name) und den Typ der Komponente an deren Abhängigkeiten dich interessieren.
-Nun trägst du die RMAP ein die für den Lookup verwendet werden soll.
-Dann aktivierst du den Haken 'Continue on error'.
-Resolve to Wizard
-Wenn der Wizard alle Abhängigkeiten aufgelöst hat klickst du auf 'save BOM'.

Die BOM enthält nun genaue Informationen welche Component welche Abhängigkeiten hat, und wo und in welcher Version sie gefunden wurde (CVS, SVN, Git, Dateisystem, Target Platform, Maven Repository, Eclipse Update Site,...). Dieses .bom File Kannst du dann einfach per Doppelklick öffnen um die Abhängigkeiten zu Visualisieren.

Um nochmal den Unterschied zu verdeutlichen:
Rechtsklick gibt dir eine Art lokalen Snapshot der Abhängigkeiten. In deiner IDE werden die verschiedenen Artefakte in gezeigter Weise miteinander verbunden.

Die BOM Variante beschreibt wesentlich detailierter wie sich die Abhängigkeiten zB für den Build Prozess darstellen.
A wird aus Branch 1.0.0 aus einem CVS ausgecheckt.
B kommt als Version 4.0 aus Maven Repository foo
C wurde direkt aus der Target Platform geladen
D wurde aus einem Git Repository ausgecheckt
E ist ein einfaches Jar das von http://example.org/foo/bar.jar runtergeladen wurde

usw.
 

Generic1

Top Contributor
OK, was ich jetzt noch für ein Problem habe, ich arbeite unter Windows7, habe SVN installiert gehabt und jetzt den Buckminster (nur Core) installiert -> der Buckminster ist nicht zu sehen und SVN ist auch verschwunden obwohl die Plugins noch installiert sind.
Keine Ahnung was da schiefgeht.
Weißt du da noch was?
Besten Dank,
lg
 

Wildcard

Top Contributor
Kann ich dir nichts zu sagen, schau ins Log. Du kannst die Installation auch über die p2 UI Rückgängig machen und erneut versuchen. Core ist vermutlich nicht genug für dich, es hängt davon ab mit welchen Arten von Components du zu tun hast und wo diese Components herkommen.
 

Generic1

Top Contributor
Gibts ein Eclipse zum Downloaden, wo der Buckminster schon dabei ist, ich bräuchte nur eine Eclipse- Instanz wo das dabei ist, damit wäre mir sehr geholfen.
Besten Dank,
lg
 

Generic1

Top Contributor
So, bin jetzt so weit gekommen, weiß aber nicht was ich da als rmap eingeben muss, könntest du mir in diese Richtung noch hilfestellung geben?
Besten Dank,
lg

generic1-albums-buckminster-picture117-buck.png
 

Wildcard

Top Contributor
Gibts ein Eclipse zum Downloaden, wo der Buckminster schon dabei ist, ich bräuchte nur eine Eclipse- Instanz wo das dabei ist, damit wäre mir sehr geholfen
Nein, es wird per Update Site installiert.
So, bin jetzt so weit gekommen, weiß aber nicht was ich da als rmap eingeben muss, könntest du mir in diese Richtung noch hilfestellung geben?
Dort steht drin welche Components wo zu finden sind (Dateisystem, SCMs, Maven Repositories, Eclipse Update Sites,...).
Buildsysteme müssen komplexe Aufgaben lösen, daher sind sie auch nicht trivial zu bedienen, du wirst also schon mal ins Handbuch schauen müssen wenn du eine RMAP erstellen willst.
 

Generic1

Top Contributor
Ich möchte eigentlich nur die Projekte (Plug-in-Projekte) im Eclipse- Workspace miteinbeziehen in die Resourcemap und die Abhängigkeiten der Bundles bzw. Plug- in- Projekte visualisieren.
Gibt es da einen einfache Möglichkeit, was ich da in die rmap schreiben kann.
Besten Dank,
lg
 

Wildcard

Top Contributor
Wenn alles Bundles sind, dann genügt Variante 1 und dafür brauchst du keine RMAP. Die Action ist allerdings erst ab Eclipse 3.6 vorhanden, also gegebenenfalls neue Eclipse Version runterladen.
 

Generic1

Top Contributor
So, jetzt hab ich mir Eclipse 3.6 heruntergeladen und bekomme folgenden Fehler wenn ich den Buckmister installieren will:

Code:
Cannot complete the install because of a conflicting dependency.
  Software being installed: Buckminster - Core 1.1.350.r11162 (org.eclipse.buckminster.core.feature.feature.group 1.1.350.r11162)
  Software currently installed: Eclipse SDK 3.6.0.I20100608-0911 (org.eclipse.sdk.ide 3.6.0.I20100608-0911)
  Only one of the following can be installed at once: 
    Equinox Provisioning Artifact Repository Support 1.1.0.v20100513 (org.eclipse.equinox.p2.artifact.repository 1.1.0.v20100513)
    Equinox Provisioning Artifact Repository Support 1.0.101.R35x_v20090721 (org.eclipse.equinox.p2.artifact.repository 1.0.101.R35x_v20090721)
  Cannot satisfy dependency:
    From: Buckminster Core 1.1.350.r10920 (org.eclipse.buckminster.core 1.1.350.r10920)
    To: package org.eclipse.equinox.internal.provisional.p2.artifact.repository 0.0.0
  Cannot satisfy dependency:
    From: Buckminster - Core 1.1.350.r11162 (org.eclipse.buckminster.core.feature.feature.group 1.1.350.r11162)
    To: org.eclipse.buckminster.core [1.1.350.r10920]
  Cannot satisfy dependency:
    From: Equinox p2 Provisioning 2.0.0.v20100503-897HFZ-FdHjO2NQo0sD_Nt (org.eclipse.equinox.p2.user.ui.feature.group 2.0.0.v20100503-897HFZ-FdHjO2NQo0sD_Nt)
    To: org.eclipse.equinox.p2.artifact.repository [1.1.0.v20100513]
  Cannot satisfy dependency:
    From: Eclipse SDK 3.6.0.I20100608-0911 (org.eclipse.sdk.ide 3.6.0.I20100608-0911)
    To: org.eclipse.equinox.p2.user.ui.feature.group [2.0.0.v20100503-897HFZ-FdHjO2NQo0sD_Nt]
was mache ich da falsch?
lg
 

Generic1

Top Contributor
Is leider eine schwere Geburt:
Ich hab jetzt folgenden Link versucht und bekomme folgenden Fehler:

Buckminster - 404 File not found

Code:
Cannot complete the install because one or more required items could not be found.
  Software being installed: Buckminster - Core 1.3.0.r11467 (org.eclipse.buckminster.core.feature.feature.group 1.3.0.r11467)
  Missing requirement: Buckminster - Core 1.3.0.r11467 (org.eclipse.buckminster.core.feature.feature.group 1.3.0.r11467) requires 'org.eclipse.zest.core 0.0.0' but it could not be found

Was mach ich da falsch?
lg
 

Generic1

Top Contributor
Also ich habs jetzt mal so weit geschafft wie unten dargestellt, 2 Sachen hätte ich noch, 1. mir ist es nicht gelungen, dass ich die Abhängigkeiten zwischen den Bundles darstellen kann sondern wie unten nur ein einziges Bundle -> es ist nicht möglich, alle Bundles auf der linken seite zu makieren und dann Buckminster -> Open Dependency Graph - wie könnte ich das machen, dass ich alle 6 Bundles mit den Abhängigkeiten im Dependency Visualizer darstelle?

Und eine 2 Sache noch: wenn ich den Dependency Visualizer Reiter zumache, verabschiedet sich Eclipse als ganzes. (ich arbeite unter UBUNTU)

Besten Dank,
lg

generic1-albums-buckmin-picture121-bildschirmfoto-plug-development-org-osgibook-translation-eclipse-sdk.png
 

Generic1

Top Contributor
Also ich habs jetzt nochmal versucht, habs aber nicht geschafft, ich hab keine Ahnung wie man dem Buckminster sagen kann, dass er alle Plug-in-Projekte im workspace nehmen soll und je nach Abhängigkeit grafisch darstellt.
Wäre nochmal sehr dankbar für Unterstüzung.
lg
 

Wildcard

Top Contributor
Wie sind die Abhängigkeiten denn definiert? Derzeit wird nur require-bundle unterstützt, nicht import package. Wenn du import package verwendest musst du die Information 'nachrüsten' welches Bundle verwendet werden soll um den Package Import aufzulösen. Dazu müsstest du eine CSPEX in deine Bundles legen (ähnlich einer Maven POM).


Und eine 2 Sache noch: wenn ich den Dependency Visualizer Reiter zumache, verabschiedet sich Eclipse als ganzes. (ich arbeite unter UBUNTU)
Verwendest du OpenJDK? Das hat noch so seine Tücken, mit einer SUN VM bist du besser bedient.
 

Generic1

Top Contributor
Besten Dank für die Info, schade dass das mit dem Import-Package nicht funktioniert, ich hab nämlich um die 50 Bundles und hätte gerne die Abhängigkeiten visualisiert.

könntest Du vielleicht noch ein Beispiel geben wie ich so ein CSPEC-File anlegen kann.
Besten Dank,
lg
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
Und eine 2 Sache noch: wenn ich den Dependency Visualizer Reiter zumache, verabschiedet sich Eclipse als ganzes. (ich arbeite unter UBUNTU)
Kann ich reproduzieren mit Ubuntu 64 Bit. Ist allerdings ein VM Crash in libswt, da kann ich nicht viel machen:
Code:
# Problematic frame:
# C  [libswt-pi-gtk-3650.so+0x3c72f]  Java_org_eclipse_swt_internal_gtk_OS__1G_1OBJECT_1TYPE+0x0
Besten Dank für die Info, schade dass das mit dem Import-Package nicht funktioniert, ich hab nämlich um die 50 Bundles und hätte gerne die Abhängigkeiten visualisiert.
Der Buckminster Nachfolger b3 wird import package unterstützen, allerdings dauert das erste produktiv verwendbare Release noch eine Weile.

Wenn du eine homogene OSGi Umgebung hast und es dir nicht ums builden, sondern nur um eine Sicht auf die Dependencies geht, dann brauchst du Buckminster gar nicht. In dem Fall kannst du einfach den PDE Visualizer verwenden.
PDE Incubator Dependency Visualization


könntest Du vielleicht noch ein Beispiel geben wie ich so ein CSPEC-File anlegen kann.
Brauchst du wie gesagt nicht, aber der Vollständigkeit halber:
Rechtsklick aufs Projekt -> New -> Component Specification Extension File
Dann deine Dependencies eintragen:

[XML]<?xml version="1.0" encoding="UTF-8"?>
<cspecExtension
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
<dependencies>
<dependency name="org.eclipse.osgi" componentType="osgi.bundle"/>
<dependency name="org.eclipse.core.runtime" componentType="osgi.bundle"/>
</dependencies>
<generators>
<!-- Place your Generators here -->
</generators>
<artifacts>
<!-- Place your Artifacts here -->
</artifacts>
<actions>
<!-- Place your Actions here -->
</actions>
<groups>
<!-- Place your Groups here -->
</groups>
<alterDependencies>
<!-- Place your Dependency alterations here -->
</alterDependencies>
<alterArtifacts>
<!-- Place your Artifact alterations here -->
</alterArtifacts>
<alterActions>
<!-- Place your Action alterations here -->
</alterActions>
<alterGroups>
<!-- Place your Group alterations here -->
</alterGroups>
</cspecExtension>[/XML]
 

Generic1

Top Contributor
Also irgendwie bekomm ichs nicht hin, ich hab den PDE zwar installiert aber ich weiß nicht wie ich da einen Graph bzgl. der Bundles erzeugen kann.
Kann mir vielleicht jemand schreiben, wie man das macht.
Besten Dank,
lg
 

Ähnliche Java Themen

Neue Themen


Oben