private void genreport(Ivy ivy, File cache, String organisation, String module, String conf) throws IOException {
private void genreport(File cache, String organisation, String module, String[] confs) throws IOException {
    private void genreport(Ivy ivy, File cache, String organisation, String module, String conf) throws IOException {                // first process the report with xslt        XSLTProcess xslt = new XSLTProcess();        xslt.setTaskName(getTaskName());        xslt.setProject(getProject());        xslt.init();                xslt.setIn(new File(cache, XmlReportOutputter.getReportFileName(new ModuleId(organisation, module), conf)));        File out;        if (_todir != null) {            out = new File(_todir, IvyPatternHelper.substitute(_outputpattern, organisation, module, "", "", "", _xslext, conf));        } else {            out = new File(IvyPatternHelper.substitute(_outputpattern, organisation, module, "", "", "", _xslext, conf));        }        if (out.getParentFile() != null && !out.getParentFile().exists()) {            out.getParentFile().mkdirs();        } else if(out.getParentFile() == null) {            out = new File("./"+out.getPath());        }        xslt.setOut(out);        xslt.setStyle(getReportStylePath(cache));        XSLTProcess.Param param = xslt.createParam();        param.setName("confs");        param.setExpression(_conf);        param = xslt.createParam();        param.setName("extension");        param.setExpression(_xslext);        // add the provided XSLT parameters        for (Iterator it = _params.iterator(); it.hasNext(); ) {            param = (XSLTProcess.Param) it.next();            XSLTProcess.Param realParam = xslt.createParam();            realParam.setName(param.getName());            realParam.setExpression(param.getExpression());        }                xslt.execute();        // then copy the css if required        if (_todir != null && _xslFile == null) {            File css = new File(_todir, "ivy-report.css");            if (!css.exists()) {                Message.debug("copying report css to "+_todir);                FileUtil.copy(XmlReportOutputter.class.getResourceAsStream("ivy-report.css"), css, null);            }            FileUtil.copy(XmlReportOutputter.class.getResourceAsStream("ivy-report.css"), new File(cache, "ivy-report.css"), null);        }    }