Package it.baeyens.arduino.tools.uploaders

Source Code of it.baeyens.arduino.tools.uploaders.GenericLocalUploader

package it.baeyens.arduino.tools.uploaders;

import it.baeyens.arduino.common.Common;
import it.baeyens.arduino.tools.ExternalCommandLauncher;

import java.io.IOException;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.console.MessageConsoleStream;

public class GenericLocalUploader implements IRealUpload {

    private String myNAmeTag;
    private IProject myProject;
    private String myCConf;
    private MessageConsole myConsole;
    private MessageConsoleStream myErrconsole;
    private MessageConsoleStream myOutconsole;

    GenericLocalUploader(String NAmeTag, IProject Project, String CConf, MessageConsole Console, MessageConsoleStream Errconsole,
      MessageConsoleStream Outconsole) {
  myNAmeTag = NAmeTag.toUpperCase();
  myProject = Project;
  myCConf = CConf;

  myConsole = Console;
  myErrconsole = Errconsole;
  myOutconsole = Outconsole;
    }

    protected static void RunConsoledCommand(MessageConsole console, String command, IProgressMonitor monitor) throws IOException {

  ExternalCommandLauncher Step = new ExternalCommandLauncher(command);

  Step.setConsole(console);
  Step.redirectErrorStream(true);
  Step.launch(monitor);
    }

    @Override
    public boolean uploadUsingPreferences(IFile hexFile, IProject project, boolean usingProgrammer, IProgressMonitor monitor) {
  int step = 1;
  String patternTag = "A.TOOLS." + myNAmeTag + ".STEP" + step + ".PATTERN";
  String commentTag = "A.TOOLS." + myNAmeTag + ".STEP" + step + ".NAME";
  String stepPattern = Common.getBuildEnvironmentVariable(myProject, myCConf, patternTag, "");
  String stepName = Common.getBuildEnvironmentVariable(myProject, myCConf, commentTag, "");
  do {
      monitor.subTask("Running " + stepName);
      myOutconsole.println(stepPattern);
      try {
    RunConsoledCommand(myConsole, stepPattern, monitor);
      } catch (IOException e) {
    myErrconsole.print("Error: " + e.getMessage());
    return false;
      }
      step++;
      patternTag = "A.TOOLS." + myNAmeTag + ".STEP" + step + ".PATTERN";
      commentTag = "A.TOOLS." + myNAmeTag + ".STEP" + step + ".NAME";
      stepPattern = Common.getBuildEnvironmentVariable(myProject, myCConf, patternTag, "");
      stepName = Common.getBuildEnvironmentVariable(myProject, myCConf, commentTag, "");
  } while (!stepPattern.isEmpty());

  return true;
    }

}
TOP

Related Classes of it.baeyens.arduino.tools.uploaders.GenericLocalUploader

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.