build 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. [% c("var/set_default_env") -%]
  3. output_dir=[% dest_dir %]/[% c('filename') %]
  4. gradle_repo=$rootdir/[% c('input_files_by_name/gradle-dependencies') %]
  5. # The download script assumes artifact package name is the complete URL path.
  6. # In some cases this is incorrect, so copy those artifacts to correct location
  7. cp -r $gradle_repo/guardianproject/gpmaven/master/* $gradle_repo
  8. cp -r $gradle_repo/dl/android/maven2/* $gradle_repo
  9. cp -r $gradle_repo/maven2/* $gradle_repo
  10. cp -r $gradle_repo/plugins-release/* $gradle_repo
  11. mkdir -p /var/tmp/build $output_dir
  12. [% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
  13. tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
  14. # Patch projects
  15. cd /var/tmp/build/[% project %]-[% c('version') %]
  16. # Gradle patch provided so that when generating a gradle dependency list, the
  17. # build will pull down the correct android tool versions
  18. patch -p1 < $rootdir/gradle.patch
  19. patch -p1 < $rootdir/canceldormant.patch
  20. patch -p1 < $rootdir/0001-Bug-30767-Custom-obfs4-bridge-does-not-work-on-Tor-B.patch
  21. # Extract obfs4proxy from TorBrowser/Tor/PluggableTransports/obfs4proxy
  22. tar --strip-components=4 -xf $rootdir/[% c('input_files_by_name/obfs4') %]
  23. # Overwrite the obfs4proxy binary provided by Pluto
  24. for d in external/pluto/bin/*; do
  25. cp obfs4proxy $d/
  26. done
  27. rm obfs4proxy
  28. # Build Android Libraries and Apps
  29. $GRADLE_HOME/gradle-4.10.2/bin/gradle --offline --no-daemon -P androidplugin=3.1.0 -Dmaven.repo.local=$gradle_repo assembleRelease -x lint
  30. # Package
  31. cp universal/build/libs/* android/build/outputs/aar/* $output_dir