Skip to content

Commit 41454b6

Browse files
author
jan
committed
progress with targetTool still need path fix in internal builder
Not sure why but the internal builder path setting no longer works
1 parent 18f9b82 commit 41454b6

40 files changed

+3451
-3296
lines changed

.project

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>arduino-eclipse-plugin</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.m2e.core.maven2Builder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.eclipse.m2e.core.maven2Nature</nature>
16+
</natures>
17+
</projectDescription>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
eclipse.preferences.version=1
2+
encoding/<project>=UTF-8
+2-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
source.. = src/
22
output.. = bin/
33
bin.includes = META-INF/,\
4-
.
4+
.,\
5+
plugin.xml

io.sloeber.autoBuild.test/launch/Autobuild CreateBasicProjects.launch

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
1313
<booleanAttribute key="default" value="true"/>
1414
<booleanAttribute key="includeOptional" value="true"/>
15-
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
15+
<stringAttribute key="location" value="D:\termp\CreateBasicProjects"/>
1616
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
1717
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
1818
<listEntry value="/io.sloeber.autoBuild.test/src/io/sloeber/autoBuild/regression/CreateBasicProjects.java"/>
@@ -21,7 +21,7 @@
2121
<listEntry value="1"/>
2222
</listAttribute>
2323
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
24-
<mapEntry key="MAKE_HOME" value="E:\platform\arduinoPlugin\tools\make\"/>
24+
<mapEntry key="MAKE_HOME" value="D:\platform\arduinoPlugin\tools\make\"/>
2525
</mapAttribute>
2626
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
2727
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="true"/>

io.sloeber.autoBuild.test/launch/AutobuildCreateProject.launch

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
1313
<booleanAttribute key="default" value="true"/>
1414
<booleanAttribute key="includeOptional" value="true"/>
15-
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
15+
<stringAttribute key="location" value="R:\CreateProject"/>
1616
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
1717
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
1818
<listEntry value="/io.sloeber.autoBuild.test/src/io/sloeber/autoBuild/regression/CreateProject.java"/>
@@ -21,7 +21,7 @@
2121
<listEntry value="1"/>
2222
</listAttribute>
2323
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
24-
<mapEntry key="MAKE_HOME" value="E:\platform\arduinoPlugin\tools\make\"/>
24+
<mapEntry key="MAKE_HOME" value="D:\platform\arduinoPlugin\tools\make\"/>
2525
</mapAttribute>
2626
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
2727
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="true"/>

io.sloeber.autoBuild.test/launch/regression.launch

+2-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
1313
<booleanAttribute key="default" value="true"/>
1414
<booleanAttribute key="includeOptional" value="true"/>
15-
<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
15+
<stringAttribute key="location" value="R:\regression"/>
1616
<booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
1717
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
1818
<listEntry value="/io.sloeber.autoBuild.test/src/io/sloeber/autoBuild/regression/regression.java"/>
@@ -21,8 +21,7 @@
2121
<listEntry value="1"/>
2222
</listAttribute>
2323
<mapAttribute key="org.eclipse.debug.core.environmentVariables">
24-
<mapEntry key="MAKE_HOME" value="E:\platform\arduinoPlugin\tools\make\"/>
25-
<mapEntry key="PATH" value="E:\platform\arduinoPlugin\packages\Jantje\tools\MinGW\5.3.0\bin;E:\LLVM\bin"/>
24+
<mapEntry key="MAKE_HOME" value="D:\platform\arduinoPlugin\tools\make\"/>
2625
</mapAttribute>
2726
<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
2827
<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="true"/>

io.sloeber.autoBuild.test/plugin.xml

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<?eclipse version="3.6"?>
33
<plugin>
4-
<extension-point id="io.sloeber.autoBuild.buildDefinitions" name="sloeber autoBuild" schema="schema/buildDefinitions.exsd"/>
54

65

76
<extension id="io.sloeber.autoBuild.test"

io.sloeber.autoBuild.test/src/io/sloeber/autoBuild/regression/CreateBasicProjects.java

