Search in sources :

Example 1 with CompileDescription

use of io.sloeber.core.api.CompileDescription in project arduino-eclipse-plugin by Sloeber.

the class CompileAndUpload method testExamples.

@Test
public void testExamples() throws Exception {
    IPath templateFolder = Shared.getTemplateFolder("fastBlink");
    CompileDescription compileOptions = new CompileDescription();
    DateTimeFormatter df = DateTimeFormatter.ofPattern("YYYY/MM/dd-HH-mm-ss");
    String SerialDumpContent = myName + '-' + df.format(LocalDateTime.now());
    compileOptions.set_C_andCPP_CompileOptions("-DINTERVAL=" + interval + " -DSERIAlDUMP=" + SerialDumpContent);
    CodeDescription codeDescriptor = CodeDescription.createCustomTemplate(templateFolder);
    Map<String, String> replacers = new TreeMap<>();
    replacers.put("{SerialMonitorSerial}", myBoard.mySerialPort);
    codeDescriptor.setReplacers(replacers);
    Build_Verify_upload(codeDescriptor, compileOptions, SerialDumpContent);
}
Also used : IPath(org.eclipse.core.runtime.IPath) CodeDescription(io.sloeber.core.api.CodeDescription) CompileDescription(io.sloeber.core.api.CompileDescription) TreeMap(java.util.TreeMap) DateTimeFormatter(java.time.format.DateTimeFormatter) Test(org.junit.Test)

Example 2 with CompileDescription

use of io.sloeber.core.api.CompileDescription in project arduino-eclipse-plugin by Sloeber.

the class NightlyBoardPatronTest method examples.

@SuppressWarnings("rawtypes")
@Parameters(name = "{0}")
public static Collection examples() {
    Shared.setDeleteProjects(deleteProjects);
    Preferences.setUseBonjour(false);
    Shared.waitForAllJobsToFinish();
    Arduino.installLatestSamDBoards();
    LibraryManager.installLibrary("RTCZero");
    Shared.waitForAllJobsToFinish();
    Preferences.setUseArduinoToolSelection(true);
    myCompileOptions = new CompileDescription();
    MCUBoard zeroBoard = Arduino.zeroProgrammingPort();
    LinkedList<Object[]> examples = new LinkedList<>();
    TreeMap<String, IPath> exampleFolders = LibraryManager.getAllLibraryExamples();
    for (Map.Entry<String, IPath> curexample : exampleFolders.entrySet()) {
        String fqn = curexample.getKey().trim();
        IPath examplePath = curexample.getValue();
        // for patron Keith Willis. Thanks Keith
        if (fqn.contains("RTCZero")) {
            Example example = new Example(fqn, examplePath);
            Object[] theData = new Object[] { Shared.getCounterName(example.getLibName() + ":" + fqn + ":" + zeroBoard.getID()), zeroBoard, example };
            examples.add(theData);
        }
    }
    return examples;
}
Also used : IPath(org.eclipse.core.runtime.IPath) CompileDescription(io.sloeber.core.api.CompileDescription) MCUBoard(io.sloeber.providers.MCUBoard) TreeMap(java.util.TreeMap) Map(java.util.Map) LinkedList(java.util.LinkedList) Parameters(org.junit.runners.Parameterized.Parameters)

Example 3 with CompileDescription

use of io.sloeber.core.api.CompileDescription in project arduino-eclipse-plugin by Sloeber.

the class RegressionTest method are_jantjes_options_taken_into_account.

/**
 * This test will fail if the arduino compile option are not taken into account
 * To do sa a bunch of defines are added to the command line and the code checks
 * whether these defines are set properly
 *
 * @throws Exception
 */
@Test
public void are_jantjes_options_taken_into_account() throws Exception {
    BoardDescription unoBoardid = Arduino.uno().getBoardDescriptor();
    IProject theTestProject = null;
    String projectName = "are_defines_found";
    IPath templateFolder = Shared.getTemplateFolder(projectName);
    CodeDescription codeDescriptor = CodeDescription.createCustomTemplate(templateFolder);
    NullProgressMonitor monitor = new NullProgressMonitor();
    try {
        CompileDescription compileOptions = new CompileDescription();
        compileOptions.set_C_andCPP_CompileOptions("-DTEST_C_CPP");
        compileOptions.set_C_CompileOptions("-DTEST_C");
        compileOptions.set_CPP_CompileOptions("-DTEST_CPP");
        theTestProject = SloeberProject.createArduinoProject(projectName, null, unoBoardid, codeDescriptor, compileOptions, new NullProgressMonitor());
        // for the indexer
        Shared.waitForAllJobsToFinish();
        theTestProject.build(IncrementalProjectBuilder.FULL_BUILD, monitor);
        if (Shared.hasBuildErrors(theTestProject)) {
            fail("Failed to compile the project:" + projectName + " The defines have not been taken into account properly");
        }
    } catch (Exception e) {
        e.printStackTrace();
        fail("Failed to create the project:" + projectName);
        return;
    }
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) BoardDescription(io.sloeber.core.api.BoardDescription) IPath(org.eclipse.core.runtime.IPath) CodeDescription(io.sloeber.core.api.CodeDescription) CompileDescription(io.sloeber.core.api.CompileDescription) IProject(org.eclipse.core.resources.IProject) CoreException(org.eclipse.core.runtime.CoreException) Test(org.junit.Test)

