@@ -10,7 +10,156 @@ Below is the detailed descriptions of API changes and mitigation efforts API con
10
10
11
11
## API Changes in CDT 12.0.
12
12
13
- ### org.eclipse.cdt.cmake.core.properties refactored
13
+ ### CDT's Core Build System refactored and improved
14
+
15
+ Many API changes were made in org.eclipse.cdt.core.build and its surrounding areas, such as CMake and Meson.
16
+ See [ CDT Issue #1000 ] ( https://github.com/eclipse-cdt/cdt/issues/1000 ) for background information and motivation for this change.
17
+ The rest of this section attempts to capture the individual changes made to methods.
18
+
19
+ #### org.eclipse.cdt.core.build.ICBuildConfigurationProvider
20
+
21
+ Renamed method createBuildConfiguration to createCBuildConfiguration, which reflects it purpose of creating a new Core Build configuration. Also added the ILaunchTarget parameter.
22
+
23
+ Added method:
24
+ * createCBuildConfiguration(IProject, IToolChain, String, ILaunchTarget, IProgressMonitor)
25
+
26
+ Removed method:
27
+ * createBuildConfiguration(IProject, IToolChain, String, IProgressMonitor)
28
+
29
+ Added method allowing extenders to customize the Core Build output directory name.
30
+ * getCBuildConfigName(IProject, String, IToolChain, String, ILaunchTarget)
31
+
32
+ #### org.eclipse.cdt.core.build.CBuildConfiguration
33
+
34
+ Removed method:
35
+
36
+ * org.eclipse.cdt.core.build.CBuildConfiguration.setLaunchMode(String)
37
+
38
+ #### Simplified constructors in org.eclipse.cdt.core.build.CBuildConfiguration
39
+
40
+ The following constructors have been removed from CBuildConfiguration:
41
+
42
+ * org.eclipse.cdt.core.build.CBuildConfiguration.CBuildConfiguration(IBuildConfiguration, String, IToolChain)
43
+ * org.eclipse.cdt.core.build.CBuildConfiguration.CBuildConfiguration(IBuildConfiguration, String, IToolChain, String)
44
+ * org.eclipse.cdt.core.build.CBuildConfiguration.CBuildConfiguration(IBuildConfiguration, IToolChain)
45
+
46
+ Removing them simplified the API as these constructors were unneeded.
47
+
48
+ Instead use:
49
+
50
+ * org.eclipse.cdt.core.build.CBuildConfiguration.CBuildConfiguration(IBuildConfiguration, String)
51
+ * org.eclipse.cdt.core.build.CBuildConfiguration.CBuildConfiguration(IBuildConfiguration, String, IToolChain, String, ILaunchTarget)
52
+
53
+ The documentation on these constructors has been improved.
54
+
55
+ #### Simplified constructors in org.eclipse.cdt.cmake.core.CMakeBuildConfiguration
56
+
57
+ The following constructors have been removed from CMakeBuildConfiguration:
58
+
59
+ * org.eclipse.cdt.cmake.core.CMakeBuildConfiguration.CMakeBuildConfiguration(IBuildConfiguration, String, IToolChain)
60
+ * org.eclipse.cdt.cmake.core.CMakeBuildConfiguration.CMakeBuildConfiguration(IBuildConfiguration, String, IToolChain, ICMakeToolChainFile, String)
61
+
62
+ Instead use:
63
+
64
+ * org.eclipse.cdt.cmake.core.CMakeBuildConfiguration.CMakeBuildConfiguration(IBuildConfiguration, String, IToolChain, ICMakeToolChainFile, String, ILaunchTarget)
65
+
66
+ #### Simplified constructors in org.eclipse.cdt.core.autotools.core.AutotoolsBuildConfiguration
67
+
68
+ The following constructors have been removed from AutotoolsBuildConfiguration:
69
+ * org.eclipse.cdt.core.autotools.core.AutotoolsBuildConfiguration.AutotoolsBuildConfiguration(IBuildConfiguration, String, IToolChain, String)
70
+ * org.eclipse.cdt.core.autotools.core.AutotoolsBuildConfiguration.AutotoolsBuildConfiguration(IBuildConfiguration, String, IToolChain)
71
+
72
+ Instead use:
73
+
74
+ * org.eclipse.cdt.core.autotools.core.AutotoolsBuildConfiguration.AutotoolsBuildConfiguration(IBuildConfiguration, String, IToolChain, String, ILaunchTarget)
75
+
76
+ #### Simplified constructors in org.eclipse.cdt.core.build.StandardBuildConfiguration
77
+
78
+ The following constructors have been removed from StandardBuildConfiguration:
79
+
80
+ * org.eclipse.cdt.core.build.StandardBuildConfiguration.StandardBuildConfiguration(IBuildConfiguration, String, IToolChain, String)
81
+
82
+ Instead use:
83
+
84
+ * org.eclipse.cdt.core.build.StandardBuildConfiguration.StandardBuildConfiguration(IBuildConfiguration, String, IToolChain, String, ILaunchTarget)
85
+
86
+ #### Simplified constructors in org.eclipse.cdt.internal.meson.core.MesonBuildConfiguration
87
+
88
+ The following constructors have been removed from MesonBuildConfiguration:
89
+
90
+ * org.eclipse.cdt.internal.meson.core.MesonBuildConfiguration.MesonBuildConfiguration(IBuildConfiguration, String, IToolChain)
91
+
92
+ * org.eclipse.cdt.internal.meson.core.MesonBuildConfiguration.MesonBuildConfiguration(IBuildConfiguration, String, IToolChain, IMesonToolChainFile, String)
93
+
94
+ Instead use:
95
+
96
+ * org.eclipse.cdt.internal.meson.core.MesonBuildConfiguration.MesonBuildConfiguration(IBuildConfiguration, String, IToolChain, String, ILaunchTarget)
97
+
98
+ * org.eclipse.cdt.internal.meson.core.MesonBuildConfiguration.MesonBuildConfiguration(IBuildConfiguration, String, IToolChain, IMesonToolChainFile, String, ILaunchTarget)
99
+
100
+ #### org.eclipse.cdt.core.build.ICBuildConfiguration
101
+
102
+ Added method:
103
+
104
+ * org.eclipse.cdt.core.build.ICBuildConfiguration.getLaunchTarget()
105
+
106
+ #### org.eclipse.cdt.core.build.ICBuildConfigurationManager
107
+
108
+ The documentation has been improved.
109
+
110
+ Added method:
111
+
112
+ * org.eclipse.cdt.core.build.ICBuildConfigurationManager.getBuildConfiguration(IProject, IToolChain, String, ILaunchTarget, IProgressMonitor)
113
+
114
+ Removed method:
115
+
116
+ * org.eclipse.cdt.core.build.ICBuildConfigurationManager.getBuildConfiguration(IProject, IToolChain, String, IProgressMonitor)
117
+
118
+ * org.eclipse.cdt.core.build.ICBuildConfigurationManager.getBuildConfiguration(IProject, Map<String, String>, String, IProgressMonitor)
119
+
120
+ #### org.eclipse.cdt.debug.core.launch.CoreBuildLaunchConfigDelegate
121
+
122
+ Removed deprecated method:
123
+
124
+ * org.eclipse.cdt.debug.core.launch.CoreBuildLaunchConfigDelegate.getBuildConfiguration(IProject, String, ILaunchTarget, IProgressMonitor)
125
+
126
+ #### org.eclipse.launchbar.core.target.ILaunchTarget
127
+
128
+ Removed deprecated method:
129
+
130
+ * org.eclipse.launchbar.core.target.ILaunchTarget.getName()
131
+
132
+ #### org.eclipse.launchbar.core.target.ILaunchTargetManager
133
+
134
+ Added method:
135
+
136
+ * org.eclipse.launchbar.core.target.ILaunchTargetManager.getLocalLaunchTarget()
137
+
138
+ Added field:
139
+
140
+ * org.eclipse.launchbar.core.target.ILaunchTargetManager.localLaunchTargetId
141
+
142
+ #### org.eclipse.launchbar.core.target.LaunchTargetUtils
143
+
144
+ Added methods that can be used to check/fix the Launch Target name:
145
+
146
+ * org.eclipse.launchbar.core.target.LaunchTargetUtils.isInvalidName(String)
147
+ * org.eclipse.launchbar.core.target.LaunchTargetUtils.sanitizeName(String)
148
+
149
+ #### org.eclipse.cdt.debug.core
150
+ - Version bumped to 9.0.0
151
+ - Removed method (already deprecated):
152
+ - org.eclipse.cdt.debug.core.launch.CoreBuildLaunchConfigDelegate.getBuildConfiguration(IProject, String, ILaunchTarget, IProgressMonitor)
153
+
154
+ #### org.eclipse.launchbar.core.target
155
+ - Added method:
156
+ - org.eclipse.launchbar.core.target.ILaunchTargetManager.getLocalLaunchTarget()
157
+ - Added field:
158
+ - org.eclipse.launchbar.core.target.ILaunchTargetManager.localLaunchTargetId
159
+ - Added class:
160
+ - org.eclipse.launchbar.core.target.LaunchTargetUtils
161
+
162
+ #### org.eclipse.cdt.cmake.core.properties refactored
14
163
15
164
A significant simplification to the CMake build properties was completed, this included removing some API that was not used.
16
165
The following classes have been removed or modified in API breaking ways:
0 commit comments