+26-23
Original file line numberDiff line numberDiff line change
@@ -25,23 +25,24 @@
2525
import io.sloeber.autoBuild.api.AutoBuildProject;
2626
import io.sloeber.autoBuild.api.IAutoBuildConfigurationDescription;
2727
import io.sloeber.autoBuild.api.ICodeProvider;
28-
import io.sloeber.autoBuild.api.IToolProvider;
29-
import io.sloeber.autoBuild.api.ITargetToolManager;
3028
import io.sloeber.autoBuild.extensionPoint.providers.AutoBuildCommon;
3129
import io.sloeber.autoBuild.helpers.Shared;
3230
import io.sloeber.autoBuild.helpers.TemplateTestCodeProvider;
3331
import io.sloeber.autoBuild.integration.AutoBuildManager;
3432
import io.sloeber.schema.api.IProjectType;
33+
import io.sloeber.targetPlatform.api.ITargetTool;
34+
import io.sloeber.targetPlatform.api.ITargetToolManager;
35+
import io.sloeber.targetPlatform.api.ITargetToolProvider;
3536

3637
@SuppressWarnings({ "boxing", "nls" })
3738
public class CreateBasicProjects {
3839
static int testCounter = 1;
3940
//below are test limiting options buildTypeActiveBuild=null and
4041
private boolean buildTypeActiveBuild = true;
4142
private boolean doTestDefaultBuilder = true;
42-
private boolean doTestInternalBuilder = true;
43-
private boolean doTestMakeBuilder = true;
44-
static IToolProvider toolprovider = ITargetToolManager.getDefault().getAnyInstalledToolProvider();
43+
private boolean doTestInternalBuilder = false;
44+
private boolean doTestMakeBuilder = false;
45+
static Set<ITargetTool> targetTools = ITargetToolManager.getDefault().getAllInstalledTargetTools();
4546

4647
@BeforeAll
4748
static void beforeAll() {
@@ -54,11 +55,11 @@ static void beforeAll() {
5455
}
5556

5657
static void buildAllConfigsAsActive(String builderName, String projectName, String extensionPointID,
57-
String extensionID, String projectTypeID, String natureID, ICodeProvider codeProvider,
58+
String extensionID, String projectTypeID, String natureID, ICodeProvider codeProvider,ITargetTool targetTool,
5859
Boolean shouldMakefileExists) throws Exception {
5960

6061
IProject testProject = AutoBuildProject.createProject(String.format("%03d", testCounter++) + "_" + projectName,
61-
extensionPointID, extensionID, projectTypeID, natureID, codeProvider, toolprovider, false, null);
62+
extensionPointID, extensionID, projectTypeID, natureID, codeProvider, targetTool, false, null);
6263
ICProjectDescription cProjectDesc = CCorePlugin.getDefault().getProjectDescription(testProject, true);
6364
for (ICConfigurationDescription curConfig : cProjectDesc.getConfigurations()) {
6465
cProjectDesc.setActiveConfiguration(curConfig);
@@ -68,11 +69,11 @@ static void buildAllConfigsAsActive(String builderName, String projectName, Stri
6869
}
6970

7071
static void buildAllConfigs(String builderName, String projectName, String extensionPointID, String extensionID,
71-
String projectTypeID, String natureID, ICodeProvider codeProvider, Boolean shouldMakefileExists)
72+
String projectTypeID, String natureID, ICodeProvider codeProvider,ITargetTool targetTool, Boolean shouldMakefileExists)
7273
throws Exception {
7374

7475
IProject testProject = AutoBuildProject.createProject(String.format("%03d", testCounter++) + "_" + projectName,
75-
extensionPointID, extensionID, projectTypeID, natureID, codeProvider, toolprovider, false, null);
76+
extensionPointID, extensionID, projectTypeID, natureID, codeProvider, targetTool, false, null);
7677
ICProjectDescription cProjectDesc = CCorePlugin.getDefault().getProjectDescription(testProject, true);
7778
Set<String> configs = new HashSet<>();
7879

@@ -88,58 +89,58 @@ static void buildAllConfigs(String builderName, String projectName, String exten
8889
}
8990

9091
private void doBuilds(String argsInternalBuilderKey, String projectName, String extensionPointID,
91-
String extensionID, String projectTypeID, String natureID, ICodeProvider codeProvider,
92+
String extensionID, String projectTypeID, String natureID, ICodeProvider codeProvider,ITargetTool targetTool,
9293
Boolean shouldMakefileExists) throws Exception {
9394
if (buildTypeActiveBuild) {
9495
buildAllConfigsAsActive(argsInternalBuilderKey, projectName, extensionPointID, extensionID, projectTypeID,
95-
natureID, codeProvider, shouldMakefileExists);
96+
natureID, codeProvider,targetTool, shouldMakefileExists);
9697
}
9798
if (!buildTypeActiveBuild) {
9899
buildAllConfigs(argsInternalBuilderKey, "all_" + projectName, extensionPointID, extensionID, projectTypeID,
99-
natureID, codeProvider, shouldMakefileExists);
100+
natureID, codeProvider, targetTool,shouldMakefileExists);
100101
}
101102

102103
}
103104

