All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.xtend.enhance.batch.Main Maven / Gradle / Ivy

package org.xtend.enhance.batch;

import java.io.File;
import java.util.Arrays;
import java.util.Iterator;

import org.eclipse.xtend.core.XtendInjectorSingleton;

import com.google.inject.Injector;

public class Main {

	public static void main(String[] args) {
		enhance(args);
	}

	public static boolean enhance(String[] args) {
		Injector injector = XtendInjectorSingleton.INJECTOR;
		XtendDebugInfoInstaller installer = injector.getInstance(XtendDebugInfoInstaller.class);
		if ((args == null) || (args.length == 0)) {
			printUsage();
			return false;
		}
		Iterator arguments = Arrays.asList(args).iterator();
		while (arguments.hasNext()) {
			String argument = arguments.next();
			if ("-o".equals(argument.trim())) {
				installer.setOutputDirectory(new File(arguments.next().trim()));
			} else if ("-hideSynthetic".equals(argument.trim())) {
				installer.setHideSyntheticVariables(true);
			} else if ("-xtendAsPrimary".equals(argument.trim())) {
				installer.setXtendAsPrimaryDebugSource(true);
			} else if ("-c".equals(argument.trim())) {
				installer.setClassesDirectory(new File(arguments.next().trim()));
			} else {
				installer.getInputDirectories().add(new File(argument));
			}
		}
		try {
			installer.installDebugInfo();
		} catch (Exception e) {
			e.printStackTrace(System.out);
			return false;
		}
		return true;
	}

	private static void printUsage() {
		System.out.println("Usage: Main  ");
		System.out.println("where possible options include:");
		System.out.println("-d              Specify the classes directory that should be enhanced");
		System.out.println("-hideSynthetic			   Hide synthetic variables in debugger");
		System.out.println("-xtendAsPrimary			   Install Xtend as main debug source (useful for Android)");
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy