Is there a documentation on how to pull Arrow's so...
# arrow-contributors
a
Is there a documentation on how to pull Arrow's source code and build it locally? A kind of intro to contributing to Arrow...
r
Hi Attila, please, take look at https://github.com/arrow-kt/arrow/blob/master/CONTRIBUTING.md and let us know if you're missing details there because they can be added to improve it. Thanks!!
a
Thanks Rachel for the speedy response. I had the old Arrow code before it was dissected into multi-repos. Removed the whole thing, created a dir
arrow
, pulled the
arrow
repo into that. I looked through the README, but
CONTRIBUTING
wasn't that easy to see. I wonder if there could be some TOC with links up on top and Contributing could be a list there for easier navigation. I was wondering if there is a command, a shell script that would do the initial cloning for all the repos. I tried
arrow/script/repositories-git-pull.sh
, but that only does pulling of all the repos once they are cloned.
I did see what version of JDK I should be using. I chose version 8 just to be safe.
I am happy to improve documentation, btw.
r
Thanks Attila! Right, JDK 8. That's missing in the documentation 👍
About the command, the last section in this page: https://github.com/arrow-kt/arrow/blob/master/docs/move-to-multi-repo/how-to-manage-several-repositories.md#other-tools It could be added to the CONTRIBUTING guideline 👍
Of course, all the contributions about the documentation are very valuable, thank you so much!
a
Sorry, but is there a single command that would clone all the libraries from GH? I am thinking: clone
arrow
,
make clone-repos
or something, and that would clone all
arrow-core
,
arrow-ank
,
arrow-fx
, etc.
r
Yes, in https://github.com/arrow-kt/arrow/blob/master/docs/move-to-multi-repo/how-to-manage-several-repositories.md#other-tools there is a link to this folder: https://github.com/arrow-kt/arrow/tree/master/docs/move-to-multi-repo/utils There are 2 scripts to clone all the repositories with https or ssh. Please, let us know if they work for you
Did it work for you, @Attila Domokos?
a
Sorry, have not had a chance to check it yet. I'll do it today and will let you know.
r
Ok, don't worry, thanks Attila!
a
That worked, thank you! It seems the
docs
repo does not exist, PR submitted: https://github.com/arrow-kt/arrow/pull/2153
@Rachel - why a Gradle multi project setup did not work for Arrow?
r
Hi @Attila Domokos 🙌 please, could you provide more details?
For instance, what's not working? where? how can I reproduce it?
a
I've been working with Gradle multi projects recently. It's tough to set up, but once it works, it's great. I can even build different jar files from different sub-projects.
Nono, it's working, but the repos seem to be "disconnected". I wonder if Arrow had multi-project setup before and it wasn't working. I wonder what led to this restructuring.
r
Ah, ok, sorry I misunderstood the question. Right, there was just one multi-project before. Now there are several multi-projects, one per repository. The mono-repo was a blocking point for the future of Arrow and some changes couldn't be implemented because of having a single project with all the libraries. For instance, changes related to type checking. The multi-repo introduces some challenges with breaking changes in several Arrow libraries that are being counteracted with global checks after merging changes and a development environment to check crossed changes. However, the benefits of having single Arrow libraries will allow to implement improvements in type management that will take Arrow to the next level.
a
Makes sense, thank you for explaining!
r
You're welcome, thanks to you!