From 8656b4f791768b050dfe04fe5d92023bd3c8156f Mon Sep 17 00:00:00 2001 From: Javernaut Date: Fri, 2 Aug 2019 22:28:42 +0300 Subject: [PATCH 1/4] CI Integration --- .travis.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..b8e0f3b --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +language: android +dist: trusty +before_install: + # Installing the ndk and assembling the FFmpeg + - yes | sdkmanager "ndk-bundle" + - yes | sdkmanager "patcher;v4" + - export ANDROID_NDK_HOME=/usr/local/android-sdk/ndk-bundle + # Keeping track of the NDK version that was used + - cat $ANDROID_NDK_HOME/source.properties +script: + - ./ffmpeg-android-maker.sh + - cat stats/text-relocations.txt From 6b5d3c429a84dff5555700cc8819b4a9225b2d65 Mon Sep 17 00:00:00 2001 From: Javernaut Date: Sat, 3 Aug 2019 08:24:48 +0300 Subject: [PATCH 2/4] Forcing the CI build to fail in case of any error in the script --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index b8e0f3b..6bc2e03 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,5 +8,5 @@ before_install: # Keeping track of the NDK version that was used - cat $ANDROID_NDK_HOME/source.properties script: - - ./ffmpeg-android-maker.sh + - bash -e ffmpeg-android-maker.sh - cat stats/text-relocations.txt From 801174ff18d6e9621a8155068e0e03119b2cfee4 Mon Sep 17 00:00:00 2001 From: Alexander Kobozev Date: Sat, 3 Aug 2019 09:11:46 +0300 Subject: [PATCH 3/4] Adding a pretty badge for Travis CI builds --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index d28d337..e1a3c21 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # ffmpeg-android-maker +[![Build Status](https://travis-ci.org/Javernaut/ffmpeg-android-maker.svg?branch=master)](https://travis-ci.org/Javernaut/ffmpeg-android-maker) + Here is a script that downloads the source code of [FFmpeg](https://www.ffmpeg.org) library and assembles it for Android. The script produces shared libraries as well as header files. The output structure looks like this: The actual content of all this directories depends on how the FFmpeg was configured before assembling. For my purpose I enabled only *libavcodec*, *libavformat*, *libavutil* and *libswscale*, but you can set your own configuration to make the FFmpeg you need. From ac0f975f0d3b2d30a385dc7107805d3e173b29d4 Mon Sep 17 00:00:00 2001 From: Alexander Kobozev Date: Sat, 3 Aug 2019 09:43:58 +0300 Subject: [PATCH 4/4] Mentioning Build automation in README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e1a3c21..f8f8a0a 100644 --- a/README.md +++ b/README.md @@ -28,4 +28,6 @@ And the actual Android app can be found [here](https://github.com/Javernaut/What **Setting your own FFmpeg version**. You can actually override the version of FFmpeg used by the script. See details [here](https://github.com/Javernaut/ffmpeg-android-maker/wiki/Invocation-parameters). +**Test your script in a cloud**. This repository has CI integration and you can use it too for your own configurations of FFmpeg. See details [here](https://github.com/Javernaut/ffmpeg-android-maker/wiki/Build-automation). + **Text relocations monitoring**. After a build you can look into stats/text-relocations.txt file. That file lists all *.so files that were built and reports if they have text relocations. If you don't see any mentioning of 'TEXTREL' in the file, you are good. Otherwise, you will see exact binaries that have this problem.