cdt/cdt_5_0_x/org.eclipse.cdt.managedbuilder.core/ChangeLog
changeset 0 0e6d23e2b466
equal deleted inserted replaced
-1:000000000000 0:0e6d23e2b466
       
     1 2005-05-03 Vladimir Hirsl
       
     2 	Fix for PR 91276: Cygpath on Linux for SCD?
       
     3 	Changes in CygpathTranslator that affect DefaultGnuWinScannerInfoCollector.
       
     4 	
       
     5 	* src/org/eclipse/cdt/managedbuilder/internal/scannerconfig/DefaultGnuWinScannerInfoCollector.java
       
     6 
       
     7 2005-03-18 Alain Magloire
       
     8 	Fix for PR 88110: Importing project that need converting would
       
     9 	create NPE and ResouceException failures.
       
    10 	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
       
    11 	* src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject12.java
       
    12 	* src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject20.java
       
    13 	* src/org/eclipse/cdt/managedbuilder/projectconverter/UpdateManagedProject.java
       
    14 
       
    15 2005-01-24 Vladimir Hirsl
       
    16 	Updated managed build scanner info collector to use new interfaces introduced
       
    17 	for CDT 3.0.
       
    18 	
       
    19 2004-03-16 Tanya Wolff
       
    20 	Marked remaining strings untranslatable as they belong to the extensibility schema.
       
    21 
       
    22 2004-03-12 Sean Evoy
       
    23 	Commit for Jeremiah Lott. 
       
    24 	Allows the managed build system to resolve "forward references" within its 
       
    25 	extensions. In practice this is necessary to allow references between 
       
    26 	extensions in different plugins.
       
    27 
       
    28 	Partial fix for bugzilla 54202:
       
    29 	No longer use the cdtbuild file for persisting the default target and 
       
    30 	configuration settings for a project. This is assumed to be an individual 
       
    31 	workspace level setting so the choices are persisted in the project's 
       
    32 	persistent settings store.
       
    33 
       
    34 2004-03-09 Sean Evoy
       
    35 	Fix for bugzilla 45311: "CVS tries to check in contents of build output"
       
    36 	
       
    37 	The managed make builder generates the output directories, and the makefiles 
       
    38 	for those directories. Those files should be tagged as "derived" so that the
       
    39 	CM system will ignore the files on check-in. Now, that is done when a new 
       
    40 	build directory or file is added to the project. The workspace will take care 
       
    41 	of files created by the build process through the Ignored Resources 
       
    42 	extension point.
       
    43 
       
    44 2004-03-08 Sean Evoy
       
    45 	Committing the changes needed by our partners to better support a variety 
       
    46 	of tool references. A class hierarchy of tool references has been introduced. 
       
    47 	The base class is an abstract tool reference. Unqualified tool references, 
       
    48 	like those used in the manifest or project files will be continue to be 
       
    49 	treated as tool references. However, we now have some flexibility for the 
       
    50 	future should a more refined type of tool reference be needed; for example, 
       
    51 	a dynamic tool that reads a configuration file to determine what environment 
       
    52 	it is targetting.
       
    53 
       
    54 2004-03-05 Sean Evoy
       
    55 	Fix for bug 53856: "Option reference not reporting built-in includes 
       
    56 	paths to scanner"
       
    57 	
       
    58 	Changed the constructor for the OptionReference so it only creates a 
       
    59 	list if it finds built-in path or symbol definitions in the manifest 
       
    60 	or project file. The getter method for built-ins also concatenates the 
       
    61 	definitions it contains with those of its parent.
       
    62 	
       
    63 	Undid the changes to the geenrated makefile builder since bug 53253 has 
       
    64 	been corrected.
       
    65 	
       
    66 	Fix for bug 53861: "Cannot reset tool command back to default"
       
    67 	Changed the way the configuration sets the tool command when the value 
       
    68 	is the same as the default.
       
    69 	
       
    70 2004-03-02 Sean Evoy
       
    71 	A change in VCErrorParser to fix bug 53253 causes an IndexOutOfBounds 
       
    72 	exception when echoing a build command on Win32 if the absolute path 
       
    73 	to the make utility is specified, i.e. C:\<path>\make.exe
       
    74 	
       
    75 	The work-around is to not have the launcher echo the command, and just 
       
    76 	output it to the build console directly.
       
    77 
       
    78 2004-03-02 James Ciesielski
       
    79 	Marked those strings that are non-translatable as such and externalized 
       
    80 	those strings that can be translated.  There is still work to be done in
       
    81 	this area for this plugin.
       
    82 
       
    83 	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuilderCorePlugin.java
       
    84 	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuilderManager.java
       
    85 	* src/org/eclipse/cdt/managedbuilder/core/ManagedCProjectNature.java
       
    86 	* src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java
       
    87 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
    88 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
    89 	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
    90 	* src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
       
    91 	* src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
       
    92 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
    93 	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
       
    94 	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties
       
    95 
       
    96 2004-03-02 Sean Evoy
       
    97 	Work to support feature C1, "Set Tool Command in Project". 
       
    98 	Now it is possible to store an overridden tool command in a tool 
       
    99 	reference. The tool command can be overridden directly in an 
       
   100 	existing reference, or through the configuration, which creates a 
       
   101 	new tool reference.
       
   102 
       
   103 2004-02-26 Jeremiah Lott
       
   104 	Added a header to the automatically generated makefiles to alert users 
       
   105 	not to edit them. Also added includes directives to bring in user-supplied 
       
   106 	makefiles to support additional targets, macro definitions, and custom 
       
   107 	build steps. Strings are externalized.
       
   108 	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties
       
   109 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   110 
       
   111 2004-02-26 Sean Evoy
       
   112 	Work for C14, add the ability to inherit a tool description via a tool 
       
   113 	reference.
       
   114 	
       
   115 	Changed the schema to allow a tool reference to belong to a target.
       
   116 	* schema/ManagedBuildTools.exsd
       
   117 	
       
   118 	Changed the manifest logic in the managed build manager to load and 
       
   119 	retrieve tool definitions as well as target definitions. The schema 
       
   120 	allowed for this, but the logic was missing.
       
   121 	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
       
   122 
       
   123 	Made some bookeeping additions to the target so that it can store references 
       
   124 	to tools. First, the target loads any tool references it has. Then it loads 
       
   125 	tools and configurations. The target also has to consider the presence of tool 
       
   126 	references when it determines how many tools it has, so the logic that counted 
       
   127 	and returned the number of tools in the target was updated. Some key changes in 
       
   128 	this regard relate to how the target looks up the tool references it has. It 
       
   129 	now has to ask the managed build info if it has a tool definition for the reference 
       
   130 	if there are no tools defined for the target level for a given reference.
       
   131 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
   132 	
       
   133 	Tool references now have the potential to be owned by either a target or a 
       
   134 	configuration. Changed the owner to the superclass of both and figure out 
       
   135 	which the parent is at runtime to perform the proper registration and information 
       
   136 	look-up. Also removed the reference to a target from a tool and the interface to 
       
   137 	extract the target from ITool.
       
   138 	* src/org/eclipse/cdt/managedbuilder/core/ITool.java
       
   139 	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
       
   140 	* src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
       
   141 	
       
   142 	An unrelated bug had to do with a problem my testing uncovered with nested 
       
   143 	categories. The manifest reader was looking at the wrong field to determine 
       
   144 	the parent, but for the manifests we have created, this has not proven to be 
       
   145 	a problem so far.
       
   146 	* src/org/eclipse/cdt/managedbuilder/core/IOptionCategory.java
       
   147 	* src/org/eclipse/cdt/managedbuilder/core/IOptionCategory.java	
       
   148 	
       
   149 2004-02-24 Sean Evoy
       
   150 	Changed the makefile generator to escape any whitespace it finds in a dependency
       
   151 	path. Now it is possible to build a project in a location with spaces but 
       
   152 	you still cannot have internal folders with spaces in the name. 
       
   153 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   154 	
       
   155 	Tweaked the builder to put only the make command in invocation if there were 
       
   156 	no arguments spec'd. It seemed to be causing a fake error message 
       
   157 	to be reported on Linux even though make was successfully building the project.
       
   158 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
   159 	
       
   160 2004-02-23 Sean Evoy
       
   161 	Fix for bug 52647.
       
   162 	In 1.2, the target stored the raw, overridden build command the user 
       
   163 	specified on the property page. This string may or may not have included 
       
   164 	arguments to make. The managed build info was responsible for parsing the 
       
   165 	command from the arguments and returning both to the makefile generator. 
       
   166 	The problem was that the logic was too light-weight to really parse a 
       
   167 	complex command line. That logic has been refactored to the property page itself, 
       
   168 	so the price of parsing is payed once.
       
   169 	
       
   170 	The Target and its public interface have been reworked to set and get the 
       
   171 	arguments for make. This is treated as a project-level setting. It cannot 
       
   172 	be defined in a manifest for now. There is also a capability to reset and 
       
   173 	test the args when checking for an overridden make command in a target.
       
   174 	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java 
       
   175 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
   176 
       
   177 	The arguments are now passed to the spawner that launches make correctly. 
       
   178 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
   179 	
       
   180 	The ManagedBuildInfo is off the hook now. Rather than performing any 
       
   181 	parsing or foo-fa-raw, it simply delegates the lookup to the target.
       
   182 	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
   183 
       
   184 2004-02-17 Sean Evoy
       
   185 	Fix for critical bug 44163.
       
   186 	The managed build info would become confused when the project it was associated
       
   187 	with was renamed. The project still stored the build information in its session 
       
   188 	data, but the internal reference to the owner project was not updated in the 
       
   189 	build info. Now, when the build info is retrieved from a project, the manager 
       
   190 	asks the info to do a sanity test to check the identity of the true owner against 
       
   191 	the owner the it thinks it has. If they differ, the build information updates its 
       
   192 	owner and the owner of all the targets it maintains for the project.
       
   193 	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java	
       
   194 	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
   195 	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
       
   196 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
   197 
       
   198 
       
   199 	Fixes for 51646
       
   200 	Moved the makefile comment character out of the hard-coded strings and into 
       
   201 	the makefile generator.
       
   202 	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties
       
   203 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   204 	
       
   205 	Fixes for bug 49590:
       
   206 	The target maintains the default extension and the overridden extension. There 
       
   207 	is an interface to get and set the extension, but the method to get the default 
       
   208 	extension is deprecated.
       
   209 	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
       
   210 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
   211 	
       
   212 	The build information now has a method to get at the extension
       
   213 	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
       
   214 	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
   215 	
       
   216 	The makefile generator now asks for both the name and the extension when 
       
   217 	generating targets and dependencies.
       
   218 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   219 
       
   220 2003-10-23 Bogdan Gheorghe
       
   221 	Updated the indexManager.perfomConcurrentJob call in MakefileGenerator
       
   222 	
       
   223 2003-10-03 Sean Evoy
       
   224 	Fix for critical bug 44134. 
       
   225 	
       
   226 	The problem lies in how the makefile is generated when a build target 
       
   227 	references other projects. The makefile creates a command to change to 
       
   228 	the build directory of the referenced project and call $(MAKE) there, i.e.
       
   229 		cd <dep_project_build_dir>; $(MAKE) clean all 
       
   230 
       
   231 	The problem arises when the directory change fails. As of RC0, the command 
       
   232 	after the semi-colon is evaluated. Unfortunately, it evaluates to a recursive 
       
   233 	make call in the build directory of the build target and 'make' will keep 
       
   234 	invoking more 'make's until Eclipse runs out of memory. With a manual build, 
       
   235 	the user can still cancel the build. When autobuild is turned on, they cannot. 
       
   236 	The only way to shut down Eclipse under that scenario is to kill it, and when 
       
   237 	it restarts, autobuild is still enabled and the problem repeats.
       
   238 
       
   239 	The solution is to NOT perform the 'make' command if the 'cd' fails, i.e.
       
   240 		cd <dep_project_build_dir> && $(MAKE) clean all 
       
   241 
       
   242 	When the dependencies are generated this way, the 'cd' will fail as will the 
       
   243 	build. The final tweak is to ignore the 'cd' failure and allow the rest of 
       
   244 	the build to continue, i.e.
       
   245 		-cd <dep_project_build_dir> && $(MAKE) clean all 
       
   246 		
       
   247 	*  src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   248 
       
   249 2003-10-01 Sean Evoy
       
   250 	Final fix for bugs 44020.
       
   251 	The problem lay with the way that new projects were being created when the 
       
   252 	root configuration of the project had tool references overriding options. 
       
   253 	What the new configuration should have been doing is making a personal copy 
       
   254 	of the tool reference and its options. Instead, they were all sharing the 
       
   255 	parents. Seems simple enough now that I found it.
       
   256 	 
       
   257 	OptionReference provides a method to retreive its option (so new 
       
   258 	OptionReferences can be cloned).
       
   259 	* src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
       
   260 	
       
   261 	Configuration now behaves correctly when it is created from another configuration.
       
   262 	* src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java
       
   263 
       
   264 2003-10-01 Sean Evoy
       
   265 	Fix for bugs 43490 (trivial), 44020, and 43980.
       
   266 	Added a new field to the schema for a tool. The attribute manages a list of 
       
   267 	project natures that the tool should be filtered against in the build model 
       
   268 	and UI.
       
   269 	* schema/ManagedBuildTools.exsd
       
   270 	
       
   271 	Updated the ITool interface and its mplementors to pay attention to this new 
       
   272 	attribute when loading from a plugin file. Clients can querry for a numeric 
       
   273 	constant indicating the filter.
       
   274 	* src/org/eclipse/cdt/managedbuilder/core/ITool.java
       
   275 	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
       
   276 	* src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
       
   277 	
       
   278 	All the methods in managed build manager that access information stored in a tool 
       
   279 	first check that the tool is valid for the project nature.
       
   280 	*  src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
   281 	
       
   282 	Put a safety check in the option reference constructor when reading one in from 
       
   283 	a project file. I the option reference is to an option not managed by the build 
       
   284 	model, the constructor does not add itself to the runtime representation of the 
       
   285 	model.
       
   286 	* src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
       
   287 
       
   288 	In preparation for 44020, each new target created is assigned a truly random ID.
       
   289 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
   290 
       
   291 2003-09-30 Sean Evoy
       
   292 	Fix for bug 41826.
       
   293 	
       
   294 	Finished the use case for changing header files and triggering a build. I had 
       
   295 	to add a new attribute to the build model schema to allow a build information 
       
   296 	client to determine that a file is considered a header file.
       
   297 	* schema/ManagedBuildTools.exsd
       
   298 	
       
   299 	The ITool, and its implementors now have a method to test if an extension is 
       
   300 	considered to belong to a header file. The Tool also pays attention to the new 
       
   301 	attribute when it reads itself in from the plugin file.
       
   302 	* src/org/eclipse/cdt/managedbuilder/core/ITool.java
       
   303 	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
       
   304 	* src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
       
   305 
       
   306 	There is a method for clients of this information on the BuildInfo interface and 
       
   307 	its implementor.
       
   308 	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
       
   309 	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
   310 	
       
   311 	The builder had to be tweaked in order to behave correctly on a build of an 
       
   312 	empty project or non-managed projects.
       
   313 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
   314 
       
   315 	The makefile generator had to be tweaked to properly add folders that are effected 
       
   316 	by header file changes.
       
   317 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   318 
       
   319 2003-09-26 Sean Evoy
       
   320 	A partial implementation for bug 41826. This patch contains the logic to properly 
       
   321 	respond in the face of the following project changes:
       
   322 	
       
   323 	1. A generated project element, such as the build target or an intermediate file, 
       
   324 	is deleted in the build project, or any projects it references.
       
   325 	2. The build settings change in the build project or any projects it 
       
   326 	references.
       
   327 	
       
   328 	In order to actually do this correctly, I had to stop being so precious during the 
       
   329 	build. The makefile generator was was calculating the "build needed" state as it 
       
   330 	walked the change delta. However, the Eclipse core has already determined that I 
       
   331 	need to do a build. Further, as I discovered earlier, it doesn't always pass what 
       
   332 	has changed in referenced projects as part of the delta. Essentially, that means I 
       
   333 	will never be able to fully calculate the change set in the makefile generator's 
       
   334 	delta visitor, and to even approximate a decent set of cases, the logic would quickly 
       
   335 	bog down in complexity. 
       
   336 	
       
   337 	The solution is to trust Eclipse and alway invoke make when my incremental builder 
       
   338 	is called. At worst, if there is no significant change, make will execute and 
       
   339 	report nothing to be done.
       
   340 	
       
   341 	The modified makefile builder no longer asks the makefile generator if it should 
       
   342 	build. It also no longer cares if the change set is empty (make will report that). 
       
   343 	Since it responds to changes in referenced project's build information, it also 
       
   344 	scrubs all relevant projects after building. Since a build might involve building 
       
   345 	referenced project elements, those projects get their project views refreshed after 
       
   346 	build. The build markers for referenced projects are removed prior to build.
       
   347 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
   348 	
       
   349 	The makefile generator has been simplified. The resource delta visitor logic no 
       
   350 	longer trie to decide if a build should occur. The method to ask has been removed. 
       
   351 	The class no longer throws an exception if the change set is empty. I am also a bit 
       
   352 	more careful to call make with the right targets if a referenced project is built.
       
   353 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   354 	
       
   355 2003-09-26 Sean Evoy
       
   356 	I added a fix to the builder and makefile generator to properly handle the following case.
       
   357 	Project A depends on Project B. Something changes in project B and the user requests 
       
   358 	that A be built. Inthis case, the incremental builder is invoked, but it is passed a 
       
   359 	0-length delta on the top resource. Now, the logic of the builder is to treat that case as a 
       
   360 	build event that triggers no makefile regeneration, just an invocation of make.
       
   361 	
       
   362 	Now handles the case where there is no flag applied to the make command and just 
       
   363 	passes the targets as arguments.
       
   364 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
   365 	
       
   366 	The makefile generator now considers the case where the delta is for a project resource 
       
   367 	and has no children. If so, it flags that a build is needed but no makefile generation 
       
   368 	occurs. It also throws a new exception if the top makefile is not saved.
       
   369 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   370 
       
   371 2003-09-25 Sean Evoy
       
   372 	A patch to resolve the problem with refreshing the project after a build, or
       
   373 	bug 42522 if you care about those sorts of things. The managed make builder was
       
   374 	calling refresh at inside a bad if statement. I corrected that and projects 
       
   375 	refresh correctly. Of course, if you have the wrong binary parser selected you are
       
   376 	hosed. You will also notice that the string constants have been changed to 
       
   377 	resolve to a different name. The standard builder uses this name and I wanted 
       
   378 	to minimize the possibility of problems later.
       
   379 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
   380 	
       
   381 	Prepended "Managed" to the externalized string identifiers to avoid future overlap 
       
   382 	with the standard build system. Had to update the makefile generator to use the 
       
   383 	new identifiers.
       
   384 	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties
       
   385 	*  src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   386 	
       
   387 	Changed the signature of the 'getMakeArguments' to return a string instead of an 
       
   388 	array so the builder can invoke make with the user-specified args. I also changed 
       
   389 	the logic of the getMakeCommand method in the implementor so that it only returns 
       
   390 	a string containing the command itself.
       
   391 	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
       
   392 	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
   393 
       
   394 	Explicitly trim all arrays to size before converting them to String[] for Options 
       
   395 	and Tools.
       
   396 	*src/org/eclipse/cdt/managedbuilder/internal/core/Option.java
       
   397 	* src/org/eclipse/cdt/managedbuilder/internal/core/Tool.java
       
   398 	
       
   399 	Fixed a missing bit of logic in the Configuration when a user-object option is 
       
   400 	deleted. Now the build model really does get rid of the the value.
       
   401 	* src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java
       
   402 	
       
   403 2003-09-25 Sean Evoy
       
   404 	This patch contains a lot of changes needed to implement fixes for 42648 and 
       
   405 	43122. 
       
   406 
       
   407 	For 42648, the schema for the the target had to be modified to include a 
       
   408 	comma-separated list of valid host platforms.
       
   409 	* schema/ManagedBuildTools.exsd
       
   410 	
       
   411 	The target had to be updated to properly read in and understand this info, and
       
   412 	the interface had to be updated to return a list to the clients in the UI. The 
       
   413 	target was also changed slightly. It now uses a safer accessor method to get at 
       
   414 	the list of tools it maintains. I have also stopped persisting non-variant info 
       
   415 	to the project file on serialize. There are elements of the target that are not 
       
   416 	subject to change by the user (yet) so they should not be saved.
       
   417 	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
       
   418 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
   419 	
       
   420 	For 43122, I started by simply adding a tool reference to the configurations. 
       
   421 	The tool reference had option references for debug and optimization levels. It 
       
   422 	should have worked, but the model was not handling the inheritance properly. The 
       
   423 	JUnit tests were not finding it because of how they were configured. It was most 
       
   424 	evident in the UI. So, the way configurations and tool reference search for 
       
   425 	overridden option references had to be modified. While I was in there, I cleaned 
       
   426 	up some of the accessor and iteration code in ToolReference and OptionReference.
       
   427 	
       
   428 	For the configuration, the only significant change was a new search method to 
       
   429 	find all option references for a given tool, no matter where they are stored. 
       
   430 	The method had to consider what was overridden in a child config, what was added by 
       
   431 	a child config, and what the parent (or parents) define.
       
   432 	* src/org/eclipse/cdt/managedbuilder/internal/core/Configuration.java
       
   433 	
       
   434 	Option reference now pays attention to overidden values in the plugin file. Until 
       
   435 	now, it only handled the overrides in the project file.
       
   436 	* src/org/eclipse/cdt/managedbuilder/internal/core/OptionReference.java
       
   437 
       
   438 	The ToolReference now distinguishes between local option references which it 
       
   439 	manages directly, and option references held by tool references in the parent(s) 
       
   440 	of its owner. It only serializes its own references, but when asked for options 
       
   441 	relating to the tool it references, it replies with all option references in its 
       
   442 	hierarchy.
       
   443 	* src/org/eclipse/cdt/managedbuilder/internal/core/ToolReference.java
       
   444 	
       
   445 
       
   446 2003-09-25 Bogdan Gheorghe
       
   447 	Modified ResourceDeltaVisitor.visit() to use the new mechanism to get the
       
   448 	projects that dependend a file.
       
   449 	
       
   450 	Modified addSourceDependencies() to use the new mechanism to perform a DependencyQueryJob
       
   451 	
       
   452 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakeFileGenerator.java
       
   453 	
       
   454 2003-09-24 Sean Evoy
       
   455 	Changed the implementor of IScannerInfo to answer only absolute paths when asked for 
       
   456 	includes paths. Users will specify the includes paths in the managed build UI in such a way
       
   457 	that the compiler will not complain. Either they will use absolute paths, or they will specify 
       
   458 	them relative to the build directory. In the second case, it is easier for the managed builder 
       
   459 	to convert the paths relative to this directory into absolute paths before replying tha it is for 
       
   460 	the client to figure this out. 
       
   461 	* 	src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
   462 	
       
   463 2003-09-23 Sean Evoy
       
   464 	All the work in this patch is for critical bug 43292. In order to manage 
       
   465 	configurations, there had to be a method through ITarget to remove 
       
   466 	configurations. Also, to support the naming of newly created configurations, 
       
   467 	I added a name method to the IConfiguration interface. Finally, the ITarget 
       
   468 	needed to support setting (and resetting) the make command to use when building.
       
   469 	* src/org/eclipse/cdt/managedbuilder/core/IConfiguration.java
       
   470 	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
       
   471 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
   472 
       
   473 2003-09-19 Sean Evoy
       
   474 	Added a new field to the target specification in the build model to 
       
   475 	hard-code the binary parser for project creation. There is a new getter 
       
   476 	method in the interface and the implementor contains additional code to 
       
   477 	extract the information from a project file or plugin manifest. The 
       
   478 	interface also contains new strings to make changing the specification 
       
   479 	easier in the future.
       
   480 	* schema/ManagedBuildTools.exsd
       
   481 	* src/org/eclipse/cdt/managedbuilder/core/ITarget.java
       
   482 	* src/org/eclipse/cdt/managedbuilder/internal/core/Target.java
       
   483 	
       
   484 	Fix for bug 41720: libraries are now found for Solaris and Linux 
       
   485 	executables. The problem was the executable had no extension and 
       
   486 	the client of the build model passed null instead of the empty string.
       
   487 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
   488 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   489 
       
   490 2003-09-16 Sean Evoy
       
   491 	Patch contains a fix for bug 43017. Renamed the "addDeps" method to a 
       
   492 	more descriptive "addSourceDependencies". Added a flag when the 
       
   493 	inter-project dependencies are calculated so that clean and all are 
       
   494 	properly passed to the make invocation. Finally, I replaced the hard-coded
       
   495 	'make' with $(MAKE)
       
   496 	* src/org/eclipse/cdt/managedbuilder/internal/core/MakefileGenerator.java
       
   497 	
       
   498 	It also contains some more work on 41826, specifically on the logic to
       
   499 	implement a rebuild when the build settings change. The builder checks for 
       
   500 	a build model change whenever a build is requested and responds appropriately. 
       
   501 	The make targets (i.e. 'clean' and 'all') are also calculated differently now.
       
   502 	* src/org/eclipse/cdt/managedbuilder/internal/core/GeneratedMakefileBuilder.java
       
   503 	
       
   504 	The build model was modified to set a dirty flag when an option changes. I also
       
   505 	made a change to avoid an NPE when the build info was loaded.
       
   506 	* src/org/eclipse/cdt/managedbuilder/core/IManagedBuildInfo.java
       
   507 	* src/org/eclipse/cdt/managedbuilder/internal/core/ManagedBuildInfo.java
       
   508 	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuildManager.java
       
   509 	
       
   510 
       
   511 2003-09-15 Sean Evoy
       
   512 	First submission of code to new project. Moved the managed builder 
       
   513 	source code out of the cdt.core project. This includes the code to 
       
   514 	implement the build model, along with the shema and extension point 
       
   515 	declaration. Moved the builder, scnanaer info provider and managed 
       
   516 	nature definitions into the package as well.
       
   517 	
       
   518 	There are 2 new classes to handle the externalized strings:
       
   519 	* src/org/eclipse/cdt/managedbuilder/core/ManagedBuilderCorePlugin.java
       
   520 	* src/org/eclipse/cdt/managedbuilder/internal/core/PluginResources.properties