package dml;
import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class ConverterClassAwareDmlCompiler {
public static void main(String[] args) throws Exception {
final int c = args.length;
final int offset = c - 3;
final File dir = new File(args[offset]);
final String[] baseArgs;
if (dir.exists() && dir.isDirectory()) {
final List<String> dmlFilenames = new ArrayList<String>();
for (final File file : dir.listFiles()) {
if (file.isFile() && file.getName().endsWith(".dml")) {
dmlFilenames.add(file.getCanonicalPath());
}
}
Collections.sort(dmlFilenames);
List<URL> pluginDmlUrlList = PluginDmlUrlLoader.getPluginDmlUrlList();
baseArgs = new String[c - 3 + dmlFilenames.size()+pluginDmlUrlList.size()];
System.arraycopy(args, 0, baseArgs, 0, offset);
int i = offset;
for(URL pluginDmlUrl : pluginDmlUrlList) {
baseArgs[i++] = pluginDmlUrl.toExternalForm();
}
for (final String dmlFilename : dmlFilenames) {
baseArgs[i++] = dmlFilename;
}
} else {
baseArgs = Arrays.copyOfRange(args, 0, c - 2);
}
DmlCompiler.main(baseArgs);
}
}