DrawBuild help
--------------
DrawBuild 是按项目顺序,手动编译项目。 DrawBuild 经历过许多种方式实现(bat实现,php实现,python实现),
各有缺点和 优点,最后形成现在这个样子。以后也许可能会有 gui DrawBuild。
可以编译支持 vc2005 vc2008 版本的项目。 vc2010以上版本没有试过,不知道 是否可用,但是应该可以用的。
DrawBuild 1.3主要升级和添加的功能。
1.支持三种宏功能。全局宏,菜单项宏,项目组宏。
2.菜单项目命令执行组功能。
主要功能:
1、DrawBuild 最多可以显示31个需要编译的项目组配置文件。
2、每个项目配置文件,可以显示31个项目组,每个项目组,可以包含 N 个项目。每个项目可以使用不同的vc编译器。
3、支持 win32 or x64 or ______ 平台,Debug ReleaseTest Release ______ 这几种组合配置。
4、调用外部制作安装程序。
5、动态切换项目配置文件。同时只能有一个项目配置文件是活动的。
6、支持三种宏功能。全局宏,菜单项宏,项目组宏。
7、命令执行组功能。
8、菜单项目命令执行组功能。
全程载图:
DrawBuild主要文件:
----------------------------
DrawBuild.exe DrawBuild 主程序
DrawBuild.xml DrawBuild 的配置文件
templet.xml DrawBuild 实例文件。需要编译的项目的列表。/td>
<help> DrawBuild 帮助文件
DrawBuild.xml 文件说明(重要说明)
1.DrawBuild.xml文件只有一个节点。<xmlPath path="F:\Temp\DrawBuild" def="templet.xml"></xmlPath> 指定项目配置文件所在的路径。 如果没有写,默认当前程序文件夹。
"path" + "def"
注:指定项目配置文件所在的路径
&nb
templet.xml 配置文件说明
--------------------------------
一、编译工具设置。
二、三种宏功能。
1.全局宏。作用域,整个配置文件。
<macros>
<items>
<item name="$(DebugWin32)" param=""Debug|win32" /projectconfig "Debug|win32""></item>
<item name="$(ReleaseTestWin32)" param=""ReleaseTest|win32" /projectconfig "ReleaseTest|win32""></item>
.....
</items>
</macros>
2.菜单宏。每一个菜单的宏可以不一样,作用域,菜单项以下的操作。属性名:"MacroOrPath",值:xml 绝对路径。
<MacroOr>
<DebugWin32>
<items>
<item name="$(ConfigurationName)" param="Debug"></item>
<item name="$(PlatformName)" param="win32"></item>
</items>
</DebugWin32>
<ReleaseTestWin32>
<items>
<item name="$(ConfigurationName)" param="Release"></item>
<item name="$(PlatformName)" param="win32"></item>
</items>
</ReleaseTestWin32>
...
<MacroOr>
<item ln="1" col="0" name="Debug Build" cmd="W" MacroOrPath="//config/MacroOr/ReleaseWin32"></item>
3.项目组宏。每一个项目组的宏不一样,作用域,项目组以下的操作。
<group name="1.9x" PrjsRoot="U:\1.9x" BuildTools="$(vc2008)" ext=".vcproj">
<MacroLocal MacroPath="//config/tf_1.9x"></MacroLocal> // 这个地方。
<items>
</items>
三、参数设置
//config/param/items/item 节点,属性说明:
<item name="$(DebugWin32)" param=""Debug|win32" /projectconfig "Debug|win32""></item>
--必写属性:
"name" 当前参数的名子。
"param" 填写参数。
四、菜单设置。
//config/menu/groups 下面的菜单组节点说明:菜单组不限数,菜单项不限数。
菜单组说明:
<group name="---Windows 32bit:" load="t"> 菜单组只有两个属性。
---必写属性:
"name" 当前菜单组显示的名子。
--可写属性:
“load” 菜单组是否显示出来。
菜单项说明:
/group/items/item 菜单节点说明。菜单项可以是 N 行,固定为3列。
格式1:<item ln="0" col="0" name="Debug Rebuild" cmd="Q" build="/rebuild" param="$(DebugWin32)" load=""></item>
格式2:<item ln="3" col="2" name="Run TheFiles" cmd="R" CmdPath="//config/RunTheFiles1.9x/win32release"></item>
--必写属性:
"ln" 菜单项所在行。
"col" 菜单项所在列。
"name" 菜单项显示的名子。
“cmd” 菜单项的命令。 不能重复。
--可写属性:
"MacroOrPath"写宏绝对路径。
--可写属性组(VC、C#、VB项目使用)
"build" 写 /rebuild /build /Clean。
"param" 这里写参数设置中的参数名子。 参见参数设置。
--可写属性组 (命令执行节点,执行DrawBuild内部命令用,只能写一种)
"CmdPath" 写命令执行节点,xml绝对路径。
"CmdPath" 写DrawBuild内部命令。
--可写属性组(菜单项目组执行节点)
"NodeRun"写项目组的节点名。
4.项目组设置
//config/prjs/group/group 节点,属性说明:"name" "PrjsRoot" "BuildTools" "ext" 是必写属性。load是可写属性,默认t
格式:<group name="1.9x" PrjsRoot="U:\1.9x" BuildTools="$(vc2008)" ext=".vcproj">
五、项目组项设置
group/items/item节点,可以执行两种功能,一种是编译项目,第二种是命令执行节点。
格式1编译项目:<item path="\conch\src\TraceLog" name="TraceLog" ext=".vcproj"></item>
格式2命令执行节点:<item CmdPath="//config/MakeSetup1.9"></item>
编译项目,属性说明:
格式1编译项目:<item path="\conch\src\TraceLog" name="TraceLog" ext=".vcproj"></item>
--必写属性:
"path" 当前项目是相对路径,还是绝对路径。和 "root"属性结合在一起使用。
"name" 当前项目的名子,不带扩展名.
--可写属性:
"BuildTools" 如果没有,会使用 <group> 节点中的 "BuildTools" 属性。
"ext" 如果没有,使用 <group> 节点中的 "ext" 属性。
"load" 是可写属性,默认t.
"root" 是可写属性,默认f. 说明当前项目是相对路径,还是绝对路径,
命令执行节点,属性说明:
格式2命令执行节点:<item CmdPath="//config/MakeSetup1.9"></item>
--必写属性:
"CmdPath" 写命令执行节点,xml绝对路径。
--可写属性:
"load" 是可写属性,默认t.
六、菜单项目组命令执行节点。
功能需要菜单和项目组结合在一起使用。这个命令执行节点是在项目组下面,可能需要依赖项目组宏。
使用方法。需要在菜单项和项目组两个地方修改添加。
1.建立一个菜单项,在菜单项里添加“NodeRun”属性。属性的值是一个写在项目组中的节点名称。
2.在项目组中添加一个节点,节点名称就是 "NodeRun"属性的值。在新建立的节点中添加 "CmdPath" 执行属性。
格式:
1.添加修改菜单项。
<item ln="3" col="0" name="Regsvr32" cmd="T" NodeRun="regsvr" MacroOrPath="//config/MacroOr/DebugWin32"></item>
2.项目组处添加修改。
<group name="1.9x" PrjsRoot="U:\1.9x" BuildTools="$(vc2008)" ext=".vcproj">
<MacroLocal MacroPath="//config/tf_1.9x"></MacroLocal>
<regsvr CmdPath="//config/Regsvr32_1.9"></regsvr> /// 这个地方。 属性"CmdPath"的值是:命令执行节点xml绝对路径。
<items>
</items>
七、命令执行节点
命令执行节点,是可以顺序执行一组程序列表。每个程序可以设置为等待结束和不等待结束。
xml路径位置自己存放地方,格式如下:
主节点定义/items/item
<MakeSetup1.9 type="cmd"> // 这个是主节点。
<items>
<item exe="c:\windows\system32\xcopy.exe" param="f:\tf\1.9\v /s/e c:\1.9\tf\v\" load="f"></item>
<item exe="d:\制作安装程序.exe" Param="param" load="t" />
</items>
</MakeSetup1.9>
--必写属性:
"type" 说明命令执行节点是什么类型。目前支持 cmd 命令类型。
"exe" 需要执行的程序文件。
--可写属性:
"param" 程序文件需要的参数。
“wait” 设置是否等待程序执行结束。t 等待结束,f不等结束,就执行下一个程序。
八、升级说明。
1.0 升级到 1.1
1.拷贝一份DrawBuild自带的项目模板文件,然后拷贝你的项目组到项目模板中,就可以了。
1.1 升级到 1.2
1.修改“项目参数设置” <param> 为 <macros>。 其它地方不动。
<!--项目参数设置-->
<param>
<items> <items>
</param>
改为:
<macros>
<items></items>
</macros>
2.需要使用《三种宏功能》,就在菜单项和项目组的地方,手动添加宏属性,宏属性值路径。
3.需要使用《菜单项项目组执行节点》功能,在菜单项和项目组的地方,添加节点属性和执行节点。
4.fkBuild 改名为 DrawBuild
九、说明。
1.试着用命令行编译项目,用命令行编译项目,有非常多的优势,以后的gui DrawBuild有可能也会把命令行嵌入到gui中。
查看 p> 查看 ..\templet.xml 项目编译配置文件。
http://git.oschina.net/conching/TheFiles/raw/master/DrawBuild/help/templet.xml
下载DrawBuild.zip文件包。
http://git.oschina.net/conching/TheFiles/raw/master/DrawBuild/DrawBuild.zip
联系信息:
ytf1978@163.com
http://blog.csdn.net/hotsoftg