public static void main(String[] args) throws Exception {

        if (args != null && args.length > 0) {
            ResourceBundleUtil.init(args[0].substring(0, args[0].lastIndexOf(".")));
        }
        TestRunner.rowCounter = new AtomicCounter(Integer.parseInt(get("base.row")));
        rowCounter.getPrevousValue();
        
        setLog();
        
        logger.info("##### {} #########################################", "START");
        
        if (args.length > 1) {
            String cmd = args[1];
            logger.info("COMMAND : {}", cmd) ;
            if (StringUtils.equals("COPY", cmd)) {
                File to = new File(get("mail.file.path") + get("output.file"));
                if (to.exists()) {
                    logger.error("File already exists : {}", to.getAbsolutePath());
                    return;
                } else {
                    try {
                        Files.createParentDirs(to);
                        File from = new File(get("output.dir") + get("output.file"));
                        Files.copy(from, to);
                        logger.info("COPY COMPLETED #######################");
                        logger.info("FROM : {}", from.getAbsolutePath());
                        logger.info("TO   : {}", to.getAbsolutePath());
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                return;
            } else if (StringUtils.equals("MAIL", cmd)) {
                String h = get("mail.smtp.host");
                String p = get("mail.smtp.port");
                String u = get("mail.auth.user.name");
                String up = get("mail.auth.user.pass");
                MailSender ms = new MailSender(h, p, u, up);
                String subject = get("mail.subject");
                String body = get("mail.body");
                String from = get("mail.address.from");
                String to = get("mail.address.to");
                String cc = get("mail.address.cc");
                ms.send(subject, body, from, to, cc);
                logger.info("MAIL SENT SUCCESSFULLY #######################");
                return;
            }
        }

        String f = get("input.file." + get("site"), false);
        Workbook wb = ExcelUtil.getWorkbook(get("input.folder") + f);

        logger.info("##### {} #########################################", "MAKE FIRST SHEET");
        makeFirstSheet(wb);


        logger.info("##### {} #########################################", "MAKE SVN INFO");
        getSVNInfo(wb); 
        
        if (StringUtils.equals(get("modified.file.check"),"Y")) {
            logger.info("##### {} #########################################", "MAKE MODIFIED FILE INFO");
            List<File> modifiedFileList = ModifiedFileFilter.getModifiedFileList();
            for (File f2 : modifiedFileList) {
                writeRow("???", f2.getPath(), f2.getName(), "update", wb);
            }
        }

        logger.info("##### {} #########################################", "MAKE EXCEL FILE");
        writeWorkbook(wb);

        logger.info("##### {} #########################################", "MAKE MAIL");
        makeMailContent();

        logger.info("##### {} #########################################", "END");
    }