GithubHelp home page GithubHelp logo

Comments (11)

ericbmerritt avatar ericbmerritt commented on July 21, 2024

@okeuday we have not ignored this. We have just been talking about this amongst ourselves to figure out the best way to handle it.

from relx.

okeuday avatar okeuday commented on July 21, 2024

That is ok. As a temporary fix, I have commented out the application dependencies that make the tree cyclic, but it would be nice to uncomment the dependencies to make the dependencies explicit. Functionally, nothing should be different in the release, either way (i.e., with or without the cyclic dependency).

from relx.

jwilberding avatar jwilberding commented on July 21, 2024

@ericbmerritt Did we ever address this?

from relx.

ericbmerritt avatar ericbmerritt commented on July 21, 2024

No we have not. Its probably worth getting into a task list somewhere. Its has the potential to be non-trivial since we could only do that for included applications and not the other dependency types. This begs the question @jwilberding is it time to start thinking about an erlware task list?

from relx.

jwilberding avatar jwilberding commented on July 21, 2024

@ericbmerritt Yeah, we either need to do something like a public trello, or
use the github wiki and/or issue tracker. What would you prefer? We could
also keep a TODO.md in the repo.

On Mon, Apr 7, 2014 at 5:06 PM, Eric Merritt [email protected]:

No we have not. Its probably worth getting into a task list somewhere. Its
has the potential to be non-trivial since we could only do that for
included applications and not the other dependency types. This begs the
question @jwilberding https://github.com/jwilberding is it time to
start thinking about an erlware task list?

Reply to this email directly or view it on GitHubhttps://github.com//issues/57#issuecomment-39741870
.

from relx.

tsloughter avatar tsloughter commented on July 21, 2024

So this is out oldest open issue @okeuday :). I really don't like the idea of cycles being ignored because the cycle is created by the app being included in included_applications.

Do you currently get around this with reltool somehow?

from relx.

okeuday avatar okeuday commented on July 21, 2024

@tsloughter I no longer need to worry about this in CloudI. I changed things to no longer use included_applications (for the CloudI services that are provided in the main repository). I have reltool including all the CloudI service applications (https://github.com/CloudI/CloudI/blob/develop/src/reltool.config.in#L33-L76), despite the fact they aren't part of the main dependency tree for the cloudi_core application.

However, I still think it is important to ignore cycles related to included_applications, just because it isn't related to the application being started, it is only a source code dependency and OTP is already ambiguous about which applications are started/loaded first (i.e., it is based on its traversal of the tree, it is not a deterministic sequential list, though that is the end result of a release within the script/boot file output).

from relx.

tsloughter avatar tsloughter commented on July 21, 2024

@okeuday in a sense I'd agree, but I wouldn't want to make that to be a relx specific outcome when it isn't a relx specific config.

from relx.

okeuday avatar okeuday commented on July 21, 2024

My understanding is that this is a problem specific to relx, where reltool does not have this problem.

from relx.

tsloughter avatar tsloughter commented on July 21, 2024

If that is true then I will make the modification. If you can find any documentation on this that would be great.

from relx.

okeuday avatar okeuday commented on July 21, 2024

I am pretty sure the only documentation related to this is what you probably have already seen at http://www.erlang.org/doc/man/app.html "All applications which are included by this application. When this application is started, all included application will automatically be loaded, but not started, by the application controller. It is assumed that the topmost supervisor of the included application is started by a supervisor of this application.". The fact it is only including the source code in the release and only loading the .app file at runtime for included_applications should justify ignoring the cyclic relationships they may create.

from relx.

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.