in tools/maven/maven-ant-generator/src/main/java/org/apache/tuscany/sca/tools/ant/generator/plugin/AntGeneratorMojo.java [477:599]
private void generatePreCompileTasks(PrintWriter pw) {
String baseDir = project.getBasedir().getAbsolutePath() + '/';
List<Plugin> plugins = (List<Plugin>)project.getBuildPlugins();
for (Plugin plugin: plugins) {
// Generate Ant task equivalent to the Tuscany SDO plugin
if ("org.apache.tuscany.sdo".equals(plugin.getGroupId()) && "tuscany-sdo-plugin".equals(plugin.getArtifactId())) {
for (PluginExecution execution: (List<PluginExecution>)plugin.getExecutions()) {
for (Map<String, String> configuration: pluginConfigurations(execution)) {
pw.println(" <java classname=\"org.apache.tuscany.sdo.generate.XSD2JavaGenerator\" fork=\"true\">");
// Generate the various code generation options
for (Map.Entry<String, String> element: configuration.entrySet()) {
String key = element.getKey();
String value = element.getValue();
if (key.equals("schemaNamespace")) {
pw.println(" <arg value=\"-schemaNamespace\"/>");
pw.println(" <arg value=\"" + value + "\"/>");
}
if (key.equals("javaPackage")) {
pw.println(" <arg value=\"-javaPackage\"/>");
pw.println(" <arg value=\"" + value + "\"/>");
}
if (key.equals("prefix")) {
pw.println(" <arg value=\"-prefix\"/>");
pw.println(" <arg value=\"" + value + "\"/>");
}
if (key.equals("noInterfaces") && "true".equals(value)) {
pw.println(" <arg value=\"-noInterfaces\"/>");
}
if (key.equals("noNotification") && "true".equals(value)) {
pw.println(" <arg value=\"-noNotification\"/>");
}
if (key.equals("noContainer") && "true".equals(value)) {
pw.println(" <arg value=\"-noContainment\"/>");
}
if (key.equals("noUnsettable") && "true".equals(value)) {
pw.println(" <arg value=\"-noUnsettable\"/>");
}
}
// Generate target directory parameter
String targetDirectory = configuration.get("targetDirectory");
if (targetDirectory == null) {
targetDirectory = "target/sdo-source";
} else if (targetDirectory.startsWith(baseDir)) {
targetDirectory = targetDirectory.substring(baseDir.length());
}
pw.println(" <arg value=\"-targetDirectory\"/>");
pw.println(" <arg value=\"" + targetDirectory + "\"/>");
// Generate schema file parameter
String schemaFile = configuration.get("schemaFile");
if (schemaFile == null) {
schemaFile = configuration.get("fileName");
}
if (schemaFile != null) {
if (schemaFile.startsWith(baseDir)) {
schemaFile = schemaFile.substring(baseDir.length());
}
pw.println(" <arg value=\"" + schemaFile + "\"/>");
}
pw.println(" <classpath>");
pw.println(" <fileset refid=\"tuscany.jars\"/>");
pw.println(" <fileset refid=\"3rdparty.jars\"/>");
pw.println(" </classpath>");
pw.println(" </java>");
}
}
}
// Generate Ant task equivalent to the Tuscany WSDL2Java plugin
else if ("org.apache.tuscany.sca".equals(plugin.getGroupId()) && "tuscany-maven-wsdl2java".equals(plugin.getArtifactId())) {
for (PluginExecution execution: (List<PluginExecution>)plugin.getExecutions()) {
for (Map<String, String> configuration: pluginConfigurations(execution)) {
pw.println(" <java classname=\"org.apache.tuscany.tools.wsdl2java.generate.WSDL2JavaGenerator\" fork=\"true\">");
// Generate the various code generation options
for (Map.Entry<String, String> element: configuration.entrySet()) {
String key = element.getKey();
String value = element.getValue();
if (key.equals("javaPackage")) {
pw.println(" <arg value=\"-javaPackage\"/>");
pw.println(" <arg value=\"" + value + "\"/>");
}
}
// Generate target directory parameter
String targetDirectory = configuration.get("targetDirectory");
if (targetDirectory == null) {
targetDirectory = "target/wsdl2java-source";
} else if (targetDirectory.startsWith(baseDir)) {
targetDirectory = targetDirectory.substring(baseDir.length());
}
pw.println(" <arg value=\"-targetDirectory\"/>");
pw.println(" <arg value=\"" + targetDirectory + "\"/>");
// Generate WSDL file parameter
String wsdlFile = configuration.get("wsdlFile");
if (wsdlFile == null) {
wsdlFile = configuration.get("fileName");
}
if (wsdlFile != null) {
if (wsdlFile.startsWith(baseDir)) {
wsdlFile = wsdlFile.substring(baseDir.length());
}
pw.println(" <arg value=\"" + wsdlFile + "\"/>");
}
pw.println(" <classpath>");
pw.println(" <fileset refid=\"tuscany.jars\"/>");
pw.println(" <fileset refid=\"3rdparty.jars\"/>");
pw.println(" </classpath>");
pw.println(" </java>");
}
}
}
}
}