Skip to content

Commit

Permalink
Modify version
Browse files Browse the repository at this point in the history
  • Loading branch information
KangLin committed Jan 25, 2018
1 parent bf8aa0a commit c1ea42e
Show file tree
Hide file tree
Showing 17 changed files with 99 additions and 92 deletions.
1 change: 1 addition & 0 deletions Plugin/ConfigApp.pri
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ myPackagesExist(RabbitIm){
}
include($$PWD/../pri/ThirdLibrary.pri)
include($$PWD/../pri/ThirdLibraryJoin.pri)
include($$PWD/../pri/RabbitImVersion.pri)

#安装前缀
isEmpty(PREFIX) {
Expand Down
3 changes: 3 additions & 0 deletions Plugin/ConfigProtocol.pri
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ INCLUDEPATH += $$PWD/..
CONFIG += c++0x
!msvc{
QMAKE_CXXFLAGS += " -std=c++0x "
} else {
QMAKE_CXXFLAGS += " /MP "
}

TARGET_PATH=$$OUT_PWD/../..
Expand All @@ -28,6 +30,7 @@ myPackagesExist(RabbitIm){
}
include($$PWD/../pri/ThirdLibrary.pri)
include($$PWD/../pri/ThirdLibraryJoin.pri)
include($$PWD/../pri/RabbitImVersion.pri)

#安装前缀
isEmpty(PREFIX) {
Expand Down
1 change: 0 additions & 1 deletion Plugin/ProtocolQXmpp/ClientXmpp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
#include "MainWindow.h"
#include "FileTransferQXmpp.h"
#include <QHostAddress>
#include "Version.h"

#ifdef WIN32
#undef GetMessage
Expand Down
42 changes: 10 additions & 32 deletions Plugin/Update/DlgUpdate.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#include "DlgUpdate.h"
#include "ui_DlgUpdate.h"
#include "Tool.h"
#include "Version.h"
#include "Global/Global.h"
#include <QDir>
#include <QUrl>
Expand All @@ -18,11 +17,7 @@ CDlgUpdate::CDlgUpdate(QWidget *parent) :
CTool::SetWindowsGeometry(this);

ui->lbCurrentVersion->setText(tr("Current version:")
+ QString::number(MAJOR_VERSION_NUMBER)
+ "."
+ QString::number(MINOR_VERSION_NUMBER)
+ "."
+ QString::number(REVISION_VERSION_NUMBER));
+ BUILD_VERSION);
ui->lbPrompt->setText(tr("The new version is not detected."));
ui->lbError->setVisible(false);
ui->lbError->setText("");
Expand Down Expand Up @@ -112,32 +107,21 @@ void CDlgUpdate::slotDownLoadVersionFile(int nErrorCode, const QString &szFile)
}

QDomElement startElem = doc.documentElement();
QString szMajorVersion = startElem.firstChildElement("MAJOR_VERSION_NUMBER").text();
QString szMinorVersion = startElem.firstChildElement("MINOR_VERSION_NUMBER").text();
QString szRevisionVersion = startElem.firstChildElement("REVISION_VERSION_NUMBER").text();
/*这步已经在CDownloadHandle中判断
if(szMajorVersion.toInt() <= MAJOR_VERSION_NUMBER)
QString szBuildVersion = startElem.firstChildElement("BUILD_VERSION").text();
if(szBuildVersion.isEmpty())
{
if(szMinorVersion.toInt() <= MINOR_VERSION_NUMBER)
{
if(szRevisionVersion.toInt() <= REVISION_VERSION_NUMBER)
{
LOG_MODEL_DEBUG("Update", "Is already the newest version.");
this->accept();
return;
}
}
}*/

m_szDownloadInfo = tr("New version:%1.%2.%3").arg(szMajorVersion, szMinorVersion, szRevisionVersion);
slotError(-5, tr("Version file is error. BUILD_VERSION is empty."));
return;
}
m_szDownloadInfo = tr("New version:%1").arg(szBuildVersion);
QString szInfo = startElem.firstChildElement("INFO").text();
if(!szInfo.isEmpty())
m_szDownloadInfo += "\n" + szInfo;
m_szDownLoadUrl = startElem.firstChildElement("URL").text();
m_szDownloadMd5sum = startElem.firstChildElement("MD5SUM").text();
if(m_szDownLoadUrl.isEmpty() || m_szDownloadMd5sum.isEmpty())
{
slotError(-5, tr("Version file is error. DownLoadUrl or md5sum is empty."));
slotError(-6, tr("Version file is error. DownLoadUrl or md5sum is empty."));
return;
}

