Fork me on GitHub
#off-topic
<
2016-03-31
>
nxqd06:03:48

hi guys , I'm reading this article regarding trunk based development from facebook and google, I don't quite get the last point regarding binary dependencies :

Binary Dependencies

TL;DR: The same
Checked into Source-Control without version suffixing (harmonized versions across all apps). E.g. - log4j.jar rather than log4j-1.2.8.jar.
What does it mean, and how do they do it ? The article: http://paulhammant.com/2014/01/08/googles-vs-facebooks-trunk-based-development/

sveri07:03:46

@nxd I would say it means what it says. Put all dependencies as jars into git, without the version string. I have not read the whole article. While I agree with having one big repo I would strongly disagree against putting dependencies into source control. They belong into artifactory or mvn repo or something similar and you pull them in with your build tool. Not sure how people can think it is a good idea to have jar files in source control unless there is no other way. Imagine managing your leiningen dependencies in a jar folder instead of declaring them in project.clj

jamesleonis16:03:08

It appears Facebook builds in a staggeringly large single project, and Google even larger. The compilation or resource fetching for such a project would eat large amounts of time. Instead it looks like they’re shortcutting this by also providing the binaries of their subprojects.

jamesleonis16:03:34

From this link: http://paulhammant.com/2014/01/06/googlers-subset-their-trunk/ > 10000+ developers > 2000+ projects > Single Monolithic code tree

jamesleonis16:03:05

In Google’s case, it might be necessary because there is no hard drive large enough for checking out HEAD.

sveri16:03:09

@jamesleonis: but in the article they refer to log4j which most probably is not self built? Also if they do subset checkouts the argument of compilation duration falls apart? OTOH I never worked there, so I am just guessing.

jamesleonis16:03:53

@sveri: I’m just guessing as well 😛

polymeris22:03:54

Xamarin is now open source, apperently

polymeris22:03:10

Now, if only we could run Clojure on the CLR...

polymeris22:03:16

Oh... apparently there is an effort to allow that #C060SFCPR

jamesleonis22:03:45

Clojure’s stewards have supported a CLR implementation for a while now https://github.com/clojure/clojure-clr

marvin22:03:12

Hello, I am deep diving into clojure and clojureScript at the moment. I am looking for suggestion to start a Clojure user-group, Thanks.

polymeris23:03:13

That's cool, @jamesleonis ... Wonder how mature it is and if that would be enough to use e.g. xamarin.Forms

jamesleonis23:03:49

Looking over the documentation, it appears feature parity with Clojure 1.8. However, library support is behind because of the ecosystem's overwhelming embrace of Java. There is lein support through this plugin https://github.com/kumarshantanu/lein-clr

jamesleonis23:03:59

There’s also work being done on Clojure in Unity https://github.com/arcadia-unity/Arcadia/tree/develop