Skip to content

Commit

Permalink
Merge pull request #14 from freemountain/fix-ci
Browse files Browse the repository at this point in the history
adjust ci scripts to new build
  • Loading branch information
freemountain authored Feb 4, 2017
2 parents bd2efd7 + 1d09f1f commit 9e002dd
Show file tree
Hide file tree
Showing 15 changed files with 210 additions and 111 deletions.
63 changes: 49 additions & 14 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,39 +7,74 @@ os:
before_install:
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew install qt5 p7zip qbs; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then brew link --force qt5; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository -y ppa:beineri/opt-qt57-trusty; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository ppa:beineri/opt-qt58-trusty -y; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then echo "deb http://pkg.mxe.cc/repos/apt/debian wheezy main" |sudo tee --append /etc/apt/sources.list; fi

- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get update; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get -y install qt57declarative qt57quickcontrols qt57quickcontrols2 qt57graphicaleffects qt57tools qt57svg mesa-common-dev libglu1-mesa-dev qt57qbs gcc-5 g++-5; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PATH=/opt/qt57/bin:$PATH; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-get -y install qt58declarative qt58quickcontrols qt58quickcontrols2 qt58graphicaleffects qt58tools qt58svg mesa-common-dev libglu1-mesa-dev qt58qbs gcc-5 g++-5 nodejs; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then export PATH=/opt/qt58/bin:$PATH; fi

- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./qbs_wrapper setup-toolchains /usr/bin/clang clang; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./qbs_wrapper setup-qt /usr/local/opt/qt5/bin/qmake qt5; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./qbs_wrapper config profiles.qt5.baseProfile clang; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./qbs_wrapper config defaultProfile qt5; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys D43A795B73B16ABE9643FE1AFD8FFF16DB45C6AB; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then MXE_PREFIX="mxe-i686-w64-mingw32.static"; sudo apt-get -y --force-yes install $MXE_PREFIX-qtdeclarative $MXE_PREFIX-qtquickcontrols $MXE_PREFIX-qtquickcontrols2 $MXE_PREFIX-qtgraphicaleffects $MXE_PREFIX-qttools $MXE_PREFIX-qtsvg; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then qbs setup-toolchains --type mingw /usr/lib/mxe/usr/bin/i686-w64-mingw32.static-gcc i686-w64-mingw32-static; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then qbs setup-qt /usr/lib/mxe/usr/i686-w64-mingw32.static/qt5/bin/qmake qt5-mxe; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then qbs config profiles.qt5-mxe.baseProfile i686-w64-mingw32-static; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sed -i 's/parent.parent.qtModuleName/product.moduleProperty(product.moduleName, "qtModuleName")/g' ~/.config/QtProject/qbs/$(qbs --version)/profiles/qt5-mxe/modules/Qt/QtPlugin.qbs; fi

- if [ "$TRAVIS_OS_NAME" == "linux" ]; then sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5; fi
- qbs setup-toolchains --detect

- if [ "$TRAVIS_OS_NAME" == "linux" ]; then qbs setup-qt /opt/qt58/bin/qmake qt5; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then qbs config profiles.qt5.baseProfile gcc; fi

- if [ "$TRAVIS_OS_NAME" == "osx" ]; then qbs setup-qt /usr/local/opt/qt5/bin/qmake qt5; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then qbs config profiles.qt5.baseProfile xcode-macosx-x86_64; fi
- qbs config defaultProfile qt5