104105
@ParameterizedTest
105106
@MethodSource("projectCreationInfoProvider")
106107
void testDefaultBuilder(String projectName, String extensionPointID, String extensionID, String projectTypeID,
107-
String natureID, ICodeProvider codeProvider) throws Exception {
108+
String natureID, ICodeProvider codeProvider,ITargetTool targetTool) throws Exception {
108109
if (doTestDefaultBuilder) {
109-
doBuilds(null, projectName, extensionPointID, extensionID, projectTypeID, natureID, codeProvider, null);
110+
doBuilds(null, projectName, extensionPointID, extensionID, projectTypeID, natureID, codeProvider,targetTool, null);
110111
}
111112
}
112113

113114
@ParameterizedTest
114115
@MethodSource("projectCreationInfoProvider")
115116
void testInternaltBuilder(String inProjectName, String extensionPointID, String extensionID, String projectTypeID,
116-
String natureID, ICodeProvider codeProvider) throws Exception {
117+
String natureID, ICodeProvider codeProvider,ITargetTool targetTool) throws Exception {
117118
if (doTestInternalBuilder) {
118119
String projectName = "Internal_build_" + inProjectName;
119120

120121
doBuilds(AutoBuildProject.ARGS_INTERNAL_BUILDER_KEY, projectName, extensionPointID, extensionID,
121-
projectTypeID, natureID, codeProvider, Boolean.FALSE);
122+
projectTypeID, natureID, codeProvider,targetTool, Boolean.FALSE);
122123
}
123124
}
124125

125126
@ParameterizedTest
126127
@MethodSource("projectCreationInfoProvider")
127128
void testMakeBuilder(String inProjectName, String extensionPointID, String extensionID, String projectTypeID,
128-
String natureID, ICodeProvider codeProvider) throws Exception {
129+
String natureID, ICodeProvider codeProvider,ITargetTool targetTool) throws Exception {
129130
if (doTestMakeBuilder) {
130131
String projectName = "make_build_" + inProjectName;
131132
doBuilds(AutoBuildProject.ARGS_MAKE_BUILDER_KEY, projectName, extensionPointID, extensionID, projectTypeID,
132-
natureID, codeProvider, Boolean.TRUE);
133+
natureID, codeProvider,targetTool, Boolean.TRUE);
133134
}
134135
}
135136

136137
static Stream<Arguments> projectCreationInfoProvider() {
137138
String extensionPointID = "io.sloeber.autoBuild.buildDefinitions";
138139
Map<String, String> testProjectTypeIds = new HashMap<>();
140+
testProjectTypeIds.put("io.sloeber.autoBuild.projectType.compound.exe", "io.sloeber.autoBuild");
139141
testProjectTypeIds.put("io.sloeber.autoBuild.projectType.exe", "io.sloeber.autoBuild");
140-
testProjectTypeIds.put("cdt.managedbuild.target.gnu.cross.exe", "cdt.cross.gnu");
141-
testProjectTypeIds.put("cdt.managedbuild.target.gnu.cross.so", "cdt.cross.gnu");
142-
testProjectTypeIds.put("cdt.managedbuild.target.gnu.cross.lib", "cdt.cross.gnu");
142+
testProjectTypeIds.put("io.sloeber.autoBuild.projectType.static.lib", "io.sloeber.autoBuild");
143+
testProjectTypeIds.put("io.sloeber.autoBuild.projectType.dynamic_lib", "io.sloeber.autoBuild");
143144

144145
List<Arguments> ret = new LinkedList<>();
145146
for (Entry<String, String> testProjectEntry : testProjectTypeIds.entrySet()) {
@@ -166,9 +167,11 @@ static Stream<Arguments> projectCreationInfoProvider() {
166167
default:
167168
codeProvider_cpp = new TemplateTestCodeProvider("exe");
168169
}
169-
String projectName = AutoBuildCommon.MakeNameCompileSafe(projectType.getName() + "_" + extensionID);
170+
for(ITargetTool curTargetTool:targetTools) {
171+
String projectName = AutoBuildCommon.MakeNameCompileSafe(projectType.getName() + "_" +curTargetTool.getProviderID()+"->"+curTargetTool.getSelectionID()+"_"+ extensionID);
170172
ret.add(Arguments.of(projectName, extensionPointID, extensionID, projectType.getId(),
171-
CCProjectNature.CC_NATURE_ID, codeProvider_cpp));
173+
CCProjectNature.CC_NATURE_ID, codeProvider_cpp,curTargetTool));
174+
}
172175
}
173176
return ret.stream();
174177
}

