version: 2 defaults: &defaults docker: - image: ubuntu:14.04 jobs: build_linux: <<: *defaults steps: - checkout - run: name: Id command: sudo cat /etc/*release - run: name: Setup requirements command: | bash ci/setup_common_requirements.sh apt-get install -y libpng12-dev libfreetype6-dev libdbus-glib-1-dev libgtk2.0-dev curl - run: name: Build for Linux command: bash ci/build_linux.sh - store_artifacts: path: linux/_CPack_Packages - run: name: Update Navit-Download-Center command: | bash ci/update_download_center.sh run_doxygen: <<: *defaults steps: - checkout - run: name: Install doxygen command: apt-get update && apt-get -y install doxygen ca-certificates git - run: name: Run doxygen command: cd navit && doxygen - run: name: Update results to Github command: bash ci/update_doxygen.sh - store_artifacts: path: /root/project/doc build_android: working_directory: ~/code docker: - image: circleci/android:api-27-alpha environment: JVM_OPTS: -Xmx3200m GRADLE_OPTS: '-Dorg.gradle.jvmargs="-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError"' steps: - checkout - run: name: Id command: sudo cat /etc/*release - run: name: Install cmake gettext libsaxonb-java librsvg2-bin command: | sudo apt-get install cmake gettext libsaxonb-java librsvg2-bin cmake ./ -Dsvg2png_scaling:STRING=-1,24,32,48,64,96,128 -Dsvg2png_scaling_nav:STRING=-1,24,32,48,64,96,128 -Dsvg2png_scaling_flag:STRING=-1,24,32,64,96 - run: name: Process icons command: | cd navit/icons make sudo ls -la mkdir ../android/res/drawable-nodpi rename 'y/A-Z/a-z/' * cp *.png ../android/res/drawable-nodpi cd ../../ - run: name: Process translations command: | cd po make sudo ls -la mkdir ../navit/android/res/raw rename 'y/A-Z/a-z/' * cp *.mo ../navit/android/res/raw cd ../ - run: name: Move xml's command: | cd navit saxonb-xslt -s:navit_shipped.xml -xsl:xslt/android.xslt -o:navitldpi.xml OSD_SIZE=1 ICON_SMALL=24 ICON_MEDIUM=32 ICON_BIG=48 saxonb-xslt -s:navit_shipped.xml -xsl:xslt/android.xslt -o:navitmdpi.xml OSD_SIZE=1.33 ICON_SMALL=32 ICON_MEDIUM=48 ICON_BIG=64 saxonb-xslt -s:navit_shipped.xml -xsl:xslt/android.xslt -o:navithdpi.xml OSD_SIZE=2 ICON_SMALL=48 ICON_MEDIUM=64 ICON_BIG=96 saxonb-xslt -s:navit_shipped.xml -xsl:xslt/android.xslt -o:navitxhdpi.xml OSD_SIZE=2.67 ICON_SMALL=64 ICON_MEDIUM=96 ICON_BIG=128 saxonb-xslt -s:navit_shipped.xml -xsl:xslt/android.xslt -o:navitxxhdpi.xml OSD_SIZE=4 ICON_SMALL=96 ICON_MEDIUM=128 ICON_BIG=192 saxonb-xslt -s:navit_shipped.xml -xsl:xslt/android.xslt -o:navitxxxhdpi.xml OSD_SIZE=5.33 ICON_SMALL=128 ICON_MEDIUM=192 ICON_BIG=256 sudo ls -la mv *dpi.xml android/res/raw cd ../ - run: name: Chmod permissions command: sudo chmod +x ./gradlew - run: name: Download Dependencies command: ./gradlew -v # command: ./gradlew androidDependencies - run: name: Install ndk command: sdkmanager ndk-bundle - run: name: Build command: ./gradlew assembleDebug - run: name: Run Tests command: ./gradlew tasks --all - store_artifacts: path: navit/android/build/outputs/apk destination: apk - store_artifacts: path: navit/android/build/outputs/logs destination: logs - store_test_results: path: navit/android/build/test-results build_win32: <<: *defaults steps: - checkout - run: name: Build for Windows command: | bash ci/setup_common_requirements.sh bash ci/build_win32.sh - store_artifacts: path: win32/navit.exe - run: name: Update Navit-Download-Center command: | bash ci/update_download_center.sh build_wince: docker: - image: navit/dockerfiles:wince steps: - checkout - run: name: Prepare the WinCE build environment command: | bash ci/setup_wince.sh - run: name: Build for Windows CE command: bash ci/build_wince.sh - store_artifacts: path: wince/output - run: name: Update Navit-Download-Center command: | bash ci/update_download_center.sh build_tomtom_minimal: <<: *defaults docker: - image: navit/tomtom-build-image steps: - checkout - run: name: Setup common requirements command: | bash ci/setup_common_requirements.sh - run: name: Build for Tomtom (minimal) command: | bash ci/build_tomtom_minimal.sh - store_artifacts: path: /output - run: name: Update Navit-Download-Center command: | bash ci/update_download_center.sh build_tomtom_plugin: <<: *defaults docker: - image: navit/tomtom-build-image steps: - checkout - run: name: Setup common requirements command: | bash ci/setup_common_requirements.sh - run: name: Build for Tomtom (plugin) command: | bash ci/build_tomtom_plugin.sh - store_artifacts: path: /output - run: name: Update Navit-Download-Center command: | bash ci/update_download_center.sh merge_trunk_in_master: <<: *defaults steps: - checkout - run: name: Install git command: apt-get update && apt-get -y install ca-certificates git - run: name: configure ssh git command: mkdir -p ~/.ssh/ && ssh-keyscan -t rsa github.com >> ~/.ssh/known_hosts - add_ssh_keys: fingerprints: - "16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48" - run: name: Update results to Github command: export GIT_TERMINAL_PROMPT=0 && git push origin $CIRCLE_SHA1:refs/heads/master workflows: version: 2 build_all: jobs: - build_linux - build_android - build_win32 - build_wince - build_tomtom_minimal - build_tomtom_plugin - run_doxygen: requires: - build_linux - build_android - build_win32 - build_wince - build_tomtom_minimal - build_tomtom_plugin filters: branches: only: /^trunk$/ - merge_trunk_in_master: requires: - build_linux - build_android - build_win32 - build_wince - build_tomtom_minimal - build_tomtom_plugin filters: branches: only: /^trunk$/