diff options
Diffstat (limited to 'org.genivi.commonapi.core.cli/src/org')
-rw-r--r-- | org.genivi.commonapi.core.cli/src/org/genivi/commonapi/core/cli/CommandlineToolMain.java | 18 |
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) { |