Expand All @@ -157,9 +141,7 @@ void CDlgUpdate::slotDownLoadVersionFile(int nErrorCode, const QString &szFile)
if(!szMinCompatibleVersion.isNull())
{
QStringList lstNowVersion;
lstNowVersion << QString::number(MAJOR_VERSION_NUMBER)
<< QString::number(MINOR_VERSION_NUMBER)
<< QString::number(REVISION_VERSION_NUMBER);
lstNowVersion << BUILD_VERSION;
QStringList lstVersion = szMinCompatibleVersion.split(".");
int nSize = 3;
if(lstVersion.size() < nSize)
Expand Down Expand Up @@ -318,11 +300,7 @@ void CDlgUpdate::changeEvent(QEvent *e)
case QEvent::LanguageChange:
ui->retranslateUi(this);
ui->lbCurrentVersion->setText(tr("Current version:")
+ QString::number(MAJOR_VERSION_NUMBER)
+ "."
+ QString::number(MINOR_VERSION_NUMBER)
+ "."
+ QString::number(REVISION_VERSION_NUMBER));
+ BUILD_VERSION);
ui->lbPrompt->setText(tr("The new version is not detected."));
break;
}
Expand Down
18 changes: 5 additions & 13 deletions Plugin/Update/DownLoadHandle.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
#include "DownLoadHandle.h"
#include "Version.h"
#include "DlgUpdate.h"
#include "MainWindow.h"
#include <QDir>
Expand Down Expand Up @@ -97,19 +96,12 @@ int CDownLoadHandleVersionFile::OnEnd(int nErrorCode)
CGlobal::Instance()->SetUpdateDate(QDateTime::currentDateTime());

QDomElement startElem = doc.documentElement();
QString szMajorVersion = startElem.firstChildElement("MAJOR_VERSION_NUMBER").text();
QString szMinorVersion = startElem.firstChildElement("MINOR_VERSION_NUMBER").text();
QString szRevisionVersion = startElem.firstChildElement("REVISION_VERSION_NUMBER").text();
if(szMajorVersion.toInt() <= MAJOR_VERSION_NUMBER)
QString szBuildVersion = startElem.firstChildElement("BUILD_VERSION").text();
if(BUILD_VERSION == szBuildVersion)
{
if(szMinorVersion.toInt() <= MINOR_VERSION_NUMBER)
{
if(szRevisionVersion.toInt() <= REVISION_VERSION_NUMBER)
{
LOG_MODEL_DEBUG("Update", "Is already the newest version.");
return 0;
}
}
LOG_MODEL_DEBUG("Update", "Is already the latest version.");
return 0;

}
#ifdef RABBITIM_USE_LIBCURL
if(m_pDlgUpdate)
Expand Down
3 changes: 2 additions & 1 deletion Plugin/Update/Update.pro
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ QT *= core gui
TARGET = Update
TEMPLATE = lib
CONFIG += plugin
DISTFILES += Update.json
DISTFILES += Update.json \
Update.xml.template

RABBITIM_PLUG_NAME=CPluginUpdate

