Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[nebula-dev] Fwd: Build failed in Hudson: nebula.incubation #325

Wim,

All the errors seems to be due to missing JFace classes. There's an optional dependency on JFace, isn't JFace present when building? Or is there an error with the dependency?

Hallvard

-------- Original Message --------
Subject: Build failed in Hudson: nebula.incubation #325
Date: Tue, 5 Jun 2012 17:08:03 -0400 (EDT)
From: hudsonbuild@xxxxxxxxxxx
To: nebula-dev@xxxxxxxxxxx, hal@xxxxxxxxxxx, martybjones@xxxxxxxxx, mistria@xxxxxxxxxx, wim.jongman@xxxxxxxxxxxxxxxxxx, tom.schindl@xxxxxxxxxxxxxxx, angelo.zerr@xxxxxxxxx, donald.g.dunne@xxxxxxxxxx

See <https://hudson.eclipse.org/hudson/job/nebula.incubation/325/changes>

Changes:

[Hallvard Traetteberg] Changed releng projects according to message from Mickael Istria

[Hallvard Traetteberg] Changed the example and snippets version numbers to 0.1.0.

[Hallvard Traetteberg] Removed source plugin and cwt dependency (cut'n paste error).

------------------------------------------
[...truncated 1604 lines...]
[ERROR] ^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 101):[-1,-1]
[ERROR] super.handleDispose(event);
[ERROR] ^^^^^
[ERROR] ContentViewer cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 105):[-1,-1] [ERROR] protected void handleLabelProviderChanged(LabelProviderChangedEvent event) {
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] LabelProviderChangedEvent cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 133):[-1,-1]
[ERROR] IContentProvider contentProvider = getContentProvider();
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] IContentProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 133):[-1,-1]
[ERROR] IContentProvider contentProvider = getContentProvider();
[ERROR] ^^^^^^^^^^^^^^^^^^
[ERROR] The method getContentProvider() is undefined for the type GeoMapViewer
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 134):[-1,-1] [ERROR] return contentProvider instanceof IStructuredContentProvider ? ((IStructuredContentProvider) contentProvider).getElements(getInput()) : null;
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] IStructuredContentProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 134):[-1,-1] [ERROR] return contentProvider instanceof IStructuredContentProvider ? ((IStructuredContentProvider) contentProvider).getElements(getInput()) : null;
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] IStructuredContentProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 134):[-1,-1] [ERROR] return contentProvider instanceof IStructuredContentProvider ? ((IStructuredContentProvider) contentProvider).getElements(getInput()) : null;
[ERROR] ^^^^^^^^
[ERROR] The method getInput() is undefined for the type GeoMapViewer
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 177):[-1,-1]
[ERROR] IBaseLabelProvider labelProvider = getLabelProvider();
[ERROR] ^^^^^^^^^^^^^^^^^^
[ERROR] IBaseLabelProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 177):[-1,-1]
[ERROR] IBaseLabelProvider labelProvider = getLabelProvider();
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] The method getLabelProvider() is undefined for the type GeoMapViewer
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 179):[-1,-1]
[ERROR] if (labelProvider instanceof ILabelProvider) {
[ERROR] ^^^^^^^^^^^^^^
[ERROR] ILabelProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 181):[-1,-1]
[ERROR] String text = ((ILabelProvider) labelProvider).getText(element);
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] ILabelProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 181):[-1,-1]
[ERROR] String text = ((ILabelProvider) labelProvider).getText(element);
[ERROR] ^^^^^^^^^^^^^^
[ERROR] ILabelProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 182):[-1,-1]
[ERROR] image = ((ILabelProvider) labelProvider).getImage(element);
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] ILabelProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 182):[-1,-1]
[ERROR] image = ((ILabelProvider) labelProvider).getImage(element);
[ERROR] ^^^^^^^^^^^^^^
[ERROR] ILabelProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 243):[-1,-1]
[ERROR] public Control getControl() {
[ERROR] ^^^^^^^^^^^^
[ERROR] The method getControl() of type GeoMapViewer must override a superclass method
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 256):[-1,-1]
[ERROR] public ISelection getSelection() {
[ERROR] ^^^^^^^^^^
[ERROR] ISelection cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 256):[-1,-1]
[ERROR] public ISelection getSelection() {
[ERROR] ^^^^^^^^^^^^^^
[ERROR] The method getSelection() of type GeoMapViewer must override a superclass method
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 257):[-1,-1] [ERROR] return (selection != null ? new StructuredSelection(selection) : StructuredSelection.EMPTY);
[ERROR] ^^^^^^^^^^^^^^^^^^^
[ERROR] StructuredSelection cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 257):[-1,-1] [ERROR] return (selection != null ? new StructuredSelection(selection) : StructuredSelection.EMPTY);
[ERROR] ^^^^^^^^^^^^^^^^^^^
[ERROR] StructuredSelection cannot be resolved to a variable
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 261):[-1,-1]
[ERROR] public void refresh() {
[ERROR] ^^^^^^^^^
[ERROR] The method refresh() of type GeoMapViewer must override a superclass method
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 266):[-1,-1]
[ERROR] public void setSelection(ISelection selection, boolean reveal) {
[ERROR] ^^^^^^^^^^
[ERROR] ISelection cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 267):[-1,-1] [ERROR] setSelection(selection instanceof IStructuredSelection ? ((IStructuredSelection) selection).getFirstElement() : null);
[ERROR] ^^^^^^^^^^^^^^^^^^^^
[ERROR] IStructuredSelection cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 267):[-1,-1] [ERROR] setSelection(selection instanceof IStructuredSelection ? ((IStructuredSelection) selection).getFirstElement() : null);
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] IStructuredSelection cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 267):[-1,-1] [ERROR] setSelection(selection instanceof IStructuredSelection ? ((IStructuredSelection) selection).getFirstElement() : null);
[ERROR] ^^^^^^^^^^^^^^^^^^^^
[ERROR] IStructuredSelection cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 286):[-1,-1] [ERROR] zoomTo(((IStructuredContentProvider) getContentProvider()).getElements(getInput()));
[ERROR] ^^^^^^^^^^^^^^^^^^^^^^^^^^
[ERROR] IStructuredContentProvider cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 286):[-1,-1] [ERROR] zoomTo(((IStructuredContentProvider) getContentProvider()).getElements(getInput()));
[ERROR] ^^^^^^^^^^^^^^^^^^
[ERROR] The method getContentProvider() is undefined for the type GeoMapViewer
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 286):[-1,-1] [ERROR] zoomTo(((IStructuredContentProvider) getContentProvider()).getElements(getInput()));
[ERROR] ^^^^^^^^
[ERROR] The method getInput() is undefined for the type GeoMapViewer
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 311):[-1,-1]
[ERROR] private ToolTip toolTip, lastToolTip;
[ERROR] ^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 313):[-1,-1]
[ERROR] public ToolTip getToolTip() {
[ERROR] ^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 314):[-1,-1]
[ERROR] if (toolTip == null) {
[ERROR] ^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 315):[-1,-1]
[ERROR] toolTip = new DefaultToolTip(getControl());
[ERROR] ^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 315):[-1,-1]
[ERROR] toolTip = new DefaultToolTip(getControl());
[ERROR] ^^^^^^^^^^^^^^
[ERROR] DefaultToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 317):[-1,-1]
[ERROR] return toolTip;
[ERROR] ^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 393):[-1,-1]
[ERROR] if (getLabelProvider() instanceof IToolTipProvider) {
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] The method getLabelProvider() is undefined for the type GeoMapViewer
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 396):[-1,-1] [ERROR] Object toolTip = ((IToolTipProvider) getLabelProvider()).getToolTip(element);
[ERROR] ^^^^^^^^^^^^^^^^
[ERROR] The method getLabelProvider() is undefined for the type GeoMapViewer
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 398):[-1,-1]
[ERROR] if (getToolTip() instanceof DefaultToolTip) {
[ERROR] ^^^^^^^^^^
[ERROR] The method getToolTip() from the type GeoMapViewer refers to the missing type ToolTip
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 398):[-1,-1]
[ERROR] if (getToolTip() instanceof DefaultToolTip) {
[ERROR] ^^^^^^^^^^^^^^
[ERROR] DefaultToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 399):[-1,-1]
[ERROR] DefaultToolTip defaultToolTip = (DefaultToolTip) getToolTip();
[ERROR] ^^^^^^^^^^^^^^
[ERROR] DefaultToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 399):[-1,-1]
[ERROR] DefaultToolTip defaultToolTip = (DefaultToolTip) getToolTip();
[ERROR] ^^^^^^^^^^^^^^
[ERROR] DefaultToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 399):[-1,-1]
[ERROR] DefaultToolTip defaultToolTip = (DefaultToolTip) getToolTip();
[ERROR] ^^^^^^^^^^
[ERROR] The method getToolTip() from the type GeoMapViewer refers to the missing type ToolTip
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 404):[-1,-1]
[ERROR] if (lastToolTip != toolTip) {
[ERROR] ^^^^^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 405):[-1,-1]
[ERROR] if (lastToolTip != null) {
[ERROR] ^^^^^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 406):[-1,-1]
[ERROR] lastToolTip.deactivate();
[ERROR] ^^^^^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 408):[-1,-1]
[ERROR] lastToolTip = (ToolTip) toolTip;
[ERROR] ^^^^^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 408):[-1,-1]
[ERROR] lastToolTip = (ToolTip) toolTip;
[ERROR] ^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 409):[-1,-1]
[ERROR] if (lastToolTip != null) {
[ERROR] ^^^^^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR]
[ERROR] <https://hudson.eclipse.org/hudson/job/nebula.incubation/ws/widgets/geomap/org.eclipse.nebula.widgets.geomap/src/org/eclipse/nebula/widgets/geomap/jface/GeoMapViewer.java> (at line 410):[-1,-1]
[ERROR] lastToolTip.activate();
[ERROR] ^^^^^^^^^^^
[ERROR] ToolTip cannot be resolved to a type
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles: [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :org.eclipse.nebula.widgets.geomap
Terminating xvnc.
Recording test results



Back to the top