The command is:
/opt/reyboz/android/bin/publish-latest-branch-build.sh ${buildable.revision}
Source code:
This step will copy the built .apk to an indexed HTTP directory exposed by Apache:
Failed |
The command is:
/opt/reyboz/android/bin/publish-latest-branch-build.sh ${buildable.revision}
Source code:
This step will copy the built .apk to an indexed HTTP directory exposed by Apache:
1 | sha256sum: ./app/build/outputs/apk/gitpull/app-gitpull-signed.apk: No such file or directory |
---|---|
2 |
Passed |
This script is available here on gargantua.reyboz.it accessible to the Unix user phabricator-android-builder:
/opt/reyboz/android/bin/align-sign-fabione.sh
In general it does that:
#!/bin/sh # https://gitpull.it/harbormaster/step/view/16/ BASEDIR="app/build/outputs/apk/gitpull" OUT="app-gitpull-signed.apk" APK_UNSIGNED="app-gitpull-unsigned.apk" APK_ALIGNED="app-gitpull-unsigned-aligned.apk" KEYSTORE="/home/phabricator-android-builder/private-resources/gitpullkeystore-libre-busto.jks" PASSPHRASE="<omissis> echo "Entering in $BASEDIR" cd "$BASEDIR" echo "Aligning zip" ~/bin/zipalign -v -p 4 "$APK_UNSIGNED" "$APK_ALIGNED" echo "Signing APK" # NOTE: keep keystore unsescaped ~/bin/apksigner sign --ks "$KEYSTORE" --out "$OUT" --ks-pass pass:"$PASSPHRASE" "$APK_ALIGNED" echo "Sign concluded with exit status $?"
1113 | 6096450 res/y9.xml (OK - compressed) |
---|---|
1114 | 6096825 res/yC.xml (OK - compressed) |
1115 | 6097804 res/yO.9.png (OK) |
1116 | 6098065 res/yP.xml (OK - compressed) |
1117 | 6098656 res/yR.xml (OK - compressed) |
1118 | 6099656 res/yX.png (OK) |
1119 | 6104006 res/ya.xml (OK - compressed) |
1120 | 6104982 res/yf.xml (OK - compressed) |
1121 | 6105320 res/yw.png (OK) |
1122 | 6107124 res/yx.xml (OK - compressed) |
1123 | 6107590 res/z1.xml (OK - compressed) |
1124 | 6107829 res/z3.xml (OK - compressed) |
1125 | 6108100 res/z6.png (OK) |
1126 | 6109004 res/z61.png (OK) |
1127 | 6110188 res/zH.xml (OK - compressed) |
1128 | 6110711 res/zH1.xml (OK - compressed) |
1129 | 6111259 res/zH2.xml (OK - compressed) |
1130 | 6111723 res/zL.xml (OK - compressed) |
1131 | 6112043 res/zq.xml (OK - compressed) |
1132 | 6112468 res/zt.png (OK) |
1133 | 6116948 resources.arsc (OK) |
1134 | Verification succesful |
1135 | Signing APK |
1136 | Sign concluded with exit status 0 |
1137 |
Passed |
This step will build an .apk using Gradle.
sudo apt install openjdk-11-jre-headless
Then aliased this gradle:
https://gitlab.com/fdroid/fdroidserver/-/blob/master/gradlew-fdroid
3 | <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"/> |
---|---|
4 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
5 | |
6 | Explanation for issues of type "MockLocation": |
7 | Using a mock location provider (by requiring the permission |
8 | android.permission.ACCESS_MOCK_LOCATION) should only be done in debug |
9 | builds (or from tests). In Gradle projects, that means you should only |
10 | request this permission in a test or debug source set specific manifest |
11 | file. |
12 | |
13 | To fix this, create a new manifest file in the debug folder and move the |
14 | <uses-permission> element there. A typical path to a debug manifest |
15 | override file in a Gradle project is src/debug/AndroidManifest.xml. |
16 | |
17 | /var/drydock/workingcopy-112/repo/libre-busto/app/src/main/res/layout/fragment_arrivals.xml:117: Error: @id/noArrivalsRecyclerView is not a sibling in the same ConstraintLayout [NotSibling] |
18 | app:layout_constraintTop_toBottomOf="@id/noArrivalsRecyclerView" |
19 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
20 | |
21 | Explanation for issues of type "NotSibling": |
22 | Layout constraints in a given ConstraintLayout or RelativeLayout should |
23 | reference other views within the same relative layout (but not itself!) |
24 | |
25 | 2 errors, 0 warnings |
26 | |
27 |
51 | > Task :app:compileGitpullKotlin |
---|---|
52 | w: /var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/adapters/RouteOnlyLineAdapter.kt: (26, 33): Parameter 'showOnlyEmpty' is never used |
53 | w: /var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/fragments/LinesDetailFragment.kt: (73, 13): Variable 'USGS_SAT' is never used |
54 | w: /var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/map/BusInfoWindow.kt: (41, 36): Parameter 'view' is never used, could be renamed to _ |
55 | w: /var/drydock/workingcopy-112/repo/libre-busto/app/src/main/java/it/reyboz/bustorino/map/BusInfoWindow.kt: (41, 42): Parameter 'motionEvent' is never used, could be renamed to _ |
56 | |
57 | > Task :app:compileGitpullJavaWithJavac |
58 | |
59 | > Task :app:dexBuilderGitpull |
60 | > Task :app:mergeGitpullJavaResource |
61 | > Task :app:mergeDexGitpull |
62 | > Task :app:compileGitpullArtProfile |
63 | > Task :app:packageGitpull |
64 | > Task :app:createGitpullApkListingFileRedirect |
65 | Daemon will be stopped at the end of the build after running out of JVM memory |
66 | > Task :app:lintVitalAnalyzeGitpull |
67 | > Task :app:lintVitalReportGitpull |
68 | |
69 | > Task :app:lintVitalGitpull |
70 | |
71 | > Task :app:assembleGitpull |
72 | |
73 | BUILD SUCCESSFUL in 1m 40s |
74 | 39 actionable tasks: 39 executed |
75 |
Passed |
Clean Gradle directory to avoid nasty errors like:
1 | Found 7.5.1 via distributionUrl |
---|---|
2 | Running /home/phabricator-android-builder/versions/7.5.1/bin/gradle clean |
3 | Starting a Gradle Daemon (subsequent builds will be faster) |
4 | > Task :app:clean |
5 | |
6 | BUILD SUCCESSFUL in 13s |
7 | 1 actionable task: 1 executed |
8 |
Passed |
Passed |