Index: src/org/jboss/tools/usage/internal/reporting/UsageReportDispatcher.java
===================================================================
--- src/org/jboss/tools/usage/internal/reporting/UsageReportDispatcher.java	(revision 42352)
+++ src/org/jboss/tools/usage/internal/reporting/UsageReportDispatcher.java	(working copy)
@@ -10,10 +10,12 @@
  ******************************************************************************/
 package org.jboss.tools.usage.internal.reporting;
 
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.ui.IStartup;
+import org.jboss.tools.usage.installation.CompatibilityChecker;
 import org.jboss.tools.usage.internal.JBossToolsUsageActivator;
-import org.jboss.tools.usage.tracker.internal.UsagePluginLogger;
 
 /**
  * @author Andre Dieitsheim
@@ -26,10 +28,13 @@
 			public void run() {
 				try {
 					new UsageReport().report();
+					new CompatibilityChecker().check();
 				} catch (Exception e) {
-					new UsagePluginLogger(JBossToolsUsageActivator.getDefault()).error("could not start usage reporting");
+					IStatus status = new Status(IStatus.ERROR, JBossToolsUsageActivator.PLUGIN_ID, 0, "could not start usage reporting", e);
+					JBossToolsUsageActivator.getDefault().getLog().log(status);
+//					new UsagePluginLogger(JBossToolsUsageActivator.getDefault()).error("could not start usage reporting");
 				}
 			}
 		});
 	}
-}
+}
\ No newline at end of file
Index: src/org/jboss/tools/usage/internal/preferences/IUsageReportPreferenceConstants.java
===================================================================
--- src/org/jboss/tools/usage/internal/preferences/IUsageReportPreferenceConstants.java	(revision 42352)
+++ src/org/jboss/tools/usage/internal/preferences/IUsageReportPreferenceConstants.java	(working copy)
@@ -31,6 +31,11 @@
 	public static final String ASK_USER_USAGEREPORT_ID = "ask_user_for_usage_report_preference"; //$NON-NLS-1$
 
 	/**
+	 * The identifier to be used for the value that determines if eclipse version should be checked
+	 */
+	public static final String ECLIPSE_VERSION_CHECKING_ID = "eclipse_version_checking_preference"; //$NON-NLS-1$
+
+	/**
 	 * The identifier to be used for the value that determines this eclipse
 	 * instance.
 	 */
