25
25
import io .sloeber .autoBuild .api .AutoBuildProject ;
26
26
import io .sloeber .autoBuild .api .IAutoBuildConfigurationDescription ;
27
27
import io .sloeber .autoBuild .api .ICodeProvider ;
28
- import io .sloeber .autoBuild .api .IToolProvider ;
29
- import io .sloeber .autoBuild .api .ITargetToolManager ;
30
28
import io .sloeber .autoBuild .extensionPoint .providers .AutoBuildCommon ;
31
29
import io .sloeber .autoBuild .helpers .Shared ;
32
30
import io .sloeber .autoBuild .helpers .TemplateTestCodeProvider ;
33
31
import io .sloeber .autoBuild .integration .AutoBuildManager ;
34
32
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 ;
35
36
36
37
@ SuppressWarnings ({ "boxing" , "nls" })
37
38
public class CreateBasicProjects {
38
39
static int testCounter = 1 ;
39
40
//below are test limiting options buildTypeActiveBuild=null and
40
41
private boolean buildTypeActiveBuild = true ;
41
42
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 ();
45
46
46
47
@ BeforeAll
47
48
static void beforeAll () {
@@ -54,11 +55,11 @@ static void beforeAll() {
54
55
}
55
56
56
57
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 ,
58
59
Boolean shouldMakefileExists ) throws Exception {
59
60
60
61
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 );
62
63
ICProjectDescription cProjectDesc = CCorePlugin .getDefault ().getProjectDescription (testProject , true );
63
64
for (ICConfigurationDescription curConfig : cProjectDesc .getConfigurations ()) {
64
65
cProjectDesc .setActiveConfiguration (curConfig );
@@ -68,11 +69,11 @@ static void buildAllConfigsAsActive(String builderName, String projectName, Stri
68
69
}
69
70
70
71
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 )
72
73
throws Exception {
73
74
74
75
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 );
76
77
ICProjectDescription cProjectDesc = CCorePlugin .getDefault ().getProjectDescription (testProject , true );
77
78
Set <String > configs = new HashSet <>();
78
79
@@ -88,58 +89,58 @@ static void buildAllConfigs(String builderName, String projectName, String exten
88
89
}
89
90
90
91
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 ,
92
93
Boolean shouldMakefileExists ) throws Exception {
93
94
if (buildTypeActiveBuild ) {
94
95
buildAllConfigsAsActive (argsInternalBuilderKey , projectName , extensionPointID , extensionID , projectTypeID ,
95
- natureID , codeProvider , shouldMakefileExists );
96
+ natureID , codeProvider ,targetTool , shouldMakefileExists );
96
97
}
97
98
if (!buildTypeActiveBuild ) {
98
99
buildAllConfigs (argsInternalBuilderKey , "all_" + projectName , extensionPointID , extensionID , projectTypeID ,
99
- natureID , codeProvider , shouldMakefileExists );
100
+ natureID , codeProvider , targetTool , shouldMakefileExists );
100
101
}
101
102
102
103
}
103
104
104
105
@ ParameterizedTest
105
106
@ MethodSource ("projectCreationInfoProvider" )
106
107
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 {
108
109
if (doTestDefaultBuilder ) {
109
- doBuilds (null , projectName , extensionPointID , extensionID , projectTypeID , natureID , codeProvider , null );
110
+ doBuilds (null , projectName , extensionPointID , extensionID , projectTypeID , natureID , codeProvider ,targetTool , null );
110
111
}
111
112
}
112
113
113
114
@ ParameterizedTest
114
115
@ MethodSource ("projectCreationInfoProvider" )
115
116
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 {
117
118
if (doTestInternalBuilder ) {
118
119
String projectName = "Internal_build_" + inProjectName ;
119
120
120
121
doBuilds (AutoBuildProject .ARGS_INTERNAL_BUILDER_KEY , projectName , extensionPointID , extensionID ,
121
- projectTypeID , natureID , codeProvider , Boolean .FALSE );
122
+ projectTypeID , natureID , codeProvider ,targetTool , Boolean .FALSE );
122
123
}
123
124
}
124
125
125
126
@ ParameterizedTest
126
127
@ MethodSource ("projectCreationInfoProvider" )
127
128
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 {
129
130
if (doTestMakeBuilder ) {
130
131
String projectName = "make_build_" + inProjectName ;
131
132
doBuilds (AutoBuildProject .ARGS_MAKE_BUILDER_KEY , projectName , extensionPointID , extensionID , projectTypeID ,
132
- natureID , codeProvider , Boolean .TRUE );
133
+ natureID , codeProvider ,targetTool , Boolean .TRUE );
133
134
}
134
135
}
135
136
136
137
static Stream <Arguments > projectCreationInfoProvider () {
137
138
String extensionPointID = "io.sloeber.autoBuild.buildDefinitions" ;
138
139
Map <String , String > testProjectTypeIds = new HashMap <>();
140
+ testProjectTypeIds .put ("io.sloeber.autoBuild.projectType.compound.exe" , "io.sloeber.autoBuild" );
139
141
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" );
143
144
144
145
List <Arguments > ret = new LinkedList <>();
145
146
for (Entry <String , String > testProjectEntry : testProjectTypeIds .entrySet ()) {
@@ -166,9 +167,11 @@ static Stream<Arguments> projectCreationInfoProvider() {
166
167
default :
167
168
codeProvider_cpp = new TemplateTestCodeProvider ("exe" );
168
169
}
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 );
170
172
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
+ }
172
175
}
173
176
return ret .stream ();
174
177
}
0 commit comments