CLI is not enough for several repos in the stack. To truly be able to 'clone then build' Arcade, we'll need to support the bootstrapping and scripting for native builds before CLI.
Done is:
As we talked, this should be pay for play.
See also - https://github.com/dotnet/arcade/issues/55
IMO - a good first round of this would be a mechanism that just kept scripts in sync across multiple repos.
/cc @weshaggard
Examples of scripts that are common across repos:
In addition to what @eerhardt listed as common scripts, another set of scripts to share are the rootfs building scripts that we have in coreclr, corefx, corert, core-setup and source-build in the cross folder.
@janvorli About the cross folder.
I'm new to arcade, but I supose that what you need is a Task (https://docs.microsoft.com/en-us/dotnet/api/microsoft.build.utilities.task?view=netframework-4.7.2) that implements all the things from the cross folder, I'm right?
@deinok I don't know anything about arcade yet, but I don't think it is related to a Task. What I was talking about was that we need to share Linux shell and cmake scripts across distros.
@janvorli Then, the only idea I have is move the cross to its own repo and use gitsubmodule.
Anybody has a better idea or suggestion?
@janvorli and @deinok - arcade does provide a mechanism to "share" tools/scripts across repos if you guys are interested. Reach out to @riarenas for more details and whether or not it'll actually work for your specific scenario/s.
@riarenas If you can guide me to some examples on how to share a folder like tools/scripts between repos and how to add that in other repos I could take the issue of move cross.
There's an overview of the process here: https://github.com/dotnet/arcade/blob/master/Documentation/Projects/NativeDependencies/Design.md. I'm not familiar with the cross folder, but if what is needed is to bring down scripts from a publicly accessible location, you could create an installer that brings them down with init-native-tools.sh.
There's an example installer for cmake here: https://github.com/dotnet/arcade/blob/master/eng/common/native/install-cmake.sh. The one to just bring a set of scripts should be simpler.
The tooling in place has been sufficient for teams to onboard, and there haven't been more asks regarding this area. If there comes a time where we need to bootstrap different kinds of tools, or if we need to improve the experience, we can revisit.
Most helpful comment
In addition to what @eerhardt listed as common scripts, another set of scripts to share are the rootfs building scripts that we have in coreclr, corefx, corert, core-setup and source-build in the
crossfolder.