script:
- make bootstrap
- make test
- mkdir build && cd build && qmake .. && make && make clean
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then ../tools/deploy_linux.sh quark && mv Quark-x86_64.AppImage quark-linux-x64.AppImage; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ../tools/deploy_mac.sh quark.app && ../tools/fixTravis.sh quark.app /usr/local/Cellar/qt5/5.7.0/lib && 7z a quark-osx-x64.7z quark.app; fi
- ./configure
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then ./tools/deploy_win.sh QuarkShell qt5-mxe; fi
- if [ "$TRAVIS_OS_NAME" == "linux" ]; then ./tools/deploy_linux.sh QuarkShell qt5; fi
- if [ "$TRAVIS_OS_NAME" == "osx" ]; then ./tools/deploy_mac.sh QuarkShell qt5; fi
- ls .
deploy:
- provider: releases
prerelease: true
api_key:
secure: IckXTW+tOTID4xV9tc1arkNlJPNA7gUfziDbWyjuqxgmIdrMJthpT6BSzhaCb3+yFqXDDuNn73li4SJz0Xy6jvQXLK+Jgsl3iyOButiyq7X61bxeA0fd9Kc5Y3P7lVQbYPvaczIRT0NOBPwmRjPZr1bvIESS/jnVvBF0uM+jIilJAMDYVBcSr0jZz0JJLs9eBTBZiH6lH1FD1NWhBpYpYA0P39O39nofZOGvZRdRgZ97pxBRGhVhjy5LwysDnza78ik92lQSBb1PcItM4wm9gt6eEBjgvP/rfl5JHn0ST5226Me98Ppq88hJ5sCZRXdmWg30CJ4WrTg/NCEp/bZXx8m2iKSA0QCei9Et8nnlSSYzrMGfTCvGbFLKWb027rcNsbohkfUTV8BKooPPSx/24t3lN6J3baYLD4ilDwkBAGouKti4+qLkT5BipxTOeBIW6Ot/SW7kv7ivnqrLsCzNHrtlqawURmaOSot4Noz0j4ZyuH1jbML3NsqNBCWZDsTsnLCkXYz05zPF+xtXxIUR8X6SKILWMp531aIhU/hhOcl8ajBp4ri+JQwTIqqXfkBidzfTI+d94EWukDclEa4YDqAO8FLLVv1cIwZH3PrqWH8dRrOxdUZTB+dTohJkkwufoMAvy83AoE1T3gpdd8JNdRJP+h6jC3HTCQLFw3gmkpA=
file: $TRAVIS_BUILD_DIR/dist/win/quark-shell-win-x86.zip
skip_cleanup: true
on:
tags: true
repo: freemountain/quark
condition: $TRAVIS_OS_NAME = linux
- provider: releases
prerelease: true
api_key:
secure: IckXTW+tOTID4xV9tc1arkNlJPNA7gUfziDbWyjuqxgmIdrMJthpT6BSzhaCb3+yFqXDDuNn73li4SJz0Xy6jvQXLK+Jgsl3iyOButiyq7X61bxeA0fd9Kc5Y3P7lVQbYPvaczIRT0NOBPwmRjPZr1bvIESS/jnVvBF0uM+jIilJAMDYVBcSr0jZz0JJLs9eBTBZiH6lH1FD1NWhBpYpYA0P39O39nofZOGvZRdRgZ97pxBRGhVhjy5LwysDnza78ik92lQSBb1PcItM4wm9gt6eEBjgvP/rfl5JHn0ST5226Me98Ppq88hJ5sCZRXdmWg30CJ4WrTg/NCEp/bZXx8m2iKSA0QCei9Et8nnlSSYzrMGfTCvGbFLKWb027rcNsbohkfUTV8BKooPPSx/24t3lN6J3baYLD4ilDwkBAGouKti4+qLkT5BipxTOeBIW6Ot/SW7kv7ivnqrLsCzNHrtlqawURmaOSot4Noz0j4ZyuH1jbML3NsqNBCWZDsTsnLCkXYz05zPF+xtXxIUR8X6SKILWMp531aIhU/hhOcl8ajBp4ri+JQwTIqqXfkBidzfTI+d94EWukDclEa4YDqAO8FLLVv1cIwZH3PrqWH8dRrOxdUZTB+dTohJkkwufoMAvy83AoE1T3gpdd8JNdRJP+h6jC3HTCQLFw3gmkpA=
file: $TRAVIS_BUILD_DIR/dist/linux/quark-shell-linux-x86_64.zip
skip_cleanup: true
on:
tags: true
repo: freemountain/quark
condition: $TRAVIS_OS_NAME = linux
- provider: releases
prerelease: true
api_key:
secure: IckXTW+tOTID4xV9tc1arkNlJPNA7gUfziDbWyjuqxgmIdrMJthpT6BSzhaCb3+yFqXDDuNn73li4SJz0Xy6jvQXLK+Jgsl3iyOButiyq7X61bxeA0fd9Kc5Y3P7lVQbYPvaczIRT0NOBPwmRjPZr1bvIESS/jnVvBF0uM+jIilJAMDYVBcSr0jZz0JJLs9eBTBZiH6lH1FD1NWhBpYpYA0P39O39nofZOGvZRdRgZ97pxBRGhVhjy5LwysDnza78ik92lQSBb1PcItM4wm9gt6eEBjgvP/rfl5JHn0ST5226Me98Ppq88hJ5sCZRXdmWg30CJ4WrTg/NCEp/bZXx8m2iKSA0QCei9Et8nnlSSYzrMGfTCvGbFLKWb027rcNsbohkfUTV8BKooPPSx/24t3lN6J3baYLD4ilDwkBAGouKti4+qLkT5BipxTOeBIW6Ot/SW7kv7ivnqrLsCzNHrtlqawURmaOSot4Noz0j4ZyuH1jbML3NsqNBCWZDsTsnLCkXYz05zPF+xtXxIUR8X6SKILWMp531aIhU/hhOcl8ajBp4ri+JQwTIqqXfkBidzfTI+d94EWukDclEa4YDqAO8FLLVv1cIwZH3PrqWH8dRrOxdUZTB+dTohJkkwufoMAvy83AoE1T3gpdd8JNdRJP+h6jC3HTCQLFw3gmkpA=
file: /home/travis/build/freemountain/quark/build/quark-linux-x64.AppImage
file: $TRAVIS_BUILD_DIR/dist/linux/quark-shell-x86_64.AppImage
skip_cleanup: true
on:
tags: true
repo: freemountain/quark
condition: $TRAVIS_OS_NAME = linux
- provider: releases
prerelease: true
api_key:
secure: IckXTW+tOTID4xV9tc1arkNlJPNA7gUfziDbWyjuqxgmIdrMJthpT6BSzhaCb3+yFqXDDuNn73li4SJz0Xy6jvQXLK+Jgsl3iyOButiyq7X61bxeA0fd9Kc5Y3P7lVQbYPvaczIRT0NOBPwmRjPZr1bvIESS/jnVvBF0uM+jIilJAMDYVBcSr0jZz0JJLs9eBTBZiH6lH1FD1NWhBpYpYA0P39O39nofZOGvZRdRgZ97pxBRGhVhjy5LwysDnza78ik92lQSBb1PcItM4wm9gt6eEBjgvP/rfl5JHn0ST5226Me98Ppq88hJ5sCZRXdmWg30CJ4WrTg/NCEp/bZXx8m2iKSA0QCei9Et8nnlSSYzrMGfTCvGbFLKWb027rcNsbohkfUTV8BKooPPSx/24t3lN6J3baYLD4ilDwkBAGouKti4+qLkT5BipxTOeBIW6Ot/SW7kv7ivnqrLsCzNHrtlqawURmaOSot4Noz0j4ZyuH1jbML3NsqNBCWZDsTsnLCkXYz05zPF+xtXxIUR8X6SKILWMp531aIhU/hhOcl8ajBp4ri+JQwTIqqXfkBidzfTI+d94EWukDclEa4YDqAO8FLLVv1cIwZH3PrqWH8dRrOxdUZTB+dTohJkkwufoMAvy83AoE1T3gpdd8JNdRJP+h6jC3HTCQLFw3gmkpA=
file: $TRAVIS_BUILD_DIR/build/quark-osx-x64.7z
file: $TRAVIS_BUILD_DIR/dist/mac/quark-shell-mac-x86_64.zip
skip_cleanup: true
on:
tags: true
Expand Down
7 changes: 7 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,13 @@ if [[ "$OSTYPE" == "linux-gnu" ]]; then
mv "linuxdeployqt-continuous-x86_64.AppImage" "linuxdeployqt"
chmod +x "linuxdeployqt"
fi

