private void generatePreCompileTasks()

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>");
                    }
                }
            }
        }
    }