diff --git a/.project b/.project
new file mode 100644
index 0000000..ca46730
--- /dev/null
+++ b/.project
@@ -0,0 +1,67 @@
+
+
+ scviewer.parent
+
+
+
+
+
+
+
+
+
+ 1591076960924
+
+ 10
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-features
+
+
+
+ 1591076960932
+
+ 10
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-plugins
+
+
+
+ 1591076960936
+
+ 10
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-com.minres.*
+
+
+
+ 1591076960939
+
+ 10
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-product
+
+
+
+ 1591076960950
+
+ 10
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-tests
+
+
+
+ 1591076960954
+
+ 10
+
+ org.eclipse.ui.ide.multiFilter
+ 1.0-name-matches-false-false-p2repositories
+
+
+
+
diff --git a/com.minres.scviewer.database.test/inputs/.gitignore b/com.minres.scviewer.database.test/inputs/.gitignore
deleted file mode 100644
index e89429b..0000000
--- a/com.minres.scviewer.database.test/inputs/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/.scviewer.*
-/.my_db.txlog*
\ No newline at end of file
diff --git a/com.minres.scviewer.e4.product/pom.xml b/com.minres.scviewer.e4.product/pom.xml
index f87674d..99973ca 100644
--- a/com.minres.scviewer.e4.product/pom.xml
+++ b/com.minres.scviewer.e4.product/pom.xml
@@ -7,7 +7,7 @@
com.minres.scviewer
com.minres.scviewer.parent
2.0.0-SNAPSHOT
- ../com.minres.scviewer.parent
+ ..
com.minres.scviewer.e4.product
2.6.0-SNAPSHOT
diff --git a/com.minres.scviewer.parent/.gitignore b/com.minres.scviewer.parent/.gitignore
deleted file mode 100644
index 9e440c0..0000000
--- a/com.minres.scviewer.parent/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/workspace/
diff --git a/com.minres.scviewer.target/com.minres.scviewer.target.target b/com.minres.scviewer.target/com.minres.scviewer.target.target
index c2d147a..5242f57 100644
--- a/com.minres.scviewer.target/com.minres.scviewer.target.target
+++ b/com.minres.scviewer.target/com.minres.scviewer.target.target
@@ -3,7 +3,7 @@
-
+
@@ -12,11 +12,11 @@
-
+
-
+
diff --git a/com.minres.scviewer.target/pom.xml b/com.minres.scviewer.target/pom.xml
index 459e328..d28de3c 100644
--- a/com.minres.scviewer.target/pom.xml
+++ b/com.minres.scviewer.target/pom.xml
@@ -13,7 +13,7 @@
com.minres.scviewer
com.minres.scviewer.parent
2.0.0-SNAPSHOT
- ../com.minres.scviewer.parent
+ ..
-
\ No newline at end of file
+
diff --git a/com.minres.scviewer.updateSite/.settings/org.eclipse.m2e.core.prefs b/com.minres.scviewer.updateSite/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f..0000000
--- a/com.minres.scviewer.updateSite/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/com.opcoach.e4.preferences/src/com/opcoach/e4/preferences/internal/E4PreferenceRegistry.java b/com.opcoach.e4.preferences/src/com/opcoach/e4/preferences/internal/E4PreferenceRegistry.java
deleted file mode 100644
index de4baf8..0000000
--- a/com.opcoach.e4.preferences/src/com/opcoach/e4/preferences/internal/E4PreferenceRegistry.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2014 OPCoach.
- * All rights reserved. This program and the accompanying materials
- * are 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:
- * OPCoach - initial API and implementation
- *******************************************************************************/
-package com.opcoach.e4.preferences.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.inject.Inject;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.core.runtime.IExtensionRegistry;
-import org.eclipse.core.runtime.preferences.InstanceScope;
-import org.eclipse.e4.core.contexts.ContextInjectionFactory;
-import org.eclipse.e4.core.contexts.IEclipseContext;
-import org.eclipse.e4.core.di.annotations.Creatable;
-import org.eclipse.e4.core.services.contributions.IContributionFactory;
-import org.eclipse.e4.core.services.log.Logger;
-import org.eclipse.jface.preference.IPreferenceNode;
-import org.eclipse.jface.preference.IPreferenceStore;
-import org.eclipse.jface.preference.PreferenceManager;
-import org.eclipse.jface.preference.PreferenceNode;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-
-import com.opcoach.e4.preferences.IPreferenceStoreProvider;
-import com.opcoach.e4.preferences.ScopedPreferenceStore;
-
-@SuppressWarnings("restriction")
-@Creatable
-public class E4PreferenceRegistry
-{
-
- public static final String PREFS_PAGE_XP = "com.opcoach.e4.preferences.e4PreferencePages"; // $NON-NLS-1$
- public static final String PREF_STORE_PROVIDER = "com.opcoach.e4.preferences.e4PreferenceStoreProvider"; // $NON-NLS-1$
- public static final String KEY_PREF_STORE_PROVIDERS = "com.opcoach.e4.preferences.e4PreferenceStoreProviders"; // $NON-NLS-1$
- protected static final String ELMT_PAGE = "page"; // $NON-NLS-1$
- protected static final String ATTR_ID = "id"; // $NON-NLS-1$
- protected static final String ATTR_CATEGORY = "category"; // $NON-NLS-1$
- protected static final String ATTR_CLASS = "class"; // $NON-NLS-1$
- protected static final String ATTR_NAME = "name"; // $NON-NLS-1$
-
- protected static final String ATTR_PLUGIN_ID = "pluginId"; // $NON-NLS-1$
- protected static final String ATTR_ID_IN_WBCONTEXT = "idInWorkbenchContext"; // $NON-NLS-1$
-
- @Inject
- protected Logger logger;
-
- @Inject
- protected IEclipseContext context;
-
- @Inject
- protected IExtensionRegistry registry;
-
- private PreferenceManager pm = null;
-
- // A map of (pluginId, { IPreferenceStoreProvider, or key in wbcontext }
- private Map psProviders;
-
- public PreferenceManager getPreferenceManager()
- {
-
- // Remember of the unbounded nodes to order parent pages.
- // Map (all nodes except root nodes)
- Map> childrenNodes = new HashMap>();
-
- if (pm != null)
- return pm;
-
- pm = new PreferenceManager();
- IContributionFactory factory = context.get(IContributionFactory.class);
-
- for (IConfigurationElement elmt : registry.getConfigurationElementsFor(PREFS_PAGE_XP))
- {
- String bundleId = elmt.getNamespaceIdentifier();
- if (!elmt.getName().equals(ELMT_PAGE))
- {
- logger.warn("unexpected element: {0}", elmt.getName());
- continue;
- } else if (isEmpty(elmt.getAttribute(ATTR_ID)) || isEmpty(elmt.getAttribute(ATTR_NAME)))
- {
- logger.warn("missing id and/or name: {}", bundleId);
- continue;
- }
- PreferenceNode pn = null;
- if (elmt.getAttribute(ATTR_CLASS) != null)
- {
- PreferencePage page = null;
- try
- {
- String prefPageURI = getClassURI(bundleId, elmt.getAttribute(ATTR_CLASS));
- Object object = factory.create(prefPageURI, context);
- if (!(object instanceof PreferencePage))
- {
- logger.error("Expected instance of PreferencePage: {0}", elmt.getAttribute(ATTR_CLASS));
- continue;
- }
- page = (PreferencePage) object;
- setPreferenceStore(bundleId, page);
-
- } catch (ClassNotFoundException e)
- {
- logger.error(e);
- continue;
- }
- ContextInjectionFactory.inject(page, context);
- if ((page.getTitle() == null || page.getTitle().isEmpty()) && elmt.getAttribute(ATTR_NAME) != null)
- {
- page.setTitle(elmt.getAttribute(ATTR_NAME));
- }
-
- pn = new PreferenceNode(elmt.getAttribute(ATTR_ID), page);
- } else
- {
- pn = new PreferenceNode(elmt.getAttribute(ATTR_ID), new EmptyPreferencePage(elmt.getAttribute(ATTR_NAME)));
- }
-
- // Issue 2 : Fix bug on order (see :
- // https://github.com/opcoach/e4Preferences/issues/2)
- // Add only pages at root level and remember of child pages for
- // categories
- String category = elmt.getAttribute(ATTR_CATEGORY);
- if (isEmpty(category))
- {
- pm.addToRoot(pn);
- } else
- {
- /*
- * IPreferenceNode parent = findNode(pm, category); if (parent
- * == null) { // No parent found, but may be the extension has
- * not been read yet. So remember of it unboundedNodes.put(pn,
- * category); } else { parent.add(pn); }
- */
- // Check if this category is already registered.
- Collection children = childrenNodes.get(category);
- if (children == null)
- {
- children = new ArrayList();
- childrenNodes.put(category, children);
- }
- children.add(pn);
- }
- }
-
- // Must now bind pages that has not been added in nodes (depends on the
- // preference page read order)
- // Iterate on all possible categories
- Collection categoriesDone = new ArrayList();
-
- while (!childrenNodes.isEmpty())
- {
- for (String cat : Collections.unmodifiableSet(childrenNodes.keySet()))
- {
- // Is this category already in preference manager ? If not add
- // it later...
- IPreferenceNode parent = findNode(pm, cat);
- if (parent != null)
- {
- // Can add the list of children to this parent page...
- for (IPreferenceNode pn : childrenNodes.get(cat))
- {
- parent.add(pn);
- }
- // Ok This parent page is done. Can remove it from map
- // outside of this loop
- categoriesDone.add(cat);
- }
- }
-
- for (String keyToRemove : categoriesDone)
- childrenNodes.remove(keyToRemove);
- categoriesDone.clear();
-
- }
-
- return pm;
- }
-
- private void setPreferenceStore(String bundleId, PreferencePage page)
- {
- // Affect preference store to this page if this is a
- // PreferencePage, else, must manage it internally
- // Set the issue#1 on github :
- // https://github.com/opcoach/e4Preferences/issues/1
- // And manage the extensions of IP
- initialisePreferenceStoreProviders();
-
- IPreferenceStore store = null;
-
- // Get the preference store according to policy.
- Object data = psProviders.get(bundleId);
- if (data != null)
- {
- if (data instanceof IPreferenceStore)
- store = (IPreferenceStore) data;
- else if (data instanceof IPreferenceStoreProvider)
- store = ((IPreferenceStoreProvider) data).getPreferenceStore();
- else if (data instanceof String)
- store = (IPreferenceStore) context.get((String) data);
-
- } else
- {
- // Default behavior : create a preference store for this bundle and remember of it
- store = new ScopedPreferenceStore(InstanceScope.INSTANCE, bundleId);
- psProviders.put(bundleId, store);
- }
-
-
- if (store != null)
- page.setPreferenceStore(store);
- else
- {
- logger.warn("Unable to set the preferenceStore for page " + page.getTitle() + " defined in bundle " + bundleId);
- }
-
- }
-
- /** Read the e4PreferenceStoreProvider extension point */
- private void initialisePreferenceStoreProviders()
- {
- if (psProviders == null)
- {
- IContributionFactory factory = context.get(IContributionFactory.class);
-
- psProviders = new HashMap();
- IExtensionRegistry registry = context.get(IExtensionRegistry.class);
-
- // Read extensions and fill the map...
- for (IConfigurationElement elmt : registry.getConfigurationElementsFor(PREF_STORE_PROVIDER))
- {
- String declaringBundle = elmt.getNamespaceIdentifier();
- String pluginId = elmt.getAttribute(ATTR_PLUGIN_ID);
- if (isEmpty(pluginId))
- {
- logger.warn("missing plugin Id in extension " + PREF_STORE_PROVIDER + " check the plugin " + declaringBundle);
- continue;
- }
-
- String classname = elmt.getAttribute(ATTR_CLASS);
- String objectId = elmt.getAttribute(ATTR_ID_IN_WBCONTEXT);
-
- if ((isEmpty(classname) && isEmpty(objectId)) || (((classname != null) && classname.length() > 0) && ((objectId != null) && objectId.length() > 0)))
- {
- logger.warn("In extension " + PREF_STORE_PROVIDER + " only one of the two attributes (pluginId or idInWorkbenchContext) must be set. Check the plugin "
- + declaringBundle);
- continue;
- }
-
- // Ok can now work with data...
- Object data = objectId;
- if (classname != null)
- {
- data = factory.create("bundleclass://"+declaringBundle+"/"+classname, context);
- if (!(data instanceof IPreferenceStoreProvider))
- {
- logger.warn("In extension " + PREF_STORE_PROVIDER + " the class must implements IPreferenceStoreProvider. Check the plugin " + declaringBundle);
- continue;
- }
- }
-
- psProviders.put(pluginId, data);
-
- }
-
- context.set(KEY_PREF_STORE_PROVIDERS, psProviders);
- }
- }
-
- private IPreferenceNode findNode(PreferenceManager pm, String categoryId)
- {
- for (Object o : pm.getElements(PreferenceManager.POST_ORDER))
- {
- if (o instanceof IPreferenceNode && ((IPreferenceNode) o).getId().equals(categoryId))
- {
- return (IPreferenceNode) o;
- }
- }
- return null;
- }
-
- private String getClassURI(String definingBundleId, String spec) throws ClassNotFoundException
- {
- if (spec.startsWith("platform:"))
- {
- return spec;
- } // $NON-NLS-1$
- return "bundleclass://" + definingBundleId + '/' + spec;
- }
-
- private boolean isEmpty(String value)
- {
- return value == null || value.trim().isEmpty();
- }
-
- static class EmptyPreferencePage extends PreferencePage
- {
-
- public EmptyPreferencePage(String title)
- {
- setTitle(title);
- noDefaultAndApplyButton();
- }
-
- @Override
- protected Control createContents(Composite parent)
- {
- return new Label(parent, SWT.NONE);
- }
-
- }
-
-}
diff --git a/com.minres.scviewer.feature/.gitignore b/features/com.minres.scviewer.database.feature/.gitignore
similarity index 100%
rename from com.minres.scviewer.feature/.gitignore
rename to features/com.minres.scviewer.database.feature/.gitignore
diff --git a/features/com.minres.scviewer.database.feature/.project b/features/com.minres.scviewer.database.feature/.project
new file mode 100644
index 0000000..8925c4a
--- /dev/null
+++ b/features/com.minres.scviewer.database.feature/.project
@@ -0,0 +1,23 @@
+
+
+ com.minres.scviewer.database.feature
+
+
+
+
+
+ org.eclipse.pde.FeatureBuilder
+
+
+
+
+ org.eclipse.m2e.core.maven2Builder
+
+
+
+
+
+ org.eclipse.m2e.core.maven2Nature
+ org.eclipse.pde.FeatureNature
+
+
diff --git a/com.minres.scviewer.feature/build.properties b/features/com.minres.scviewer.database.feature/build.properties
similarity index 100%
rename from com.minres.scviewer.feature/build.properties
rename to features/com.minres.scviewer.database.feature/build.properties
diff --git a/features/com.minres.scviewer.database.feature/feature.properties b/features/com.minres.scviewer.database.feature/feature.properties
new file mode 100644
index 0000000..767ee18
--- /dev/null
+++ b/features/com.minres.scviewer.database.feature/feature.properties
@@ -0,0 +1,102 @@
+featureName=SystemC simulation results viewer
+providerName=MINRES Technologies GmbH
+updateSiteName=SC Viewer Database Updates
+description=A viewer for SystemC Verification Library transactions and VCD signals.
+licenseURL=license.html
+license=\
+ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\
+March 17, 2005\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\
+is provided to you under the terms and conditions of the Eclipse Public\n\
+License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\
+Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse.org CVS\n\
+repository ("Repository") in CVS modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+ - Content may be structured and packaged into modules to facilitate delivering,\n\
+ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+ plug-in fragments ("Fragments"), and features ("Features").\n\
+ - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\
+ in a directory named "plugins".\n\
+ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+ Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+ Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+ numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+ - Features may also include other Features ("Included Features"). Within a Feature, files\n\
+ named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+Features may also include other Features ("Included Features"). Files named\n\
+"feature.xml" may contain a list of the names and version numbers of\n\
+Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+ - The top-level (root) directory\n\
+ - Plug-in and Fragment directories\n\
+ - Inside Plug-ins and Fragments packaged as JARs\n\
+ - Sub-directories of the directory named "src" of certain Plug-ins\n\
+ - Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Eclipse Update Manager, you must agree to a license ("Feature Update\n\
+License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties". Such Abouts,\n\
+Feature Licenses and Feature Update Licenses contain the terms and\n\
+conditions (or references to such terms and conditions) that govern your\n\
+use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+ - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
+ - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
+ - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use,\n\
+and re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n
diff --git a/com.minres.scviewer.feature/feature.xml b/features/com.minres.scviewer.database.feature/feature.xml
similarity index 79%
rename from com.minres.scviewer.feature/feature.xml
rename to features/com.minres.scviewer.database.feature/feature.xml
index bebca53..7550686 100644
--- a/com.minres.scviewer.feature/feature.xml
+++ b/features/com.minres.scviewer.database.feature/feature.xml
@@ -1,6 +1,6 @@
@@ -65,13 +65,6 @@ http://www.eclipse.org/legal/epl-v10.html
version="0.0.0"
unpack="false"/>
-
-
-
-
-
-
-
-
-
-
diff --git a/features/com.minres.scviewer.database.feature/pom.xml b/features/com.minres.scviewer.database.feature/pom.xml
new file mode 100644
index 0000000..83ceb26
--- /dev/null
+++ b/features/com.minres.scviewer.database.feature/pom.xml
@@ -0,0 +1,12 @@
+
+ 4.0.0
+ com.minres.scviewer.database.feature
+ eclipse-feature
+
+ com.minres.scviewer
+ com.minres.scviewer.parent
+ 2.0.0-SNAPSHOT
+ ../..
+
+ 1.0.0-SNAPSHOT
+
diff --git a/features/com.minres.scviewer.e4.feature/.gitignore b/features/com.minres.scviewer.e4.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/features/com.minres.scviewer.e4.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/com.minres.scviewer.parent/.project b/features/com.minres.scviewer.e4.feature/.project
similarity index 62%
rename from com.minres.scviewer.parent/.project
rename to features/com.minres.scviewer.e4.feature/.project
index a68889f..1dc2b2b 100644
--- a/com.minres.scviewer.parent/.project
+++ b/features/com.minres.scviewer.e4.feature/.project
@@ -1,17 +1,17 @@
- com.minres.scviewer.parent
+ com.minres.scviewer.e4.feature
- org.eclipse.m2e.core.maven2Builder
+ org.eclipse.pde.FeatureBuilder
- org.eclipse.m2e.core.maven2Nature
+ org.eclipse.pde.FeatureNature
diff --git a/features/com.minres.scviewer.e4.feature/build.properties b/features/com.minres.scviewer.e4.feature/build.properties
new file mode 100644
index 0000000..64f93a9
--- /dev/null
+++ b/features/com.minres.scviewer.e4.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/features/com.minres.scviewer.e4.feature/feature.xml b/features/com.minres.scviewer.e4.feature/feature.xml
new file mode 100644
index 0000000..d20eca7
--- /dev/null
+++ b/features/com.minres.scviewer.e4.feature/feature.xml
@@ -0,0 +1,74 @@
+
+
+
+
+ [Enter Feature Description here.]
+
+
+
+ [Enter Copyright Description here.]
+
+
+
+ [Enter License Description here.]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/features/com.minres.scviewer.e4.feature/pom.xml b/features/com.minres.scviewer.e4.feature/pom.xml
new file mode 100644
index 0000000..9556b46
--- /dev/null
+++ b/features/com.minres.scviewer.e4.feature/pom.xml
@@ -0,0 +1,12 @@
+
+ 4.0.0
+ com.minres.scviewer.e4.feature
+ eclipse-feature
+
+ com.minres.scviewer
+ com.minres.scviewer.parent
+ 2.0.0-SNAPSHOT
+ ../..
+
+ 1.0.0-SNAPSHOT
+
diff --git a/features/com.minres.scviewer.feature/.gitignore b/features/com.minres.scviewer.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/features/com.minres.scviewer.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/com.minres.scviewer.feature/.project b/features/com.minres.scviewer.feature/.project
similarity index 100%
rename from com.minres.scviewer.feature/.project
rename to features/com.minres.scviewer.feature/.project
diff --git a/com.minres.scviewer.database.sqlite/.settings/org.eclipse.m2e.core.prefs b/features/com.minres.scviewer.feature/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from com.minres.scviewer.database.sqlite/.settings/org.eclipse.m2e.core.prefs
rename to features/com.minres.scviewer.feature/.settings/org.eclipse.m2e.core.prefs
diff --git a/features/com.minres.scviewer.feature/build.properties b/features/com.minres.scviewer.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/features/com.minres.scviewer.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+ feature.properties
diff --git a/com.minres.scviewer.feature/feature.properties b/features/com.minres.scviewer.feature/feature.properties
similarity index 100%
rename from com.minres.scviewer.feature/feature.properties
rename to features/com.minres.scviewer.feature/feature.properties
diff --git a/features/com.minres.scviewer.feature/feature.xml b/features/com.minres.scviewer.feature/feature.xml
new file mode 100644
index 0000000..f4f471e
--- /dev/null
+++ b/features/com.minres.scviewer.feature/feature.xml
@@ -0,0 +1,78 @@
+
+
+
+
+ A viewer for SystemC Verification Library transactions and VCD
+signals. It supports a SQLite based recording as well as the built-in
+text base recording.
+
+
+
+ Copyright (c) 2015 MINRES Technologies GmbH.
+All rights reserved. This program and the accompanying materials
+are 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
+
+
+
+ %license
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/com.minres.scviewer.feature/pom.xml b/features/com.minres.scviewer.feature/pom.xml
similarity index 88%
rename from com.minres.scviewer.feature/pom.xml
rename to features/com.minres.scviewer.feature/pom.xml
index 8da4db3..309086f 100644
--- a/com.minres.scviewer.feature/pom.xml
+++ b/features/com.minres.scviewer.feature/pom.xml
@@ -6,7 +6,7 @@
com.minres.scviewer
com.minres.scviewer.parent
2.0.0-SNAPSHOT
- ../com.minres.scviewer.parent
+ ../..
1.0.0-SNAPSHOT
-
\ No newline at end of file
+
diff --git a/features/com.minres.scviewer.ui.feature/.gitignore b/features/com.minres.scviewer.ui.feature/.gitignore
new file mode 100644
index 0000000..b83d222
--- /dev/null
+++ b/features/com.minres.scviewer.ui.feature/.gitignore
@@ -0,0 +1 @@
+/target/
diff --git a/features/com.minres.scviewer.ui.feature/.project b/features/com.minres.scviewer.ui.feature/.project
new file mode 100644
index 0000000..4cc8d6a
--- /dev/null
+++ b/features/com.minres.scviewer.ui.feature/.project
@@ -0,0 +1,17 @@
+
+
+ com.minres.scviewer.ui.feature
+
+
+
+
+
+ org.eclipse.pde.FeatureBuilder
+
+
+
+
+
+ org.eclipse.pde.FeatureNature
+
+
diff --git a/features/com.minres.scviewer.ui.feature/build.properties b/features/com.minres.scviewer.ui.feature/build.properties
new file mode 100644
index 0000000..64f93a9
--- /dev/null
+++ b/features/com.minres.scviewer.ui.feature/build.properties
@@ -0,0 +1 @@
+bin.includes = feature.xml
diff --git a/features/com.minres.scviewer.ui.feature/feature.xml b/features/com.minres.scviewer.ui.feature/feature.xml
new file mode 100644
index 0000000..f9c3d4b
--- /dev/null
+++ b/features/com.minres.scviewer.ui.feature/feature.xml
@@ -0,0 +1,20 @@
+
+
+
+
+ [Enter Feature Description here.]
+
+
+
+ [Enter Copyright Description here.]
+
+
+
+ [Enter License Description here.]
+
+
+
diff --git a/features/com.minres.scviewer.ui.feature/pom.xml b/features/com.minres.scviewer.ui.feature/pom.xml
new file mode 100644
index 0000000..2d31c46
--- /dev/null
+++ b/features/com.minres.scviewer.ui.feature/pom.xml
@@ -0,0 +1,12 @@
+
+ 4.0.0
+ com.minres.scviewer.ui.feature
+ eclipse-feature
+
+ com.minres.scviewer
+ com.minres.scviewer.parent
+ 2.0.0-SNAPSHOT
+ ../..
+
+ 1.0.0-SNAPSHOT
+
diff --git a/com.minres.scviewer.updateSite/.gitignore b/p2repositories/com.minres.scviewer.updateSite/.gitignore
similarity index 100%
rename from com.minres.scviewer.updateSite/.gitignore
rename to p2repositories/com.minres.scviewer.updateSite/.gitignore
diff --git a/com.minres.scviewer.updateSite/.project b/p2repositories/com.minres.scviewer.updateSite/.project
similarity index 100%
rename from com.minres.scviewer.updateSite/.project
rename to p2repositories/com.minres.scviewer.updateSite/.project
diff --git a/com.minres.scviewer.database.test/.settings/org.eclipse.m2e.core.prefs b/p2repositories/com.minres.scviewer.updateSite/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from com.minres.scviewer.database.test/.settings/org.eclipse.m2e.core.prefs
rename to p2repositories/com.minres.scviewer.updateSite/.settings/org.eclipse.m2e.core.prefs
diff --git a/com.minres.scviewer.updateSite/category.xml b/p2repositories/com.minres.scviewer.updateSite/category.xml
similarity index 68%
rename from com.minres.scviewer.updateSite/category.xml
rename to p2repositories/com.minres.scviewer.updateSite/category.xml
index a4f42b6..f11caad 100644
--- a/com.minres.scviewer.updateSite/category.xml
+++ b/p2repositories/com.minres.scviewer.updateSite/category.xml
@@ -3,6 +3,9 @@
+
+
+
Viewer for SystemC Verification (SCV) library's transaction recording
diff --git a/com.minres.scviewer.updateSite/pom.xml b/p2repositories/com.minres.scviewer.updateSite/pom.xml
similarity index 90%
rename from com.minres.scviewer.updateSite/pom.xml
rename to p2repositories/com.minres.scviewer.updateSite/pom.xml
index b3a3c1e..3634c3d 100644
--- a/com.minres.scviewer.updateSite/pom.xml
+++ b/p2repositories/com.minres.scviewer.updateSite/pom.xml
@@ -7,7 +7,7 @@
com.minres.scviewer
com.minres.scviewer.parent
2.0.0-SNAPSHOT
- ../com.minres.scviewer.parent
+ ../..
+
+
+
+
+
org.eclipse.tycho
tycho-p2-plugin
@@ -115,29 +141,6 @@
-
- org.eclipse.tycho.extras
- tycho-source-feature-plugin
- ${tycho-version}
-
-
-
- source-feature
- package
-
- source-feature
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
diff --git a/com.minres.scviewer.database.test/.classpath b/tests/com.minres.scviewer.database.test/.classpath
similarity index 100%
rename from com.minres.scviewer.database.test/.classpath
rename to tests/com.minres.scviewer.database.test/.classpath
diff --git a/com.minres.scviewer.e4.application/.gitignore b/tests/com.minres.scviewer.database.test/.gitignore
similarity index 100%
rename from com.minres.scviewer.e4.application/.gitignore
rename to tests/com.minres.scviewer.database.test/.gitignore
diff --git a/com.minres.scviewer.database.test/.project b/tests/com.minres.scviewer.database.test/.project
similarity index 100%
rename from com.minres.scviewer.database.test/.project
rename to tests/com.minres.scviewer.database.test/.project
diff --git a/com.minres.scviewer.database/.settings/org.eclipse.jdt.core.prefs b/tests/com.minres.scviewer.database.test/.settings/org.eclipse.jdt.core.prefs
similarity index 100%
rename from com.minres.scviewer.database/.settings/org.eclipse.jdt.core.prefs
rename to tests/com.minres.scviewer.database.test/.settings/org.eclipse.jdt.core.prefs
diff --git a/com.minres.scviewer.ui/.settings/org.eclipse.m2e.core.prefs b/tests/com.minres.scviewer.database.test/.settings/org.eclipse.m2e.core.prefs
similarity index 100%
rename from com.minres.scviewer.ui/.settings/org.eclipse.m2e.core.prefs
rename to tests/com.minres.scviewer.database.test/.settings/org.eclipse.m2e.core.prefs
diff --git a/com.minres.scviewer.e4.application/.settings/org.eclipse.pde.core.prefs b/tests/com.minres.scviewer.database.test/.settings/org.eclipse.pde.core.prefs
similarity index 100%
rename from com.minres.scviewer.e4.application/.settings/org.eclipse.pde.core.prefs
rename to tests/com.minres.scviewer.database.test/.settings/org.eclipse.pde.core.prefs
diff --git a/com.minres.scviewer.database.test/DatabaseServicesTest.launch b/tests/com.minres.scviewer.database.test/DatabaseServicesTest.launch
similarity index 100%
rename from com.minres.scviewer.database.test/DatabaseServicesTest.launch
rename to tests/com.minres.scviewer.database.test/DatabaseServicesTest.launch
diff --git a/com.minres.scviewer.database.test/META-INF/MANIFEST.MF b/tests/com.minres.scviewer.database.test/META-INF/MANIFEST.MF
similarity index 100%
rename from com.minres.scviewer.database.test/META-INF/MANIFEST.MF
rename to tests/com.minres.scviewer.database.test/META-INF/MANIFEST.MF
diff --git a/com.minres.scviewer.database.test/OSGI-INF/component.xml b/tests/com.minres.scviewer.database.test/OSGI-INF/component.xml
similarity index 100%
rename from com.minres.scviewer.database.test/OSGI-INF/component.xml
rename to tests/com.minres.scviewer.database.test/OSGI-INF/component.xml
diff --git a/com.minres.scviewer.database.test/build.properties b/tests/com.minres.scviewer.database.test/build.properties
similarity index 100%
rename from com.minres.scviewer.database.test/build.properties
rename to tests/com.minres.scviewer.database.test/build.properties
diff --git a/tests/com.minres.scviewer.database.test/inputs/.gitignore b/tests/com.minres.scviewer.database.test/inputs/.gitignore
new file mode 100644
index 0000000..947900c
--- /dev/null
+++ b/tests/com.minres.scviewer.database.test/inputs/.gitignore
@@ -0,0 +1,4 @@
+/.scviewer.*
+/.my_db.txlog*
+/EyeQ6_mem_platform.txlog
+/EyeQ6_mem_platform.vcd
diff --git a/com.minres.scviewer.database.test/inputs/my_db.txlog b/tests/com.minres.scviewer.database.test/inputs/my_db.txlog
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_db.txlog
rename to tests/com.minres.scviewer.database.test/inputs/my_db.txlog
diff --git a/com.minres.scviewer.database.test/inputs/my_db.vcd b/tests/com.minres.scviewer.database.test/inputs/my_db.vcd
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_db.vcd
rename to tests/com.minres.scviewer.database.test/inputs/my_db.vcd
diff --git a/com.minres.scviewer.database.test/inputs/my_db_truncated.txlog b/tests/com.minres.scviewer.database.test/inputs/my_db_truncated.txlog
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_db_truncated.txlog
rename to tests/com.minres.scviewer.database.test/inputs/my_db_truncated.txlog
diff --git a/com.minres.scviewer.database.test/inputs/my_ldb.txldb/000005.sst b/tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/000005.sst
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_ldb.txldb/000005.sst
rename to tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/000005.sst
diff --git a/com.minres.scviewer.database.test/inputs/my_ldb.txldb/000046.log b/tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/000046.log
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_ldb.txldb/000046.log
rename to tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/000046.log
diff --git a/com.minres.scviewer.database.test/inputs/my_ldb.txldb/CURRENT b/tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/CURRENT
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_ldb.txldb/CURRENT
rename to tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/CURRENT
diff --git a/com.minres.scviewer.database.test/inputs/my_ldb.txldb/LOCK b/tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/LOCK
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_ldb.txldb/LOCK
rename to tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/LOCK
diff --git a/com.minres.scviewer.database.test/inputs/my_ldb.txldb/LOG b/tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/LOG
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_ldb.txldb/LOG
rename to tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/LOG
diff --git a/com.minres.scviewer.database.test/inputs/my_ldb.txldb/MANIFEST-000045 b/tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/MANIFEST-000045
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_ldb.txldb/MANIFEST-000045
rename to tests/com.minres.scviewer.database.test/inputs/my_ldb.txldb/MANIFEST-000045
diff --git a/com.minres.scviewer.database.test/inputs/my_ldb.vcd b/tests/com.minres.scviewer.database.test/inputs/my_ldb.vcd
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_ldb.vcd
rename to tests/com.minres.scviewer.database.test/inputs/my_ldb.vcd
diff --git a/com.minres.scviewer.database.test/inputs/my_sqldb.txdb b/tests/com.minres.scviewer.database.test/inputs/my_sqldb.txdb
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/my_sqldb.txdb
rename to tests/com.minres.scviewer.database.test/inputs/my_sqldb.txdb
diff --git a/com.minres.scviewer.database.test/inputs/simple_system.vcd b/tests/com.minres.scviewer.database.test/inputs/simple_system.vcd
similarity index 100%
rename from com.minres.scviewer.database.test/inputs/simple_system.vcd
rename to tests/com.minres.scviewer.database.test/inputs/simple_system.vcd
diff --git a/com.minres.scviewer.database.test/pom.xml b/tests/com.minres.scviewer.database.test/pom.xml
similarity index 91%
rename from com.minres.scviewer.database.test/pom.xml
rename to tests/com.minres.scviewer.database.test/pom.xml
index 98726df..7faec89 100644
--- a/com.minres.scviewer.database.test/pom.xml
+++ b/tests/com.minres.scviewer.database.test/pom.xml
@@ -7,7 +7,7 @@
com.minres.scviewer
com.minres.scviewer.parent
2.0.0-SNAPSHOT
- ../com.minres.scviewer.parent
+ ../..
eclipse-test-plugin
@@ -19,4 +19,4 @@
-
\ No newline at end of file
+
diff --git a/com.minres.scviewer.database.test/src/com/minres/scviewer/database/test/DatabaseServicesTest.java b/tests/com.minres.scviewer.database.test/src/com/minres/scviewer/database/test/DatabaseServicesTest.java
similarity index 100%
rename from com.minres.scviewer.database.test/src/com/minres/scviewer/database/test/DatabaseServicesTest.java
rename to tests/com.minres.scviewer.database.test/src/com/minres/scviewer/database/test/DatabaseServicesTest.java