Enable recommends property only for trendy criteria.
diff --git a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Main.java b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Main.java
index 38e1031..017eaca 100644
--- a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Main.java
+++ b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Main.java
@@ -231,7 +231,7 @@
private static ProfileChangeRequest parseCUDF(File file) {
Log.println("Parsing ...");
long begin = System.currentTimeMillis();
- ProfileChangeRequest result = new Parser().parse(file);
+ ProfileChangeRequest result = new Parser().parse(file, options);
long end = System.currentTimeMillis();
Log.println(("Parsing done (" + (end - begin) / 1000.0 + "s)."));
return result;
diff --git a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Options.java b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Options.java
index e8eec45..430f6b7 100644
--- a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Options.java
+++ b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Options.java
@@ -3,9 +3,12 @@
import java.io.File;
public class Options {
+ public static final String P2 = "p2";
+ public static final String PARANOID = "paranoid";
+ public static final String TRENDY = "trendy";
boolean verbose = false;
- String objective = "p2";
+ String objective = P2;
String timeout = "default";
boolean explain = false;
public File input;
diff --git a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Parser.java b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Parser.java
index 6779e45..ca60243 100644
--- a/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Parser.java
+++ b/org.eclipse.equinox.p2.cudf/src/main/java/org/eclipse/equinox/p2/cudf/Parser.java
@@ -45,16 +45,16 @@
}
}
- public ProfileChangeRequest parse(File file) {
+ public ProfileChangeRequest parse(File file, Options options) {
try {
- return parse(new FileInputStream(file));
+ return parse(new FileInputStream(file), options);
} catch (FileNotFoundException e) {
e.printStackTrace();
return null;
}
}
- public ProfileChangeRequest parse(InputStream stream) {
+ public ProfileChangeRequest parse(InputStream stream, Options options) {
long start;
if (TIMING)
start = System.currentTimeMillis();
@@ -113,7 +113,7 @@
handleProvides(line);
} else if (line.startsWith("expected: ")) {
handleExpected(line);
- } else if (line.startsWith("recommends: ")) {
+ } else if (line.startsWith("recommends: ") && options.objective.equals(Options.TRENDY)) {
handleRecommends(line);
} else if (line.startsWith("keep: ")) {
handleKeep(line);