import re
import os
import copy
import stat
curPath = os.path.split(__file__)[0] + "/"
def readAppStarterVersion(appStartRcPath):
appStartRcFileData = open(appStartRcPath, 'r', encoding='utf-16');
rcDatas = appStartRcFileData.readlines()
retVersionInfo=[]
pattern = re.compile(' FILEVERSION ([0-9]*),([0-9]*),([0-9]*),([0-9]*)')
for express in rcDatas:
res = re.search(pattern, express)
if res == None:
continue
retVersionInfo.append(res.group(1))
retVersionInfo.append(res.group(2))
retVersionInfo.append(res.group(3))
retVersionInfo.append(res.group(4))
return retVersionInfo
appStartRcFileData.close()
return retVersionInfo;
def UpdateVersion(appStartRcPath, oldVersion, newVersion):
# ��ȡ�ļ�����
appStartRcFileData = open(appStartRcPath, 'r', encoding='utf-16');
rcDatas = appStartRcFileData.readlines()
appStartRcFileData.close()
# ������滻�ĸ�ʽ
oldData1 = '.'.join(oldVersion)
oldData2 = ','.join(oldVersion)
fmt1 = '.'.join(newVersion)
fmt2 = ','.join(newVersion)
newrcData = []
for express in rcDatas:
express = express.replace(oldData1, fmt1).replace(oldData2, fmt2)
newrcData.append(express)
appStartRcFileData.close()
# ���
os.chmod(appStartRcPath, stat.S_IWRITE)
appStartRcFileData = open(appStartRcPath, 'w', encoding='ANSI');
appStartRcFileData.writelines(newrcData)
appStartRcFileData.close()
def replaceISSVersion(srcFilePath, verStr):
issFile = open(srcFilePath, 'r', encoding='gbk')
issContext = issFile.read(1024*300)
issContext = issContext.replace("[version]", verStr)
issFile.close()
issFile = open(srcFilePath, 'w', encoding='gbk')
issFile.write(issContext)
issFile.close()
if __name__=='__main__':
try:
# ����appStarter.exe��rc
rcFilePath = curPath+'../Project/GenerateZip/GenerateZip.rc'
# rcFilePath = 'D:\\GenerateZip\\Project\\GenerateZip\\GenerateZip.rc'
info = readAppStarterVersion(rcFilePath)
oldVersion = '.'.join(info)
print("old verion is "+ oldVersion)
newInfo = copy.copy(info)
newInfo[-1] = str(int(newInfo[-1])+1)
newVersion = '.'.join(newInfo)
print("new verion is "+ newVersion)
UpdateVersion(rcFilePath, info, newInfo)
except Exception as e:
i = 0
i+=1
没有合适的资源?快使用搜索试试~ 我知道了~
Visual C++项目jenkins的通用配置解决方案用到的脚本
共5个文件
py:2个
iss:1个
md:1个
需积分: 5 1 下载量 78 浏览量
2022-07-25
16:34:40
上传
评论
收藏 4KB 7Z 举报
温馨提示
设置编译器的路径环境变量和Python的环境变量,方便直接编译和运行Python脚本 ``` SET path=C:\Program Files (x86)\MSBuild\12.0\Bin;D:\Python393;%path% ``` 执行vs编译项目操作 ``` python %WORKSPACE%\Builder\Msbuild.py ``` 执行innosetup打包 ``` echo %WORKSPACE% cd /d C:\Program Files (x86)\Inno Setup 5 iscc /Qp "%WORKSPACE%\builder\GenerateZip.iss" ``` 执行rc资源文件版本号加一 ``` echo begin_Update_Version python %WORKSPACE%\builder\RcPlus.py echo end_Update_Version ``` 通过svn上传rc文件到服务器的对应项目中 ``` %WORKSPACE%\builder\updataRc.bat ```
资源详情
资源评论
资源推荐
收起资源包目录
builder.7z (5个子文件)
GenerateZip2.iss 5KB
Jenkins配置.md 2KB
updataRc.bat 630B
RcPlus.py 2KB
Msbuild.py 997B
共 5 条
- 1
虚坏叔叔
- 粉丝: 2w+
- 资源: 8562
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0