Skip to content

Commit 3413f7c

Browse files
committed
add and 'rules' options. allow multiple rule locations. add and to cli params.
1 parent 29876d6 commit 3413f7c

4 files changed

Lines changed: 41 additions & 5 deletions

File tree

plugins/org.jboss.tools.windup.model/src/org/jboss/tools/windup/model/OptionFacades.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,9 @@ public OptionDescription findOptionDescription(String name) {
175175
}
176176

177177
public static boolean isSingleValued(OptionDescription option) {
178+
if (option.getName().equals("rules")) {
179+
return false;
180+
}
178181
UiType uiType = UiType.valueOf(option.getUiType().toUpperCase());
179182
return uiType == UiType.SINGLE || uiType == UiType.DIRECTORY || uiType == UiType.FILE_OR_DIRECTORY;
180183
}

plugins/org.jboss.tools.windup.runtime/src/org/jboss/tools/windup/runtime/WindupRuntimePlugin.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ public static Help findWindupHelpCache() {
167167
}
168168
return result;
169169
}
170-
170+
171171
private static String getOptions() {
172172
return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
173173
+ "<help>\n"
@@ -177,6 +177,18 @@ private static String getOptions() {
177177
+ " <ui-type>SINGLE</ui-type>\n"
178178
+ " <required>false</required>\n"
179179
+ " </option>\n"
180+
+ " <option name=\"analyze-known-libraries\">\n"
181+
+ " <description>Analyze known open-source libraries.</description>\n"
182+
+ " <type>Boolean</type>\n"
183+
+ " <ui-type>SINGLE</ui-type>\n"
184+
+ " <required>false</required>\n"
185+
+ " </option>\n"
186+
+ " <option name=\"rules\">\n"
187+
+ " <description>User Rules Directory/File.</description>\n"
188+
+ " <type>File</type>\n"
189+
+ " <ui-type>FILE_OR_DIRECTORY</ui-type>\n"
190+
+ " <required>false</required>\n"
191+
+ " </option>\n"
180192
+ " <option name=\"target\">\n"
181193
+ " <description>The target technology to consider for analysis.</description>\n"
182194
+ " <type>String</type>\n"

plugins/org.jboss.tools.windup.runtime/src/org/jboss/tools/windup/runtime/kantra/KantraRunner.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public class KantraRunner {
2727

2828
private ExecuteWatchdog watchdog;
2929

30-
public void runKantra(String cli, Set<String> inputs, String output, List<String> sources, List<String> targets, Consumer<String> onMessage, Consumer<Boolean> onComplete, Consumer<String> onFailed) {
30+
public void runKantra(String cli, Set<String> inputs, String output, List<String> sources, List<String> targets, List<String> rules, boolean analyzeKnownLibraries, Consumer<String> onMessage, Consumer<Boolean> onComplete, Consumer<String> onFailed) {
3131
logInfo("Begin start kantra."); //$NON-NLS-1$
3232

3333
// todo: compute or parameterize from configuration
@@ -42,6 +42,10 @@ public void runKantra(String cli, Set<String> inputs, String output, List<String
4242
params.add("--mode");
4343
params.add("source-only");
4444

45+
if (analyzeKnownLibraries) {
46+
params.add("--analyze-known-libraries");
47+
}
48+
4549
for (String input : inputs) {
4650
params.add("--input");
4751
params.add(input);
@@ -60,6 +64,11 @@ public void runKantra(String cli, Set<String> inputs, String output, List<String
6064
params.add(target);
6165
}
6266

67+
for (String rule : rules) {
68+
params.add("--rules");
69+
params.add(rule);
70+
}
71+
6372

6473
cmdLine.addArguments(params.toArray(new String[params.size()]), true);
6574

plugins/org.jboss.tools.windup.ui/src/org/jboss/tools/windup/ui/internal/launch/WindupLaunchDelegate.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ public void done(IJobChangeEvent event) {
222222
}
223223
}
224224

225-
225+
List<String> rules = Lists.newArrayList();
226226

227227
for (Pair pair : configuration.getOptions()) {
228228
String name = pair.getKey();
@@ -233,14 +233,17 @@ public void done(IJobChangeEvent event) {
233233
if (name.equals("target")) {
234234
targets.add(value);
235235
}
236+
if (name.equals("rules")) {
237+
rules.add(value);
238+
}
236239
}
237240
if (targets.isEmpty()) {
238241
// targets.add("quarkus");
239242
}
240243
if (sources.isEmpty()) {
241244
// sources.add("springboot");
242245
}
243-
246+
244247
IssueExplorer.current.viewService.launchStarting();
245248
Consumer<String> onMessage = (msg) -> {
246249
System.out.println("onMessage: " + msg);
@@ -257,8 +260,17 @@ public void done(IJobChangeEvent event) {
257260
System.out.println(msg.toString());
258261
kantraJob.cancel();
259262
};
263+
264+
265+
Optional<Pair> analyzeKnownLibrariesOption = configuration.getOptions().stream().filter(option -> option.getKey().equals("analyze-known-libraries")).findFirst();
266+
boolean analyzeKnownLibraries = false;
267+
if (analyzeKnownLibrariesOption.isPresent() && Boolean.valueOf(analyzeKnownLibrariesOption.get().getValue())) {
268+
analyzeKnownLibraries = true;
269+
}
270+
271+
260272
// kantraJob.cancel();
261-
WindupLaunchDelegate.activeRunner.runKantra(cli, inputs, output, sources, targets, onMessage, onComplete, onFailed);
273+
WindupLaunchDelegate.activeRunner.runKantra(cli, inputs, output, sources, targets, rules, analyzeKnownLibraries, onMessage, onComplete, onFailed);
262274
}
263275

264276
private MessageConsole findConsole(String name) {

0 commit comments

Comments
 (0)