Expand Down
4 changes: 1 addition & 3 deletions Plugin/Update/Update.xml.template
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,7 @@ operation_system:操作系统 Platform:硬件平台 Architecture:硬件架构
<SYSTEM>%RABBITIM_SYSTEM%</SYSTEM>
<PLATFORM>%RABBITIM_PLATFORM%</PLATFORM>
<ARCHITECTURE>%RABBITIM_ARCHITECTURE%</ARCHITECTURE>
<MAJOR_VERSION_NUMBER>%MAJOR_VERSION_NUMBER%</MAJOR_VERSION_NUMBER>
<MINOR_VERSION_NUMBER>%MINOR_VERSION_NUMBER%</MINOR_VERSION_NUMBER>
<REVISION_VERSION_NUMBER>%REVISION_VERSION_NUMBER%</REVISION_VERSION_NUMBER>
<BUILD_VERSION>%BUILD_VERSION%</BUILD_VERSION>
<TIME>%RABBITIM_TIME%</TIME>
<INFO>%RABBITIM_INFO%</INFO>
<FORCE>%RABBITIM_FORCE%</FORCE>
Expand Down
4 changes: 3 additions & 1 deletion RabbitIm.pro
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ OTHER_FILES += README.md \
License.md \
ChangeLog.md \
Authors.txt \
TODO.txt \
CMakeLists.txt \
cmake/* \
cmake/platforms/* \
Expand All @@ -35,4 +36,5 @@ OTHER_FILES += README.md \
Doxyfile* \
pri/* \
Install/* \
Dockerfile
Dockerfile \
tag.sh
2 changes: 2 additions & 0 deletions docs/TODO.txt → TODO.txt
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
(BUG:webrtc有内存泄漏,需要确定是WEBRTC,还是本程序)
12. 增禁用锁屏功能,实现 windows、android 平台(TODO:linux)
13. 记录好友列表组节点、应用列表组节点打开状态
14. 重构版本号,以及更新插件(TODO)
15. ci (TODO)

linux下deb安装包:
qt依赖库安装 qtwebkitwidge 有依赖其它qt库,插件找不到
Expand Down
7 changes: 1 addition & 6 deletions Widgets/DlgAbout/DlgAbout.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
#include "ui_DlgAbout.h"
#include "common/Tool.h"
#include "common/QRCode.h"
#include "Version.h"
#include <QFile>
#include "Global/Global.h"
#include <QDir>
Expand All @@ -15,11 +14,7 @@ CDlgAbout::CDlgAbout(QWidget *parent) :
ui->setupUi(this);
CTool::SetWindowsGeometry(this);

QString szVersion(tr("Version:%1.%2.%3.%4").arg(QString::number(MAJOR_VERSION_NUMBER),
QString::number(MINOR_VERSION_NUMBER),
QString::number(REVISION_VERSION_NUMBER),
BUILD_VERSION
));
QString szVersion(tr("Version:%1").arg(BUILD_VERSION));
ui->lbVersion->setText(szVersion);
ui->lbDate->setText(tr("Build date:%1 %2").arg(__DATE__, __TIME__));
ui->lbAuthor->setText(tr("Author: KangLin\nEmail or MSN:kl222@126.com"));
Expand Down
2 changes: 1 addition & 1 deletion appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ environment:

- BUILD_TARGERT: windows_msvc
RABBIT_TOOLCHAIN_VERSION: 14
QT_ROOT: C:/Qt/5.6/msvc2015_x64
QT_ROOT: C:/Qt/5.6/msvc2015_64
RABBIT_CONFIG: Release
RABBIT_ARCH: x64
DOWNLOAD_URL: https://ci.appveyor.com/api/buildjobs/3tnq4asje40tfssj/artifacts/RABBIT_windows_msvc14_x64_qt5.6.2_Release_v0.0.3-19-g3b19569.zip
Expand Down
7 changes: 4 additions & 3 deletions docs/INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -293,15 +293,16 @@
|----- patch #补丁包目录
|----- build_script #第三方库编译脚本目录
|----- src #第三方库源码目录
|----- $${RABBITIM_PLATFORM}$${RABBIT_TOOLCHAIN_VERSION}_$${RABBITIM_ARCH}_qt$${QT_VERSION}_$${RABBIT_CONFIG}
|----- $${RABBITIM_PLATFORM}$${RABBIT_TOOLCHAIN_VERSION}_$${RABBITIM_ARCHITECTURE}_qt$${QT_VERSION}_$${RABBIT_CONFIG}
| |----- include #头文件
| |----- lib #库文

可以在 https://sourceforge.net/projects/rabbitim-third-library/files/release/ 中,
可以在 https://github.com/KangLin/RabbitThirdLibrary/releases
https://sourceforge.net/projects/rabbitim-third-library/files/release/ 中,
选择与你**主机操作系统相同、编译器版本相同**的包下载本项目依赖的预编译好的第三方库。

文件格式: $${RABBITIM_PLATFORM}$${RABBIT_TOOLCHAIN_VERSION}_$${RABBITIM_ARCH}_qt$${QT_VERSION}_$${RABBIT_CONFIG}.zip
文件格式: $${RABBITIM_PLATFORM}$${RABBIT_TOOLCHAIN_VERSION}_$${RABBITIM_ARCHITECTURE}_qt$${QT_VERSION}_$${RABBIT_CONFIG}.zip

|编译器|版本号|平台|架构|
|:--:|:--:|:--:|:--:|
Expand Down
2 changes: 1 addition & 1 deletion pri/RabbitImFiles.pri
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ SOURCES += \
$$PWD/../Plugin/ManagePluginProtocol.cpp \
$$PWD/../Widgets/MainAnimation.cpp

HEADERS += $$PWD/../Version.h \
HEADERS += \
$$PWD/../MainWindow.h \
$$PWD/../Global/Global.h \
$$PWD/../UserInfo/UserInfo.h \
Expand Down
39 changes: 16 additions & 23 deletions pri/RabbitImVersion.pri
Original file line number Diff line number Diff line change
Expand Up @@ -3,28 +3,23 @@ MAJOR_VERSION_NUMBER=0 #主版本
MINOR_VERSION_NUMBER=1 #次版本
REVISION_VERSION_NUMBER=1 #修订号

BUILD_VERSION=$$system(git rev-parse --short HEAD)
isEmpty(BUILD_VERSION){
VERSION_NUMBER_STRING="$${MAJOR_VERSION_NUMBER}.$${MINOR_VERSION_NUMBER}.$${REVISION_VERSION_NUMBER}"
}else{
VERSION_NUMBER_STRING="$${MAJOR_VERSION_NUMBER}.$${MINOR_VERSION_NUMBER}.$${REVISION_VERSION_NUMBER}.$${BUILD_VERSION}"
isEmpty(GIT_DESCRIBE) {
GIT_DESCRIBE = $$system(cd $$system_path($$PWD) && git describe --tags)
isEmpty(GIT_VERSION) {
BUILD_VERSION = $$GIT_DESCRIBE
}
}
isEmpty(BUILD_VERSION) {
BUILD_VERSION = $$system(cd $$system_path($$PWD) && git rev-parse --short HEAD)
}
#message($$VERSION_NUMBER_STRING)

#生成的版本头文件
FILENAME=$$PWD/../Version.h
#版本模板文件
TEMPLATE_FILENAME=$$PWD/../Plugin/Update/Version.h.template

RABBITIM_VERSION_CONTENTS=$$cat($$TEMPLATE_FILENAME, blob)
RABBITIM_VERSION_CONTENTS=$$replace(RABBITIM_VERSION_CONTENTS, "%MAJOR_VERSION_NUMBER%", $$MAJOR_VERSION_NUMBER)
RABBITIM_VERSION_CONTENTS=$$replace(RABBITIM_VERSION_CONTENTS, "%MINOR_VERSION_NUMBER%", $$MINOR_VERSION_NUMBER)
RABBITIM_VERSION_CONTENTS=$$replace(RABBITIM_VERSION_CONTENTS, "%REVISION_VERSION_NUMBER%", $$REVISION_VERSION_NUMBER)
RABBITIM_VERSION_CONTENTS=$$replace(RABBITIM_VERSION_CONTENTS, "%BUILD_VERSION%", $$BUILD_VERSION)
RABBITIM_VERSION_CONTENTS=$$replace(RABBITIM_VERSION_CONTENTS, "%RABBITIM_SYSTEM%", $$RABBITIM_SYSTEM)
RABBITIM_VERSION_CONTENTS=$$replace(RABBITIM_VERSION_CONTENTS, "%RABBITIM_PLATFORM%", $$RABBITIM_PLATFORM)
RABBITIM_VERSION_CONTENTS=$$replace(RABBITIM_VERSION_CONTENTS, "%RABBITIM_ARCHITECTURE%", $$RABBITIM_ARCHITECTURE)
write_file($$FILENAME, RABBITIM_VERSION_CONTENTS)
isEmpty(BUILD_VERSION){
error("Built without git, please add BUILD_VERSION to DEFINES or add git path to environment PATH")
}
DEFINES *= BUILD_VERSION=\"\\\"$$quote($$BUILD_VERSION)\\\"\"
DEFINES *= RABBITIM_SYSTEM=\"\\\"$$quote($$RABBITIM_SYSTEM)\\\"\"
DEFINES *= RABBITIM_PLATFORM=\"\\\"$$quote($$RABBITIM_PLATFORM)\\\"\"
DEFINES *= RABBITIM_ARCHITECTURE=\"\\\"$$quote($$RABBITIM_ARCHITECTURE)\\\"\"

#更新检测文件
UPDATE_FILENAME=$$PWD/../Update/Update_$${RABBITIM_SYSTEM}.xml
Expand All @@ -34,9 +29,7 @@ RABBITIM_UPDATE_CONTENTS=$$cat($$TEMPLATE_UPDATE_FILENAME, blob)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%RABBITIM_SYSTEM%", $$RABBITIM_SYSTEM)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%RABBITIM_PLATFORM%", $$RABBITIM_PLATFORM)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%RABBITIM_ARCHITECTURE%", $$RABBITIM_ARCHITECTURE)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%MAJOR_VERSION_NUMBER%", $$MAJOR_VERSION_NUMBER)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%MINOR_VERSION_NUMBER%", $$MINOR_VERSION_NUMBER)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%REVISION_VERSION_NUMBER%", $$REVISION_VERSION_NUMBER)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%BUILD_VERSION%", $$BUILD_VERSION)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%RABBITIM_TIME%", $$RABBITIM_TIME)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%RABBITIM_INFO%", $$RABBITIM_INFO)
RABBITIM_UPDATE_CONTENTS=$$replace(RABBITIM_UPDATE_CONTENTS, "%RABBITIM_FORCE%", $$RABBITIM_FORCE)
Expand Down
12 changes: 6 additions & 6 deletions pri/ThirdLibraryConfig.pri
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ win32 {
RABBITIM_SYSTEM = "windows"

contains(QMAKE_TARGET.arch, x86_64){
RABBITIM_ARCH = "x64"
RABBITIM_ARCHITECTURE = "x64"
}else {
RABBITIM_ARCH = "x86"
RABBITIM_ARCHITECTURE = "x86"
}

msvc {
Expand Down Expand Up @@ -55,7 +55,7 @@ win32 {
message("QMAKE_TARGET.arch:$$QMAKE_TARGET.arch")
RABBITIM_SYSTEM = "android"
RABBITIM_PLATFORM = "android"
RABBITIM_ARCH = $${ANDROID_ARCHITECTURE}
RABBITIM_ARCHITECTURE = $${ANDROID_ARCHITECTURE}
DEFINES += ANDROID MOBILE

} else:unix {
Expand All @@ -64,9 +64,9 @@ win32 {
DEFINES += UNIX

contains(QMAKE_TARGET.arch, x86_64){
RABBITIM_ARCH = "x64"
RABBITIM_ARCHITECTURE = "x64"
}else {
RABBITIM_ARCH = "x86"
RABBITIM_ARCHITECTURE = "x86"
}

}
Expand All @@ -80,7 +80,7 @@ isEmpty(RABBIT_CONFIG) {
}

isEmpty(THIRD_LIBRARY_PATH) : THIRD_LIBRARY_PATH = $$(THIRD_LIBRARY_PATH)
isEmpty(THIRD_LIBRARY_PATH) : THIRD_LIBRARY_PATH = $$PWD/../ThirdLibrary/$${RABBITIM_PLATFORM}$${RABBIT_TOOLCHAIN_VERSION}_$${RABBITIM_ARCH}_qt$${QT_VERSION}_$${RABBIT_CONFIG}
isEmpty(THIRD_LIBRARY_PATH) : THIRD_LIBRARY_PATH = $$PWD/../ThirdLibrary/$${RABBITIM_PLATFORM}$${RABBIT_TOOLCHAIN_VERSION}_$${RABBITIM_ARCHITECTURE}_qt$${QT_VERSION}_$${RABBIT_CONFIG}

CONFIG(static, static|shared) {
DEFINES += RABBITIM_STATIC
Expand Down
42 changes: 42 additions & 0 deletions tag.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/bin/bash

SOURCE_DIR=`pwd`

if [ -n "$1" ]; then
VERSION=`git describe --tags`
if [ -z "$VERSION" ]; then
VERSION=` git rev-parse HEAD`
fi

echo "Current verion: $VERSION, The version to will be set: $1"
read -t 30 -p "Be sure to input Y, not input N: " INPUT
if [ "$INPUT" != "Y" -a "$INPUT" != "y" ]; then
exit 0
fi
git tag -a $1 -m "Release $1"
./tag.sh
fi

VERSION=`git describe --tags`
if [ -z "$VERSION" ]; then
VERSION=` git rev-parse HEAD`
fi

#sed -i "s/^\!define PRODUCT_VERSION.*/\!define PRODUCT_VERSION \"${VERSION}\"/g" ${SOURCE_DIR}/Install/Install.nsi

APPVERYOR_VERSION="version: '${VERSION}.{build}'"
sed -i "s/^version: '.*{build}'/${APPVERYOR_VERSION}/g" ${SOURCE_DIR}/appveyor.yml

#git tag -a v${VERSION} -m "Release v${VERSION}"
#git push origin :refs/tags/v${VERSION}
#git push origin v${VERSION}

if [ -n "$1" ]; then
git add .
git commit -m "Release $1"
git push
git tag -d $1
git tag -a $1 -m "Release $1"
git push origin :refs/tags/$1
git push origin $1
fi

0 comments on commit c1ea42e

Please sign in to comment.