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.java13
1 files changed, 13 insertions, 0 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 c7be6ab..bc85c20 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
@@ -145,6 +145,14 @@ public class CommandlineToolMain extends CommandlineTool {
} else if (isCodeGeneration) {
ConsoleLogger.printLog("Generating code for " + file);
try {
+ if (FPreferences.getInstance().getPreference(
+ PreferenceConstants.P_OUTPUT_SUBDIRS, "false").equals("true")) {
+ String subdir = (new File(file)).getName();
+ subdir = subdir.replace(".fidl", "");
+ subdir = subdir.replace(".fdepl", "");
+ fsa.setOutputConfigurations(FPreferences.getInstance()
+ .getOutputpathConfiguration(subdir));
+ }
francaGenerator.doGenerate(resource, fsa);
} catch (Exception e) {
System.err.println("Failed to generate code for " + file
@@ -237,6 +245,11 @@ public class CommandlineToolMain extends CommandlineTool {
pref.setPreference(PreferenceConstants.P_OUTPUT_SKELETON, optionValue);
}
+ public void setDestinationSubdirs() {
+ ConsoleLogger.printLog("Using destination subdirs");
+ pref.setPreference(PreferenceConstants.P_OUTPUT_SUBDIRS, "true");
+ }
+
public void setCommonDirectory(String optionValue) {
ConsoleLogger.printLog("Common output directory: " + optionValue);
pref.setPreference(PreferenceConstants.P_OUTPUT_COMMON, optionValue);