楼主我做手游的,在手游开发后期,会有很多个渠道接入的需求,如果手工打包的话,在有频繁更新的情况下,研发人员要手工打多个包,会直接崩溃掉的。
在自己开发了几个python脚本后,每个脚本执行固定的功能,很快发现脚本之间的联系太少,如果要整合的话,花费时间会不少,期望能有开源的python框架可以使用。
最后找到python的scons,其本身是一个程序编译构建工具,由于是python写的,所以很容易扩展,把自动化工作当作工程的一部分,原本离散的脚本消失了,原脚本实现的功能可以当作是scons里的一个编译工具,很方便得在各个模块间共享。
比如我实现了一个对PNG图片的压缩工具,放以前得话,如果是写在一个脚本里,那对图片的存放位置就会很固定,一般要求放在一个目录下。换在SCONS里,把处理PNG的代码变成SCONS的一个编译器,对图片的存放要求就没有了,可以在SCONS扫描整个工程的时候,识别*.png,调用相应编译器处理。其他文件类型类似,可以很容易的自定义一个编译器,处理对应的文件类型。
写了2天得代码,发现自己走了一些弯路,如下:
1.scons貌似无法处理文件夹,尝试过几次,想设计一个编译器可以拷贝文件夹,但多方尝试失败,后面总结可能是因为SCONS的编译器只能针对单个文件吧,编译编译不就是对文件进行处理么?没有对文件夹处理得编译器。
2.SCONS的相应脚本,sconstruct,sconscript的SCONS相关得代码都只是‘声明’,并不是和shell一样,我们想在SCONS执行结束后做一些操作,貌似很难,只能在一般得python脚本里写。
3.因为SCONS的‘声明’的特性,所以我们在使用的时候,容易把一般python代码与SCONS混淆。
和大家分享下这几个特性,这边也想问下大家有对SCONS熟悉的不?我这边边看uerguide边写,怕是还会走不少弯路,欢迎大家也分享下SCONS的使用心得。
在自己开发了几个python脚本后,每个脚本执行固定的功能,很快发现脚本之间的联系太少,如果要整合的话,花费时间会不少,期望能有开源的python框架可以使用。
最后找到python的scons,其本身是一个程序编译构建工具,由于是python写的,所以很容易扩展,把自动化工作当作工程的一部分,原本离散的脚本消失了,原脚本实现的功能可以当作是scons里的一个编译工具,很方便得在各个模块间共享。
比如我实现了一个对PNG图片的压缩工具,放以前得话,如果是写在一个脚本里,那对图片的存放位置就会很固定,一般要求放在一个目录下。换在SCONS里,把处理PNG的代码变成SCONS的一个编译器,对图片的存放要求就没有了,可以在SCONS扫描整个工程的时候,识别*.png,调用相应编译器处理。其他文件类型类似,可以很容易的自定义一个编译器,处理对应的文件类型。
写了2天得代码,发现自己走了一些弯路,如下:
1.scons貌似无法处理文件夹,尝试过几次,想设计一个编译器可以拷贝文件夹,但多方尝试失败,后面总结可能是因为SCONS的编译器只能针对单个文件吧,编译编译不就是对文件进行处理么?没有对文件夹处理得编译器。
2.SCONS的相应脚本,sconstruct,sconscript的SCONS相关得代码都只是‘声明’,并不是和shell一样,我们想在SCONS执行结束后做一些操作,貌似很难,只能在一般得python脚本里写。
3.因为SCONS的‘声明’的特性,所以我们在使用的时候,容易把一般python代码与SCONS混淆。
和大家分享下这几个特性,这边也想问下大家有对SCONS熟悉的不?我这边边看uerguide边写,怕是还会走不少弯路,欢迎大家也分享下SCONS的使用心得。