DrawBuild1.3 欢迎下载使用。(以前名子叫fkBuild)

HotSoftg __计算机视件厂 其他  2016-05-23 12:38:22
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
...全文
1609 点赞 收藏 7
写回复
7 条回复
Eleven 2016年05月24日
你可以不开源你的作品,毕竟是你自己的心血,不过可以分享一下你的想法,比如自己开发过程中的遇到了哪些问题,又是如何解决的,这个是支持的,不方便在这里写,可以写到blog中,对于提供思路分享技术的blog是比较欢迎的,最终不也是提高自己作品的知名度~

如果只是单纯的广告,只要不涉及到法律法规,版主一般是不过问的,CSDN的管理员都不清楚了,不知道会不会删帖,或许他们根本没有这个闲工夫看~
回复 点赞
智能卡_Snooper 2016年05月24日
广告嫌疑是肯定的,其实也没多大,不过我支持楼主不开源,我的东西就不开源。
回复 点赞
赵4老师 2016年05月24日
引用 4 楼 HotSoftg 的回复:
[quote=引用 1 楼 VisualEleven 的回复:] 有源代码吗?提供源代码还可以推荐,否则都视为广告,谢谢理解!
这可是我的心血哦,可真是有些舍不得。[/quote] 冒昧地问你个问题:在你将来弥留之际,你会后悔将你的心血带进棺材而非共享给年轻一代吗? 其实我也问过自己这个问题,答案显然是会,但我现在就是舍不得,咋办? 谁给出个主意?
回复 点赞
HotSoftg 2016年05月24日
引用 1 楼 VisualEleven 的回复:
有源代码吗?提供源代码还可以推荐,否则都视为广告,谢谢理解!
这可是我的心血哦,可真是有些舍不得。
回复 点赞
HotSoftg 2016年05月24日
引用 2 楼 zhao4zhong1 的回复:
回复上一次。 我是小视野,接处的东西比较少。CMake,下载看过,没有用过,不会用。 MSBuild用过,MSBuild算是一个纯编译项目组的功能。没有菜单,只能通过传参数实现,比MSBuild多了一个菜单,多了一个对命令行的支持。
回复 点赞
赵4老师 2016年05月23日
回复 点赞
Eleven 2016年05月23日
有源代码吗?提供源代码还可以推荐,否则都视为广告,谢谢理解!
回复 点赞
发动态
发帖子
资源
创建于2007-09-28

2318

社区成员

1.8w+

社区内容

VC/MFC 资源
社区公告
暂无公告