<div dir="ltr">Hi Joe,<div><br></div><div>about Your "how should I fix this" section there may be a way, when You already use git are "submodules".</div><div><br></div><div>With such a submodule You can include a git repository and it will be fixed at a given commit.</div><div><br></div><div>But there is another problem with other's (git-) repositories: what will happen when the project dies, or is moved to another "namespace". Of course You can use a fork and use this as a base for a submodule, but with this approach You may have to keep Your fork in sync with the original one.</div><div><br></div><div>[IMHO] On the other hand the "git submodule usage" is somewhat cumbersome... </div><div><br></div><div><br></div><div>Regards,</div><div>Boris</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-03-17 14:53 GMT+01:00 Joe Armstrong <span dir="ltr"><<a href="mailto:erlang@gmail.com" target="_blank">erlang@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">How do I include another application in my application?<br>
<br>
I've written a program that I want to distibute.<br>
I'll make it available on github.<br>
<br>
The problem is that my program uses cowboy and a few other<br>
things (which are also on github)<br>
<br>
I'd like my program to work "out of the box" - just type Make and off<br>
you go.<br>
<br>
I'd also like my to work for a long time so if rebar and<br>
cowboy change in the future I'd like my program to still build<br>
correctly.<br>
<br>
Now what I could do is:<br>
<br>
    use rebar and a rebar.config file that point to cowboy etc.<br>
<br>
My rebar-config is like this<br>
<br>
{deps, [<br>
   ...<br>
  {cowboy, ".*", {git, "git://<a href="http://github.com/extend/cowboy.git" target="_blank">github.com/extend/cowboy.git</a>", "master"}}<br>
]}.<br>
<br>
The problem with this is that<br>
<br>
   1) my version of rebar might not be the same as on the target machine<br>
      where the makefile is run<br>
   2) The cowboy reference is to "the latest version" and not<br>
      an immutable version that I know works<br>
<br>
So How should I fix this? Is the answer:<br>
<br>
    a) Include rebar in my distribution<br>
      (I don't really like this, since I'd just like to have my code in<br>
       my project archive)<br>
    b) Point to a absolute version of cowboy - but how do I do this?<br>
<br>
Or c)<br>
      Include all the source code of cowboy etc in my release<br>
<br>
I also don't want mutiple versions of rebar and libraries in different<br>
directories, branches, views or whatever you call them.<br>
<br>
What's the best thing to do here?<br>
<br>
Cheers<br>
<br>
/Joe<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</blockquote></div><br></div>