Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem: Android CI build system require enhancements #1304

Closed
stephan57160 opened this issue Sep 30, 2022 · 2 comments
Closed

Problem: Android CI build system require enhancements #1304

stephan57160 opened this issue Sep 30, 2022 · 2 comments

Comments

@stephan57160
Copy link
Contributor

stephan57160 commented Sep 30, 2022

Was 'playing' with builds/android/ci_build.sh and bindings/jni/ci_build.sh for a while, with the idea to use them by our own applications to generate ZYRE jar file for our Android application(s).

Found them interesting, but buggy, and probably incomplete. Below, a partial list of my findings:

  1. {CZMQ,ZYRE}/builds/android/ci_build.sh: silently fail (no use of set -e).
    As per my investigations, may require a few other modifications, because failing when set.

  2. {CZMQ,ZYRE}/builds/android/build.sh: silently fail (no use of set -e).
    As per my investigations, may require a few other modifications, because failing when set.

  3. CZMQ/builds/android/ci_build.sh: clone LIBMICROHTTPD repository, instead of using the TARBALL.
    This already raises an error during build, but not yet seen because of 1.

  4. zproject_known_projects.xml: Show invalid repo for LIBMICROHTTPD.
    The given URL is wrong, so, it's probably an old version.
    Don't know how to fix this one, as there is no way (yet) to indicate a tarball download.
    Any idea is welcome.

  5. Enhancement: There is no way to rebuild ZYRE, using existing folders, to facilitate troubleshooting.

  6. zproject_*.gsl contain many places where 'android-ndk-xxx' is defined: Could be usefull to have a unique variable.

  7. Enhancement: NDK download is performed in a few places, but could be in the existing android helper file.

  8. Enhancement: HOST_PLATFORM is currently exported, but this may lead to build problems, when building dependencies.
    Actually, there is no reason to export it, and it should be initialized in the Android helper too.

  9. Simplification: After a previous PR, GSL code shows things like if a then B else B (no effect on generated code).

  10. ./configure used with --with-docs=no, when usually, the syntax is more --without-docs.

  11. android helpers do not validate dependencies, despite its documentation.
    This problem was initially detected in libzmq, by the way.

  12. Dump ./configure parameters.
    Already in use to troubleshoot some existing problem.

Additionnally:

  • found also some minor typos, here or there.
  • ZYRE Android CI build could be updated to be closer to the Zproject generated one.

Any input on the CI build system is welcome.

I already to work on them, and started a android-build-enhancements branch in my fork.
Same branch exists in my forks LIBZMQ, CZMQ & ZYRE.

I'll do, as usual : 1 commit for a unique solution to a unique problem, to minimize the modifications.

@stephan57160
Copy link
Contributor Author

stephan57160 commented Oct 6, 2022

  1. Available in LIBZMQ, CZMQ, ZYRE & ZPROJECT.
  2. Available in LIBZMQ, CZMQ, ZYRE & ZPROJECT.
  3. Available in CZMQ & ZPROJECT. No change in LIBZMQ & ZYRE.
  4. Available in ZPROJECT.
  5. Available in LIBZMQ, CZMQ, ZYRE & ZPROJECT.
  6. Available in ZPROJECT. No change in CZMQ & ZYRE.
  7. Available in LIBZMQ, CZMQ, ZYRE & ZPROJECT.
  8. Available in LIBZMQ, CZMQ, ZYRE & ZPROJECT.
  9. Dropped, as concerns only CMAKE, AUTOTOOLS, CLASS and CLASS_API gsl files, and no way to test them.
  10. Some libraries do really use with-docs=no, some other use without-docs and I also found disable-docs... Nothing can be done, just for this.
  11. Available in LIBZMQ, CZMQ, ZYRE & ZPROJECT.
  12. Available in LIBZMQ, CZMQ, ZYRE & ZPROJECT.

@benjdero
Copy link
Member

Good work, keep it up! I wonder if @sappo have an opinion on those changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants