diff --git a/.macos_bintray.json b/.macos_bintray.json new file mode 100644 index 00000000..0456da7f --- /dev/null +++ b/.macos_bintray.json @@ -0,0 +1,30 @@ +{ + "package": { + "name": "vnote", + "repo": "vnote", + "subject": "tamlok", + "desc": "Continuous deployment by Travis-CI", + "website_url": "https://github.com/tamlok/vnote", + "issue_tracker_url": "https://github.com/tamlok/vnote/issues", + "vcs_url": "https://github.com/tamlok/vnote.git", + "github_use_tag_release_notes": false, + "github_release_notes_file": "", + "licenses": ["MIT"], + "labels": ["Markdown", "Note-Taking", "Office", "Utils", "Efficiency"], + "public_download_numbers": true, + "public_stats": true + }, + + "version": { + "name": "1.0", + "desc": "VNote v1.0", + "released": "2017-01-25", + "vcs_tag": "1.0", + "gpgSign": false + }, + + "files": + [{"includePattern": "build/distrib/(VNote_.*\\.dmg)", "uploadPattern": "$1"}], + + "publish": true +} diff --git a/.travis.yml b/.travis.yml index c3569fda..167b86e8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -3,36 +3,55 @@ sudo: required git: depth: 1 language: cpp -compiler: g++ -env: -- version="1.0" -addons: - apt: - sources: - - ubuntu-toolchain-r-test - packages: - - gcc-6 - - g++-6 + +matrix: + include: + - os: osx + compiler: clang + osx_image: xcode8 + - os: linux + compiler: g++ + +branches: + only: + - master + before_install: -- sudo apt-get -qq update +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then sudo apt-get -qq update ; fi +- export version="1.0" + install: -- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100 -- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 100 -- sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install - p7zip-full -- sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install - chrpath -- sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install - tree +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install p7zip-full ; fi +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install chrpath ; fi +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then sudo -E apt-get -yq --no-install-suggests --no-install-recommends --force-yes install tree ; fi +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then sudo apt-get install -qq gcc-6; sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100 ; fi +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then sudo apt-get install -qq g++-6; sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 100 ; fi + before_script: -- chmod +x .travis_linux.sh +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then chmod +x .travis_linux.sh ; fi +- if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then chmod +x .travis_macos.sh ; fi + script: -- TAG_NAME=${TRAVIS_TAG} CXX="g++-6" CC="gcc-6" ./.travis_linux.sh +- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then CXX="g++-6" CC="gcc-6" ./.travis_linux.sh ; fi +- if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then ./.travis_macos.sh ; fi + deploy: - provider: bintray - file: "./.linux_bintray.json" - user: tamlok - key: - secure: vADlrYSusARnHxK3NTT3r1r6I/lrxyEuFKLOO73KXl6rvDywrrDDi6YsFekL14/o3clZKLOC8LbvA+4BKPVSoGTO4Dpx/i51fXphf+mMFB3QXSGnbqHm4+2ZnhCl62vfVlFeOPBLDO0KUBI8DCP0I+QogOUickXv3zYx69z6AudSxgjY7nPoN5jGSPgyId4r3o8Shrj1Fk1WtN6qciKyPne57v+jmvRlJTkoEfYkvwTRNMBlmaKy8Vj/CSoIvB8TH8bv3rhHLrN4o1QCwePdaX9G7xlImSpXqgRgzQVU3SRFN2bYTj5DZc1aFyA7iNOhmwgCLAN6OrqXyyJCbyywNhylfgad2rQANcfXiZw9ywooKEYafLDRuiK2G6Pk8m+R6Ded9JBoX9MSz/ZDxxfk4NmLO991wS7IK5aFTQfHZz5W8Tmh1rCphFwlDI/Rxs7ExbXu7INA8IhoLpOSmLIA5lfdC4fD8rv8mjy5gfpMkWlP8XATfi2eMH9uGj89aJa6xp7Bc2mfW3M71YHtYP/pyE/7Bk5vVonP8Cq9rK6OruMIUYtNmXoJnpte20ecSXj9yw7oTR27dhSx3XuAKOXiNpIau0CPxtXA5cSm5X0OS1Lt8RWrms0jp9Ch2dgxlNMpr0soF9DmwekhfHnVoOLyFBWBMDwvkx5TWij9FNAAJb4= - dry-run: true - on: master + - provider: bintray + file: "./.linux_bintray.json" + user: tamlok + key: + secure: vADlrYSusARnHxK3NTT3r1r6I/lrxyEuFKLOO73KXl6rvDywrrDDi6YsFekL14/o3clZKLOC8LbvA+4BKPVSoGTO4Dpx/i51fXphf+mMFB3QXSGnbqHm4+2ZnhCl62vfVlFeOPBLDO0KUBI8DCP0I+QogOUickXv3zYx69z6AudSxgjY7nPoN5jGSPgyId4r3o8Shrj1Fk1WtN6qciKyPne57v+jmvRlJTkoEfYkvwTRNMBlmaKy8Vj/CSoIvB8TH8bv3rhHLrN4o1QCwePdaX9G7xlImSpXqgRgzQVU3SRFN2bYTj5DZc1aFyA7iNOhmwgCLAN6OrqXyyJCbyywNhylfgad2rQANcfXiZw9ywooKEYafLDRuiK2G6Pk8m+R6Ded9JBoX9MSz/ZDxxfk4NmLO991wS7IK5aFTQfHZz5W8Tmh1rCphFwlDI/Rxs7ExbXu7INA8IhoLpOSmLIA5lfdC4fD8rv8mjy5gfpMkWlP8XATfi2eMH9uGj89aJa6xp7Bc2mfW3M71YHtYP/pyE/7Bk5vVonP8Cq9rK6OruMIUYtNmXoJnpte20ecSXj9yw7oTR27dhSx3XuAKOXiNpIau0CPxtXA5cSm5X0OS1Lt8RWrms0jp9Ch2dgxlNMpr0soF9DmwekhfHnVoOLyFBWBMDwvkx5TWij9FNAAJb4= + dry-run: false + on: + condition: $TRAVIS_OS_NAME = linux + branch: master + - provider: bintray + file: "./.macos_bintray.json" + user: tamlok + key: + secure: vADlrYSusARnHxK3NTT3r1r6I/lrxyEuFKLOO73KXl6rvDywrrDDi6YsFekL14/o3clZKLOC8LbvA+4BKPVSoGTO4Dpx/i51fXphf+mMFB3QXSGnbqHm4+2ZnhCl62vfVlFeOPBLDO0KUBI8DCP0I+QogOUickXv3zYx69z6AudSxgjY7nPoN5jGSPgyId4r3o8Shrj1Fk1WtN6qciKyPne57v+jmvRlJTkoEfYkvwTRNMBlmaKy8Vj/CSoIvB8TH8bv3rhHLrN4o1QCwePdaX9G7xlImSpXqgRgzQVU3SRFN2bYTj5DZc1aFyA7iNOhmwgCLAN6OrqXyyJCbyywNhylfgad2rQANcfXiZw9ywooKEYafLDRuiK2G6Pk8m+R6Ded9JBoX9MSz/ZDxxfk4NmLO991wS7IK5aFTQfHZz5W8Tmh1rCphFwlDI/Rxs7ExbXu7INA8IhoLpOSmLIA5lfdC4fD8rv8mjy5gfpMkWlP8XATfi2eMH9uGj89aJa6xp7Bc2mfW3M71YHtYP/pyE/7Bk5vVonP8Cq9rK6OruMIUYtNmXoJnpte20ecSXj9yw7oTR27dhSx3XuAKOXiNpIau0CPxtXA5cSm5X0OS1Lt8RWrms0jp9Ch2dgxlNMpr0soF9DmwekhfHnVoOLyFBWBMDwvkx5TWij9FNAAJb4= + dry-run: false + on: + condition: $TRAVIS_OS_NAME = osx + branch: master diff --git a/.travis_macos.sh b/.travis_macos.sh new file mode 100644 index 00000000..917a5cf4 --- /dev/null +++ b/.travis_macos.sh @@ -0,0 +1,50 @@ +#!/bin/bash +project_dir=$(pwd) +version="${version}.${TRAVIS_BUILD_NUMBER}" + +brew update > /dev/null +brew install qt@5.7 +QTDIR="/usr/local/opt/qt@5.7" +PATH="$QTDIR/bin:$PATH" +LDFLAGS=-L$QTDIR/lib +CPPFLAGS=-I$QTDIR/include + +# Build your app +cd ${project_dir} +mkdir build +cd build +qmake -v +qmake -config release ../VNote.pro +make -j2 + +git clone https://github.com/aurelien-rainone/macdeployqtfix.git + +# Package DMG from build/src/VNote.app directory +cd src/ + +sed -i -e 's/com.yourcompany.VNote/com.tamlok.VNote/g' VNote.app/Contents/Info.plist +$QTDIR/bin/macdeployqt VNote.app +python ../macdeployqtfix/macdeployqtfix.py VNote.app/Contents/MacOS/VNote $QTDIR + +# Fix Helpers/QtWebEngineProcess.app +cd VNote.app/Contents/Frameworks/QtWebEngineCore.framework/Versions/5/Helpers +$QTDIR/bin/macdeployqt QtWebEngineProcess.app +python ${project_dir}/build/macdeployqtfix/macdeployqtfix.py QtWebEngineProcess.app/Contents/MacOS/QtWebEngineProcess $QTDIR + +cd ${project_dir}/build +mkdir -p distrib/VNote +cd distrib/VNote +mv ../../src/VNote.app ./ +cp "${project_dir}/LICENSE" "LICENSE" +cp "${project_dir}/README.md" "README.md" +echo "${version}" > version +echo "${TRAVIS_COMMIT}" >> version + +ln -s /Applications ./Applications + +cd .. +hdiutil create -srcfolder ./VNote -format UDBZ ./VNote.dmg +mv VNote.dmg VNote_${version}_mac_X64.dmg +cd .. + +exit 0 diff --git a/src/resources/icons/vnote.icns b/src/resources/icons/vnote.icns index 9409991b..7411d59f 100644 Binary files a/src/resources/icons/vnote.icns and b/src/resources/icons/vnote.icns differ diff --git a/src/src.pro b/src/src.pro index 8ea40d75..d57d8840 100644 --- a/src/src.pro +++ b/src/src.pro @@ -4,7 +4,7 @@ # #------------------------------------------------- -QT += core gui webenginewidgets webchannel network +QT += core gui webenginewidgets webchannel network svg greaterThan(QT_MAJOR_VERSION, 4): QT += widgets @@ -12,6 +12,7 @@ TARGET = VNote TEMPLATE = app RC_ICONS = resources/icons/vnote.ico +ICON = resources/icons/vnote.icns TRANSLATIONS += translations/vnote_zh_CN.ts @@ -97,6 +98,11 @@ RESOURCES += \ vnote.qrc \ translations.qrc +macx { + LIBS += -L/usr/local/lib + INCLUDEPATH += /usr/local/include +} + win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../hoedown/release/ -lhoedown else:win32:CONFIG(debug, debug|release): LIBS += -L$$OUT_PWD/../hoedown/debug/ -lhoedown else:unix: LIBS += -L$$OUT_PWD/../hoedown/ -lhoedown