io.sloeber.autoBuild.test/src/io/sloeber/autoBuild/regression/CreateProject.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@
1010
import org.junit.jupiter.params.provider.MethodSource;
1111
import io.sloeber.autoBuild.api.AutoBuildProject;
1212
import io.sloeber.autoBuild.api.ICodeProvider;
13-
import io.sloeber.autoBuild.api.IToolProvider;
14-
import io.sloeber.autoBuild.api.ITargetToolManager;
1513
import io.sloeber.autoBuild.extensionPoint.providers.AutoBuildCommon;
1614
import io.sloeber.autoBuild.helpers.Shared;
1715
import io.sloeber.autoBuild.helpers.TemplateTestCodeProvider;
1816
import io.sloeber.autoBuild.integration.AutoBuildManager;
1917
import io.sloeber.schema.api.IProjectType;
18+
import io.sloeber.targetPlatform.api.ITargetTool;
19+
import io.sloeber.targetPlatform.api.ITargetToolManager;
2020

2121
import org.eclipse.cdt.core.CCProjectNature;
2222
import org.eclipse.cdt.core.CCorePlugin;
@@ -27,7 +27,7 @@
2727

2828
@SuppressWarnings("nls")
2929
class CreateProject {
30-
static IToolProvider toolprovider = ITargetToolManager.getDefault().getAnyInstalledToolProvider();
30+
static ITargetTool targetTool = ITargetToolManager.getDefault().getAnyInstalledTargetTool();
3131

3232
@BeforeAll
3333
static void beforeAll() {
@@ -42,7 +42,7 @@ void testExample(String myProjectName, String extensionID, String extensionImpID
4242
String natureID, ICodeProvider codeProvider) throws Exception {
4343

4444
IProject testProject = AutoBuildProject.createProject(myProjectName, extensionID, extensionImpID, projectTypeID,
45-
natureID, codeProvider, toolprovider, false, null);
45+
natureID, codeProvider, targetTool, false, null);
4646
ICProjectDescription cProjectDesc = CCorePlugin.getDefault().getProjectDescription(testProject, true);
4747
for (ICConfigurationDescription curConfig : cProjectDesc.getConfigurations()) {
4848
cProjectDesc.setActiveConfiguration(curConfig);

io.sloeber.autoBuild.test/src/io/sloeber/autoBuild/regression/issues.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020
import org.junit.jupiter.api.BeforeAll;
2121

2222
import io.sloeber.autoBuild.api.AutoBuildProject;
23-
import io.sloeber.autoBuild.api.IToolProvider;
24-
import io.sloeber.autoBuild.api.ITargetToolManager;
2523
import io.sloeber.autoBuild.helpers.Shared;
2624
import io.sloeber.autoBuild.helpers.TemplateTestCodeProvider;
25+
import io.sloeber.targetPlatform.api.ITargetTool;
26+
import io.sloeber.targetPlatform.api.ITargetToolManager;
2727

2828
@SuppressWarnings({ "nls", "static-method" })
2929
public class issues {
30-
static IToolProvider toolprovider = ITargetToolManager.getDefault().getAnyInstalledToolProvider();
30+
static ITargetTool targetTool = ITargetToolManager.getDefault().getAnyInstalledTargetTool();
3131

3232
@BeforeAll
3333
public static void beforeAll() {
@@ -102,8 +102,8 @@ public void setDescriptionDoesNotSetDescription() throws Exception {
102102
CoreModel coreModel = CoreModel.getDefault();
103103

104104
IProject testProject = AutoBuildProject.createProject(projectName, defaultExtensionPointID,
105-
defaultProjectTypeID, defaultExtensionID, defaultNatureID, new TemplateTestCodeProvider("exe"),
106-
toolprovider, false, null);
105+
defaultExtensionID,defaultProjectTypeID, defaultNatureID, new TemplateTestCodeProvider("exe"),
106+
targetTool, false, null);
107107

108108
ICProjectDescription cProjectDesc = CCorePlugin.getDefault().getProjectDescription(testProject, true);
109109
for (ICConfigurationDescription curConfig : cProjectDesc.getConfigurations()) {

io.sloeber.autoBuild.test/src/io/sloeber/autoBuild/regression/regression.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -28,21 +28,21 @@
2828

2929
import io.sloeber.autoBuild.api.AutoBuildProject;
3030
import io.sloeber.autoBuild.api.IAutoBuildConfigurationDescription;
31-
import io.sloeber.autoBuild.api.IToolProvider;
32-
import io.sloeber.autoBuild.api.ITargetToolManager;
3331
import io.sloeber.autoBuild.extensionPoint.providers.MakeRule;
3432
import io.sloeber.autoBuild.extensionPoint.providers.MakeRules;
3533
import io.sloeber.autoBuild.helpers.Shared;
3634
import io.sloeber.autoBuild.helpers.TemplateTestCodeProvider;
3735
import io.sloeber.autoBuild.integration.AutoBuildConfigurationDescription;
3836
import io.sloeber.schema.api.IOption;
3937
import io.sloeber.schema.api.ITool;
38+
import io.sloeber.targetPlatform.api.ITargetTool;
39+
import io.sloeber.targetPlatform.api.ITargetToolManager;
4040

4141
@SuppressWarnings({ "static-method", "nls", "boxing" })
4242
public class regression {
4343
static private String extensionPointID = "io.sloeber.autoBuild.buildDefinitions";
4444
static int testCounter = 1;
45-
static IToolProvider toolprovider = ITargetToolManager.getDefault().getAnyInstalledToolProvider();
45+
static ITargetTool targetTool = ITargetToolManager.getDefault().getAnyInstalledTargetTool();
4646

4747
@BeforeAll
4848
public static void beforeAll() {
@@ -75,7 +75,7 @@ public void createCloseOpenProject() throws Exception {
7575

7676
IProject testProject = AutoBuildProject.createProject(projectName, extensionPointID, "cdt.cross.gnu",
7777
"cdt.managedbuild.target.gnu.cross.exe", CCProjectNature.CC_NATURE_ID,
78-
new TemplateTestCodeProvider("exe"), toolprovider, false, null);
78+
new TemplateTestCodeProvider("exe"), targetTool, false, null);
7979

8080
//Build all the configurations and verify proper building
8181
Shared.buildAndVerifyProjectUsingActivConfig(testProject, null);
@@ -114,7 +114,7 @@ public void setBuilder() throws Exception {
114114

115115
IProject testProject = AutoBuildProject.createProject(projectName, extensionPointID, "cdt.cross.gnu",
116116
"cdt.managedbuild.target.gnu.cross.exe", CCProjectNature.CC_NATURE_ID,
117-
new TemplateTestCodeProvider("exe"), toolprovider, false, null);
117+
new TemplateTestCodeProvider("exe"), targetTool, false, null);
118118

119119
//Build the active configuration and verify proper building
120120
Shared.BuildAndVerifyActiveConfig(testProject);
@@ -172,7 +172,7 @@ void testOptions(String optionID, String optionValue, String commandContribution
172172
if (testProject == null || !testProject.exists()) {
173173
testProject = AutoBuildProject.createProject(projectName, extensionPointID, "io.sloeber.autoBuild.test",
174174
"io.sloeber.autoBuild.projectType.test.options", CCProjectNature.CC_NATURE_ID,
175-
new TemplateTestCodeProvider("exe"), toolprovider, false, null);
175+
new TemplateTestCodeProvider("exe"), targetTool, false, null);
176176
}
177177

178178
//get the project and autobuild configurations

0 commit comments

Comments
 (0)