var name;

function loadStyleSheet(sheet, callback, reload, remaining) {

var sheetName = name.slice(0, name.lastIndexOf('/') + 1) + sheet.href;
var input = readFile(sheetName);
var parser = new less.Parser({
    paths: [sheet.href.replace(/[\w\.-]+$/, '')]
});
parser.parse(input, function (e, root) {
    if (e) {
        print("Error: " + e);
        quit(1);
    }
    callback(root, sheet, { local: false, lastModified: 0, remaining: remaining });
});

// callback({}, sheet, { local: true, remaining: remaining });

}

function writeFile(filename, content) {

var fstream = new java.io.FileWriter(filename);
var out = new java.io.BufferedWriter(fstream);
out.write(content);
out.close();

}

// Command line integration via Rhino (function (args) {

name = args[0];
var output = args[1];

if (!name) {
    print('No files present in the fileset; Check your pattern match in build.xml');
    quit(1);
}
path = name.split("/");path.pop();path=path.join("/")

var input = readFile(name);

if (!input) {
    print('lesscss: couldn\'t open file ' + name);
    quit(1);
}

var result;
var parser = new less.Parser();
parser.parse(input, function (e, root) {
    if (e) {
        quit(1);
    } else {
        result = root.toCSS();
        if (output) {
            writeFile(output, result);
            print("Written to " + output);
        } else {
            print(result);
        }
        quit(0);
    }
});
print("done");

}(arguments));