class HenshinDependenciesManager added
diff --git a/org.eclipse.emf.refactor.metrics.henshin/build.properties b/org.eclipse.emf.refactor.metrics.henshin/build.properties
index 34d2e4d..e9863e2 100644
--- a/org.eclipse.emf.refactor.metrics.henshin/build.properties
+++ b/org.eclipse.emf.refactor.metrics.henshin/build.properties
@@ -1,4 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ plugin.xml
diff --git a/org.eclipse.emf.refactor.metrics.henshin/plugin.xml b/org.eclipse.emf.refactor.metrics.henshin/plugin.xml
new file mode 100644
index 0000000..260c3ac
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.henshin/plugin.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+ point="org.eclipse.ui.newWizards">
+ </extension>
+
+</plugin>
diff --git a/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinDependenciesManager.java b/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinDependenciesManager.java
new file mode 100644
index 0000000..ffd3409
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinDependenciesManager.java
@@ -0,0 +1,48 @@
+package org.eclipse.emf.refactor.metrics.henshin.managers;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.jar.Attributes;
+import java.util.jar.Manifest;
+
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.emf.refactor.metrics.generator.core.MetricInfo;
+import org.eclipse.emf.refactor.metrics.generator.managers.DependenciesManager;
+
+public class HenshinDependenciesManager extends DependenciesManager {
+
+ private final static String REFACTOR_METRICS_HENSHIN = "org.eclipse.emf.refactor.metrics.henshin";
+
+ public static void updateDependencies(MetricInfo info) {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(info.getProjectName());
+ try {
+ URL newUrl = new URL(project.getLocationURI().toURL().toString()
+ + MANIFEST_FILE);
+ InputStream is = newUrl.openStream();
+ Manifest mf = new Manifest(is);
+ Attributes att = mf.getMainAttributes();
+ String value = att.getValue(REQ_BUNDLE);
+ if (!value.contains(ECORE))
+ value = value + "," + ECORE;
+ if (!value.contains(REFACTOR_METRICS))
+ value = value + "," + REFACTOR_METRICS;
+ if (!value.contains(REFACTOR_METRICS_HENSHIN))
+ value = value + "," + REFACTOR_METRICS_HENSHIN;
+ if (! value.contains(info.getJar()))
+ value = value + "," + info.getJar();
+ att.putValue(REQ_BUNDLE, value);
+ FileOutputStream out = new FileOutputStream(newUrl.getFile());
+ mf.write(out);
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+}
diff --git a/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinGenerationManager.java b/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinGenerationManager.java
index 4d3b354..0a01822 100644
--- a/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinGenerationManager.java
+++ b/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinGenerationManager.java
@@ -8,7 +8,6 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.emf.codegen.jet.JETException;
-import org.eclipse.emf.refactor.metrics.generator.managers.DependenciesManager;
import org.eclipse.emf.refactor.metrics.generator.managers.GenerationManager;
import org.eclipse.emf.refactor.metrics.generator.managers.XMLPluginFileManager;
import org.eclipse.emf.refactor.metrics.henshin.Activator;
@@ -47,7 +46,7 @@
public static void createNewMetric(IProgressMonitor monitor,
HenshinMetricInfo metricInfo, IProject targetProject) {
System.out.println(metricInfo);
- DependenciesManager.updateDependencies(metricInfo);
+ HenshinDependenciesManager.updateDependencies(metricInfo);
createCalculateClass(monitor, metricInfo);
XMLPluginFileManager.createMetricEntry(metricInfo.getProjectPath(),
metricInfo.getName(), metricInfo.getId(),