Example 4 with CompileDescription

use of io.sloeber.core.api.CompileDescription in project arduino-eclipse-plugin by Sloeber.

the class RegressionTest method createDefaultInoProject.

@Test
public void createDefaultInoProject() throws Exception {
    BoardDescription unoBoardid = Arduino.uno().getBoardDescriptor();
    IProject theTestProject = null;
    String projectName = "createDefaultInoProject";
    CodeDescription codeDescriptor = CodeDescription.createDefaultIno();
    try {
        theTestProject = SloeberProject.createArduinoProject(projectName, null, unoBoardid, codeDescriptor, new CompileDescription(), new NullProgressMonitor());
        // for the indexer
        Shared.waitForAllJobsToFinish();
        theTestProject.build(IncrementalProjectBuilder.FULL_BUILD, new NullProgressMonitor());
        if (Shared.hasBuildErrors(theTestProject)) {
            fail("Failed to compile the project:" + projectName + " INO project no longer work");
        }
    } catch (Exception e) {
        e.printStackTrace();
        fail("Failed to create the project:" + projectName);
        return;
    }
}
Also used : NullProgressMonitor(org.eclipse.core.runtime.NullProgressMonitor) BoardDescription(io.sloeber.core.api.BoardDescription) CodeDescription(io.sloeber.core.api.CodeDescription) CompileDescription(io.sloeber.core.api.CompileDescription) IProject(org.eclipse.core.resources.IProject) CoreException(org.eclipse.core.runtime.CoreException) Test(org.junit.Test)

Example 5 with CompileDescription

use of io.sloeber.core.api.CompileDescription in project arduino-eclipse-plugin by Sloeber.

the class RegressionTest method getBunkersCompileDescription.

static CompileDescription getBunkersCompileDescription() {
    CompileDescription inCompileDescription = new CompileDescription();
    inCompileDescription.set_All_CompileOptions("-Deen=1");
    inCompileDescription.set_Archive_CompileOptions("-Dtwee=2");
    inCompileDescription.set_Assembly_CompileOptions("-Drie=3");
    inCompileDescription.set_C_andCPP_CompileOptions("-Dvier=4");
    inCompileDescription.set_C_CompileOptions("-Dvijf=5");
    inCompileDescription.set_Link_CompileOptions("-Dzes=6");
    inCompileDescription.set_CPP_CompileOptions("-Dzeven=7");
    inCompileDescription.setSizeCommand(SizeCommands.ARDUINO_WAY);
    inCompileDescription.setEnableParallelBuild(true);
    inCompileDescription.setWarningLevel(WarningLevels.NONE);
    return inCompileDescription;
}
Also used : CompileDescription(io.sloeber.core.api.CompileDescription)

Aggregations

CompileDescription (io.sloeber.core.api.CompileDescription)21 CodeDescription (io.sloeber.core.api.CodeDescription)14 Test (org.junit.Test)14 BoardDescription (io.sloeber.core.api.BoardDescription)13 NullProgressMonitor (org.eclipse.core.runtime.NullProgressMonitor)13 IProject (org.eclipse.core.resources.IProject)12 CoreException (org.eclipse.core.runtime.CoreException)7 IPath (org.eclipse.core.runtime.IPath)7 ICProjectDescription (org.eclipse.cdt.core.settings.model.ICProjectDescription)4 SloeberProject (io.sloeber.core.api.SloeberProject)3 ICConfigurationDescription (org.eclipse.cdt.core.settings.model.ICConfigurationDescription)3 MCUBoard (io.sloeber.providers.MCUBoard)2 TreeMap (java.util.TreeMap)2 SizeCommands (io.sloeber.core.api.CompileDescription.SizeCommands)1 WarningLevels (io.sloeber.core.api.CompileDescription.WarningLevels)1 OtherDescription (io.sloeber.core.api.OtherDescription)1 File (java.io.File)1 URI (java.net.URI)1 DateTimeFormatter (java.time.format.DateTimeFormatter)1 HashMap (java.util.HashMap)1