Code Monkey home page Code Monkey logo

Comments (7)

DanAlbert avatar DanAlbert commented on July 18, 2024

Depending on your answer to #159, I think these two are probably the same FR (modeling for runtime-only dependencies).

from prefab.

DanAlbert avatar DanAlbert commented on July 18, 2024

Duplicate of #159

from prefab.

madebr avatar madebr commented on July 18, 2024

This is also a run-time dependency, but should only be satisfied when the application really needs it.

e.g.
my game needs png support, so needs libpng. But my application does not need tiff support, so does not need libtiff.
So I would like some way to make sure libpng is bundled in the .apk and not libtiff.

from prefab.

DanAlbert avatar DanAlbert commented on July 18, 2024

Oh, and that choice is made at build time?

from prefab.

DanAlbert avatar DanAlbert commented on July 18, 2024

Okay, I think not strictly a dup then, just closely related. Will reopen to track the optional aspect of runtime dependencies.

from prefab.

madebr avatar madebr commented on July 18, 2024

Oh, and that choice is made at build time?

Yes, the library must be included at build time.

#159 is a dependency that can be modeled in json files to be processed by prefab.
The dependency here is made in the cmake script.

I'm not 100% sure this is a prefab issue though.
If it isn't, can you please show me where to go instead or what alternatives there are?

from prefab.

DanAlbert avatar DanAlbert commented on July 18, 2024

I haven't thought about it very deeply yet, but I suspect prefab needs to be at least somewhat involved here, if only to pass along metadata to another system like AGP.

How do you envision this being controlled by the consumer? I think this probably ends up being something system-specific in your build script. For CMake this is probably something like https://cmake.org/cmake/help/latest/command/install.html#installing-runtime-dependencies?

install(RUNTIME_DEPENDENCY_SET package::optional-dependency)

install seems to be how CMakes wants runtime dependencies declared. AGP doesn't currently use that model (it probably should have). We've considered adding support for that before, and this may require it.

ndk-build would need to grow a similar feature, but that's fairly easy.

Or did you have something else in mind? The other things I can think of would be something contained in the build.gradle file, which seems like it'd be cumbersome for the author to keep in sync with the real build script; or doubling up on packaging some modules so it would expose both package::module and package::module-with-optional-dependency, which works today but is prone to combinatoric explosion for something like ffmpeg...

from prefab.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.