Index: src/org/jboss/tools/usage/internal/preferences/UsageReportPreferences.java
===================================================================
--- src/org/jboss/tools/usage/internal/preferences/UsageReportPreferences.java	(revision 42352)
+++ src/org/jboss/tools/usage/internal/preferences/UsageReportPreferences.java	(working copy)
@@ -54,6 +54,17 @@
 	}
 
 	/**
+	 * Returns <code>true</code> if eclipse version checking is set in the
+	 * preferences. Returns <code>false</code> otherwise.
+	 * 
+	 * @return
+	 */
+	public static boolean isEclipseVersionCheckingEnabled() {
+		return UsageReportPreferencesUtils.getPreferences().getBoolean(
+				IUsageReportPreferenceConstants.ECLIPSE_VERSION_CHECKING_ID, true);
+	}
+
+	/**
 	 * Returns <code>true</code> if usage reporting is enabled
 	 * 
 	 * @return true, if is enabled
@@ -111,6 +122,17 @@
 	}
 
 	/**
+	 * Sets the ask user.
+	 * 
+	 * @param askUser
+	 *            the new ask user
+	 */
+	public static void setEclipseVerionChecking(boolean askUser) {
+		UsageReportPreferencesUtils.getStore().putValue(IUsageReportPreferenceConstants.ECLIPSE_VERSION_CHECKING_ID, String.valueOf(askUser));
+		save();
+	}
+
+	/**
 	 * Save.
 	 */
 	private static void save() {
Index: src/org/jboss/tools/usage/installation/CompatibilityChecker.java
===================================================================
--- src/org/jboss/tools/usage/installation/CompatibilityChecker.java	(revision 0)
+++ src/org/jboss/tools/usage/installation/CompatibilityChecker.java	(revision 0)
@@ -0,0 +1,105 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.usage.installation;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Platform;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.PlatformUI;
+import org.jboss.tools.usage.internal.JBossToolsUsageActivator;
+import org.jboss.tools.usage.internal.preferences.UsageReportPreferences;
+import org.osgi.framework.Bundle;
+import org.osgi.framework.Version;
+
+/**
+ * @author Alexey Kazakov
+ *
+ */
+public class CompatibilityChecker {
+
+	private static final String SYSTEM_ENABLED_KEY = "eclipse_version_checking_enabled"; //$NON-NLS-1$
+
+	public void check() {
+		new CheckingJob(isCheckingEnabled() && UsageReportPreferences.isEclipseVersionCheckingEnabled()).schedule();
+	}
+
+	private boolean isEclipseOutOfDate() {
+		return isPluginOutOfDate("org.eclipse.jdt", 3, 7, 2);
+	}
+
+	private boolean isWTPOfDate() {
+		return isPluginOutOfDate("org.eclipse.jst.j2ee.core", 1, 2, 102);
+	}
+
+	private boolean isPluginOutOfDate(String pluginId, int major, int minor, int micro) {
+		Bundle plugin = Platform.getBundle(pluginId);
+		if(plugin!=null) {
+			Version version = plugin.getVersion();
+			return version.compareTo(new Version(major, minor, micro)) < 0;
+		}
+		return false;
+	}
+
+	private void askUser() {
+		Display.getDefault().syncExec(new Runnable() {
+			public void run() {
+				Shell shell = PlatformUI.getWorkbench().getModalDialogShellProvider().getShell();
+				EclipseVersionDialog dialog = new EclipseVersionDialog(shell);
+				dialog.open();
+			}
+		});
+	}
+
+	/**
+	 * Returns <code>true</code> if checking is enabled in system settings.
+	 * 
+	 * @return
+	 */
+	private boolean isCheckingEnabled() {
+		return Boolean.valueOf(System.getProperty(SYSTEM_ENABLED_KEY, "true"));
+	}
+
+	private class CheckingJob extends Job {
+		private boolean showDialog;
+
+		private CheckingJob(boolean showDialog) {
+			super(CompatibilityMessages.CheckingJob);
+			this.showDialog = showDialog;
+		}
+
+		@Override
+		protected IStatus run(IProgressMonitor monitor) {
+			if (monitor.isCanceled()) {
+				return Status.CANCEL_STATUS;
+			}
+			monitor.beginTask(CompatibilityMessages.CheckingJob, 1);
+			if (monitor.isCanceled()) {
+				return Status.CANCEL_STATUS;
+			}
+			if (isEclipseOutOfDate() || isWTPOfDate()) {
+				if (monitor.isCanceled()) {
+					return Status.CANCEL_STATUS;
+				}
+				IStatus status = new Status(IStatus.WARNING, JBossToolsUsageActivator.PLUGIN_ID, CompatibilityMessages.CompatibilityCheckerEclipseLogWarningMessage);
+				JBossToolsUsageActivator.getDefault().getLog().log(status);
+				if(showDialog) {
+					askUser();
+				}
+			}
+			monitor.done();
+			return Status.OK_STATUS;
+		}
+	}
+}
\ No newline at end of file
Index: src/org/jboss/tools/usage/installation/CompatibilityMessages.java
===================================================================
--- src/org/jboss/tools/usage/installation/CompatibilityMessages.java	(revision 0)
+++ src/org/jboss/tools/usage/installation/CompatibilityMessages.java	(revision 0)
@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.usage.installation;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class CompatibilityMessages extends NLS {
+	private static final String BUNDLE_NAME = "org.jboss.tools.usage.installation.messages"; //$NON-NLS-1$
+
+	public static String CompatibilityCheckerDialogWarningMessage;
+	public static String CompatibilityCheckerEclipseLogWarningMessage;
+	public static String DoNotShowAgain;
+	public static String CheckingJob;
+
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, CompatibilityMessages.class);
+	}
+
+	private CompatibilityMessages() {
+	}
+}
\ No newline at end of file
Index: src/org/jboss/tools/usage/installation/EclipseVersionDialog.java
===================================================================
--- src/org/jboss/tools/usage/installation/EclipseVersionDialog.java	(revision 0)
+++ src/org/jboss/tools/usage/installation/EclipseVersionDialog.java	(revision 0)
@@ -0,0 +1,125 @@
+/*******************************************************************************
+ * Copyright (c) 2012 Red Hat, Inc.
+ * Distributed under license by Red Hat, Inc. All rights reserved.
+ * This program is made available under the terms of the
+ * Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     Red Hat, Inc. - initial API and implementation
+ ******************************************************************************/
+package org.jboss.tools.usage.installation;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.jface.dialogs.IDialogConstants;
+import org.eclipse.jface.layout.GridDataFactory;
+import org.eclipse.jface.window.IShellProvider;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Link;
+import org.eclipse.swt.widgets.Shell;
+import org.jboss.tools.usage.internal.JBossToolsUsageActivator;
+import org.jboss.tools.usage.internal.preferences.UsageReportPreferences;
+import org.jboss.tools.usage.util.BrowserUtil;
+
+/**
+ * @author Alexey Kazakov
+ */
+public class EclipseVersionDialog extends Dialog {
+
+	private Button doNotShowAgainButton;
+
+	public EclipseVersionDialog(IShellProvider parentShell) {
+		super(parentShell);
+	}
+	
+	public EclipseVersionDialog(Shell parentShell) {
+		super(parentShell);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.jface.dialogs.Dialog#createButtonsForButtonBar(org.eclipse.swt.widgets.Composite)
+	 */
+	@Override
+	protected void createButtonsForButtonBar(Composite parent) {
+		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
+		getButton(IDialogConstants.OK_ID).setFocus();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.jface.dialogs.Dialog#okPressed()
+	 */
+	@Override
+	protected void okPressed() {
+		if(doNotShowAgainButton.getSelection()) {
+			UsageReportPreferences.setEclipseVerionChecking(false);
+		}
+		super.okPressed();
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite)
+	 */
+	@Override
+	protected Control createDialogArea(Composite parent) {
+		Composite composite = (Composite) super.createDialogArea(parent);
+		createWidgets(parent, composite);
+		applyDialogFont(composite);
+
+		return composite;
+	}
+
+	private void createWidgets(Composite parent, Composite composite) {
+		Link link = new Link(composite, SWT.WRAP);
+		link.setFont(parent.getFont());
+
+		link.setText(CompatibilityMessages.CompatibilityCheckerDialogWarningMessage);
+		link.addSelectionListener(new SelectionAdapter() {
+			@Override
+			public void widgetSelected(SelectionEvent e) {
+				BrowserUtil.checkedCreateExternalBrowser(
+							e.text,
+							JBossToolsUsageActivator.PLUGIN_ID,
+							JBossToolsUsageActivator.getDefault().getLog());
+			}
+		});
+		GridDataFactory.fillDefaults()
+					.align(SWT.FILL, SWT.CENTER)
+					.grab(true, false)
+					.hint(500, SWT.DEFAULT)
+					.applyTo(link);
+
+		doNotShowAgainButton = new Button(composite, SWT.CHECK);
+		doNotShowAgainButton.setSelection(false);
+		doNotShowAgainButton.setText(CompatibilityMessages.DoNotShowAgain);
+		GridData data = new GridData(GridData.FILL_HORIZONTAL);
+		data.horizontalSpan = 2;
+		doNotShowAgainButton.setLayoutData(data);
+
+		// create a composite with standard margins and spacing
+		Composite comp = new Composite(parent, SWT.NONE);
+		comp.setLayout(createLayout());
+		GridData childData = new GridData(GridData.FILL_BOTH);
+		childData.horizontalSpan = 2;
+		comp.setLayoutData(childData);
+		comp.setFont(parent.getFont());
+	}
+
+	private GridLayout createLayout() {
+		GridLayout gl = new GridLayout(2, false);
+		gl.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
+		gl.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
+		gl.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
+		gl.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
+		return gl;
+	}
+}
\ No newline at end of file
Index: src/org/jboss/tools/usage/installation/messages.properties
===================================================================
--- src/org/jboss/tools/usage/installation/messages.properties	(revision 0)
+++ src/org/jboss/tools/usage/installation/messages.properties	(revision 0)
@@ -0,0 +1,4 @@
+CompatibilityCheckerDialogWarningMessage=Your current version of Eclipse and Web Tools are not compatible with this version of JBoss Tools. Please upgrade your installation to Eclipse 3.7.2 and Web Tools 3.3.2 (<a href="http://jboss.org/tools">more info</a>). You could alternatively install a fresh <a href="http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/indigosr2">Eclipse Indigo SR2</a> bundle, then install JBoss Tools.
+CompatibilityCheckerEclipseLogWarningMessage=The current version of Eclipse and Web Tools are not compatible with this version of JBoss Tools. Please upgrade your installation to Eclipse 3.7.2 and Web Tools 3.3.2.
+DoNotShowAgain=Do not show this dialog again
+CheckingJob=Checking Eclipse and WTP versions
\ No newline at end of file
