Menu

#10 [PATCH v2] Dynamic dependencies

2.0.0-SNAPSHOT
closed-accepted
None
5
2011-03-10
2011-01-28
No

(NOTE: I just realized that my patch headers are not making it through in the attachments...this explains why there was some confusion as to what is going on and the motivation behind it, Until I resolve this issue, i will post the patch header here)

v2:
*) ported to r273
*) AutoDep::analyze now returns a List<Artifact> instead of List<CheckAppResult>, keeping with existing styles
*) Added a helper function AutoDep::addAll(List<Artifact>) to simplify client usage
*) collapsed the previous getAutoDeps() helper to inline code, in keeping with existing styles.

v1:
*) initial release

Discussion

  • Greg Haskins

    Greg Haskins - 2011-01-28
     
  • Greg Haskins

    Greg Haskins - 2011-01-28

    Ugg, sorry...forgot to add the patch header:

    commit 9f3abf4bf8f6697be48e0b4654ea443366ab27cf
    Author: Gregory Haskins <ghaskins@novell.com>
    Date: Tue Jan 25 23:08:32 2011 -0500

    Add transitive dependencies to the AUTODEP mechanism

    Any erlang application may depend on an arbitrary set of other applications,
    which in turn may have their own requirements. This places the impetus on
    the maintainer of the appropriate .app/.rel files to correctly state all
    explicit and transitive dependencies.

    In the ideal world, all of an applications dependencies would be managed
    as erlang-[otp|std] maven coordinates generated by the maven-erlang-plugin,
    in which case transitive dependencies would be naturally handled by maven.
    However, realistically not all applications will be packaged in maven
    (OTP apps, for instance). Therefore, it would be nice if we can still
    support transitive dependencies using the information inherent to
    native erlang. Fortunately, erlang already has this metadata neatly
    packaged up for us in in the {application, $list} tuple for each .app.

    This patch exploits this information by taking explicit dependencies
    (declared as standard coordinate deps, and/or the additionalAutoDeps parameter)
    and walks backwards through the data. This is then used to generate
    a complete list of required applications, explcit and transitive, that we
    use as the basis of the ${AUTODEPS} substitution in the .rel

    Signed-off-by: Gregory Haskins <ghaskins@novell.com>

     
  • Tobias Schlager

    Tobias Schlager - 2011-03-10
    • milestone: --> 2.0.0-SNAPSHOT
    • assigned_to: nobody --> schlagert
    • status: open --> closed-accepted
     
  • Tobias Schlager

    Tobias Schlager - 2011-03-10

    Hi,

    we finally took the decision on how we would like to see standard erlang application dependencies beeing handled. I'll write some more about that in the other patch ticket you've created. As you may have noticed, support for transitive dependencies was added for release and application projects.

     

Log in to post a comment.