summaryrefslogtreecommitdiff
path: root/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java')
-rw-r--r--org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java
index 54f1c26..0d2c49d 100644
--- a/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java
+++ b/org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java
@@ -66,6 +66,7 @@ public class CommandlineToolMain
protected String SCOPE = "Core validation: ";
private boolean isValidation = true;
public static final int ERROR_STATE = 1;
+ public static final int NO_ERROR_STATE = 0;
private ValidationMessageAcceptor cliMessageAcceptor = new AbstractValidationMessageAcceptor() {
@@ -198,10 +199,18 @@ public class CommandlineToolMain
ConsoleLogger.printLog("Using Franca Version " + francaversion);
ConsoleLogger.printLog("and CommonAPI Version " + coreversion);
+ int error_state = NO_ERROR_STATE;
for (String file : tempfilelist)
{
URI uri = URI.createFileURI(file);
- Resource resource = rsset.createResource(uri);
+ Resource resource = null;
+ try {
+ resource = rsset.createResource(uri);
+ } catch (IllegalStateException ise) {
+ // In case we have a search path with several fidl and fdepl files that have includes to each other:
+ // This resource may have been already registered. Don't worry, continue.
+ continue;
+ }
validationErrorCount = 0;
if(isValidation) {
validate(resource);
@@ -212,15 +221,16 @@ public class CommandlineToolMain
francaGenerator.doGenerate(resource, fsa);
}
catch (Exception e) {
- System.err.println("Failed to generate code for " + file );
- System.exit(ERROR_STATE);
+ System.err.println("Failed to generate code for " + file + " due to " + e.getMessage());
+ error_state = ERROR_STATE;
}
}
else {
ConsoleLogger.printErrorLog(file + " contains validation errors !");
- System.exit(ERROR_STATE);
+ error_state = ERROR_STATE;
}
}
+ System.exit(error_state);
}
private void validate(Resource resource) {