You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

New Project File Formats

FinalBuilder has used an xml file format since version 1, however a common complaint over the years, has been that it is difficult to diff file versions. FinalBuilder 8 has tackled this in two ways.

A new DSL style project file format (.fbp8) is now the default format, it is very easy to diff.  

project
begin
	projectid = {04710B72-066E-46E7-84C7-C04A0D8BFE18}
	target
	begin
		name = Default
		targetid = {E6DE94D6-5484-45E9-965A-DB69885AA5E2}
		rootaction
		begin
			action.group
			begin
				id = {D860420B-DE46-4806-959F-8A92A0C86429}
			end
		end
	end
end

 

A new xml format (.fbx8), much less verbose than the old format.

<?xml version="1.0" encoding="UTF-8"?>
<finalbuilder>
	<project>
		<projectid>{6A717C24-D00F-4983-9FD0-148B2C609634}</projectid>
		<target>
			<name>Default</name>
			<targetid>{E6DE94D6-5484-45E9-965A-DB69885AA5E2}</targetid>
			<rootaction>
				<action.group>
					<id>{D860420B-DE46-4806-959F-8A92A0C86429}</id>
				</action.group>
			</rootaction>
		</target>
	</project>
</finalbuilder>


Compressed project files (.fbz8) use the dsl format internally (compressed projects are just a zip file with a project.fbp8 inside it).

The default project file encoding is now UTF-8, which is more version control friendly (some version control systems treat utf-16 as binaries),

Debugger

One of the most asked for features now available in FinalBuilder 8, stepping into included projects. In FinalBuilder 7 and earlier, you could only step over included projects, and wait for them to return. In FinalBuilder 8, you can step into the included project, if it is not already opened the IDE will open the project and switch to it automatically. To make this possible, there are now "Step Into" and "Step Over" functions. The Step into/over now also applies to targets (see below).

ActionLists renamed to Targets

ActionLists have been renamed to Targets. Targets can now also define dependencies, so you can for example define Clean, Build, Test, and have Test depend on Build. If you execute the Test target, and Build has not already been executed, it will be executed first before Test. Targets can be specified on the command line.

In FinalBuilder 7 and earlier, projects had a Main and an OnFailure actionlist. In FinalBuilder 8, projects just have a Default target. Older projects will be imported such that the Main and OnFailure are called from the Default target. 

 

  • No labels