if [ ! -f "$BIN_PATH/appimagetool" ] ; then
cd "$BIN_PATH"
wget "https://github.com/probonopd/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage"
mv "appimagetool-x86_64.AppImage" "appimagetool"
chmod +x "appimagetool"
fi
fi

popd > /dev/null
25 changes: 0 additions & 25 deletions fixme.appveyor.yml

This file was deleted.

38 changes: 0 additions & 38 deletions fixme.travis.yml

This file was deleted.

6 changes: 3 additions & 3 deletions qbs/imports/QNodeLibrary.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import qbs.base 1.0
import qbs.FileInfo

QNodeProduct {
type: Qt.core.staticBuild ? "staticlibrary" : "dynamiclibrary"
type: 'staticlibrary'//Qt.core.staticBuild ? "staticlibrary" : "dynamiclibrary"
Depends { name: "cpp" }
Depends { name: "bundle" }

Expand All @@ -13,8 +13,8 @@ QNodeProduct {
var libPrefix = bundle.isBundle ? "@executable_path/../Frameworks" : "@executable_path/../lib"

return [ Qt.core.libPath, "@executable_path/../Frameworks", "@executable_path/../lib" ];
}
}/*
cpp.sonamePrefix: qbs.targetOS.contains("darwin")
? "@rpath"
: undefined
: undefined*/
}
6 changes: 5 additions & 1 deletion qbs/imports/QNodeNpmPkg.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -144,10 +144,14 @@ Rule {
var npmInstall = new Command(product.npmPath, ["install", "--only=production"]);
npmInstall.workingDirectory = outPath
npmInstall.description = "npm install " + outPath;
npmInstall.highlight = "linker";
npmInstall.silent = false;
npmInstall.stdoutFilterFunction = function() {return false;};
npmInstall.stderrFilterFunction = function() {return false;};

var cmd = new JavaScriptCommand();
cmd.silent = true;
cmd.stdoutFilterFunction = function() {return false;};
cmd.stderrFilterFunction = function() {return false;};

cmd.sourceCode = function() {
var outPath;
Expand Down
16 changes: 14 additions & 2 deletions qbs/vendor/node.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ Product {
throw new Error('ohhhhh');
}


Rule {
condition: qbs.targetOS.contains('windows')
multiplex: true
Expand All @@ -53,6 +54,10 @@ Product {
var url = product.baseUrl + product.targetArchive;
var dl = new Command(product.wgetBin, [url]);
dl.workingDirectory = FileInfo.path(output.filePath)
dl.silent = false;
dl.description = "downloading " + url;
dl.stdoutFilterFunction = function() {return false;};
dl.stderrFilterFunction = function() {return false;};

return [dl];
}
Expand All @@ -69,8 +74,11 @@ Product {
prepare: {
var url = product.baseUrl + product.targetArchive;
var dl = new Command(product.wgetBin, [url]);
dl.silent = false;
dl.description = "downloading " + url;
dl.workingDirectory = FileInfo.path(output.filePath)

dl.stdoutFilterFunction = function() {return false;};
dl.stderrFilterFunction = function() {return false;};
return [dl];
}
}
Expand All @@ -92,7 +100,11 @@ Product {
var args = [ 'xpvf', product.targetArchive, '-C', '.' ]
var extract = new Command(product.tarBin, args);
extract.workingDirectory = FileInfo.path(input.filePath)
extract.silent = true;
extract.silent = false;
extract.stdoutFilterFunction = function() {return false;};
extract.stderrFilterFunction = function() {return false;};

extract.description = "extracting " + FileInfo.fileName(input.filePath);

return [extract];
}
Expand Down
2 changes: 1 addition & 1 deletion src/quark-gui/quark-gui.qbs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import qbs.Probes
import qbs.ModUtils

QNodeApplication {
name: "QuarkGui"
name: "QuarkShell"

Depends { name: "Qt"; submodules: ["quick", "qml"] }
Depends { name: "quark" }
Expand Down
17 changes: 0 additions & 17 deletions test.sh

This file was deleted.

36 changes: 31 additions & 5 deletions tools/deploy_linux.sh
Original file line number Diff line number Diff line change
@@ -1,16 +1,42 @@
#!/bin/bash
set -e

PROJECT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../"

TARGET_APP=$1
TARGET_BIN=$PROJECT_PATH/dist/$TARGET_APP/$TARGET_APP
PROFILE=$2

QT_PATH="$($PROJECT_PATH/tools/get_qt_path.sh)"
DIST_PATH="$PROJECT_PATH/dist/linux"
TARGET_PATH="$DIST_PATH/$TARGET_APP"
TARGET_BIN="$TARGET_PATH/$TARGET_APP"
dashed_target="$($PROJECT_PATH/tools/to_dashed.sh $TARGET_APP)"

QT_PATH="$($PROJECT_PATH/tools/get_qt_path.sh $PROFILE)"
echo "QT: $QT_PATH"
DEPLOY_CMD="./build/tools/linuxdeployqt $TARGET_BIN -verbose=2 -qmldir=$PROJECT_PATH/src/libquark/qml"
DEPLOY_CMD="$PROJECT_PATH/build/tools/linuxdeployqt $TARGET_BIN -no-strip -qmldir=$PROJECT_PATH/src/libquark/qml"

pushd . > /dev/null
rm -rf "$DIST_PATH"

"$PROJECT_PATH/qbs_wrapper" install --install-root $DIST_PATH -p $TARGET_APP profile:$PROFILE

./build/tools/qbs/bin/qbs install --install-root $PROJECT_PATH/dist -p $TARGET_APP
cat << EOF > "$TARGET_PATH/$TARGET_APP.desktop"
[Desktop Entry]
Type=Application
Name=$TARGET_APP
Exec=./AppRun %F
Icon=icon
Comment=Edit this default file
Terminal=true
EOF

chmod +x "$TARGET_PATH/$TARGET_APP.desktop"
cp quark.svg "$TARGET_PATH/icon.svg"

PATH="$QT_PATH:$PATH"
cd "$DIST_PATH"
$DEPLOY_CMD
$DEPLOY_CMD
$DEPLOY_CMD -appimage
zip -rq "$dashed_target-linux-x86_64.zip" $TARGET_APP

popd > /dev/null
19 changes: 16 additions & 3 deletions tools/deploy_mac.sh
Original file line number Diff line number Diff line change
@@ -1,8 +1,21 @@
#!/bin/bash
set -e

PROJECT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../"

TARGET_APP=$1
QT_PATH="$($PROJECT_PATH/tools/get_qt_path.sh)"
PROFILE=$2

QT_PATH="$($PROJECT_PATH/tools/get_qt_path.sh $PROFILE)"
dashed_target="$($PROJECT_PATH/tools/to_dashed.sh $TARGET_APP)"

rm -rf "$PROJECT_PATH/dist/mac"

"$PROJECT_PATH/qbs_wrapper" install --install-root $PROJECT_PATH/dist/mac -p $TARGET_APP
$QT_PATH/macdeployqt $PROJECT_PATH/dist/mac/$TARGET_APP.app -no-strip -qmldir=$PROJECT_PATH/src/libquark/qml

"./tools/fix_libs_mac.sh" $TARGET_APP "$QT_PATH/../lib/"

./build/tools/qbs/bin/qbs install --install-root $PROJECT_PATH/dist -p $TARGET_APP
$QT_PATH/macdeployqt $PROJECT_PATH/dist/$TARGET_APP.app -qmldir=$PROJECT_PATH/src/libquark/qml
cd "$PROJECT_PATH/dist/mac"
echo "create $dashed_target-mac-x86_64.zip"
zip -rq "$dashed_target-mac-x86_64.zip" $TARGET_APP.app
16 changes: 16 additions & 0 deletions tools/deploy_win.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#!/bin/bash
set -e

PROJECT_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )/../"
TARGET_APP=$1
PROFILE=$2

dashed_target="$($PROJECT_PATH/tools/to_dashed.sh $TARGET_APP)"

pushd . > /dev/null
rm -rf "$PROJECT_PATH/dist/win"

"$PROJECT_PATH/qbs_wrapper" install --install-root "$PROJECT_PATH/dist/win" -p $TARGET_APP profile:$PROFILE
cd "$PROJECT_PATH/dist/win"
zip -rq "$dashed_target-win-x86.zip" $TARGET_APP
popd > /dev/null
Loading

0 comments on commit 9e002dd

Please sign in to comment.