Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phase1 doc for native bootstrapping #129

Merged
merged 3 commits into from
May 1, 2018
Merged

Conversation

chcosta
Copy link
Member

@chcosta chcosta commented Apr 19, 2018

Fixes #122

/cc @markwilkie


## Scope

- Pre-CLI toolsets

This comment was marked as spam.

This comment was marked as spam.


- Pre-CLI toolsets

- Xcopy deployable native dependencies

This comment was marked as spam.


- Create zips / tarballs of a couple of xcopy deployable native dependencies (like cmake) which are stored and publically accessible in Azure blob storage. These will be proof of concept, and not an exhaustive list of native toolset dependencies.

- Determine how repos will define a dependency version list for native dependencies which fits into the [dependency description](https://github.com/dotnet/arcade/pull/120/files) spec or modifies it where necessary

This comment was marked as spam.

@mmitche
Copy link
Member

mmitche commented Apr 24, 2018

I have some additional questions that aren't covered in the doc:

  • Where do you intend to detail where/how we store the native toolsets?
  • What are the general rules for creating the deployable zips (e.g. naming, versioning, etc.

Copy link
Member

@mmitche mmitche left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good overall but probably needs some extra detail in some areas

@chcosta
Copy link
Member Author

chcosta commented Apr 24, 2018

Thanks Matt, this doc is a high-level overview and, you're right, it's light on details. More details are in the referenced issue #131.


- Determine how repos will define a dependency version list for native dependencies which fits into the [dependency description](https://github.com/dotnet/arcade/pull/120/files) spec or modifies it where necessary

- Create [Powershell](https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-6) and bash scripts (these are in-box available tools) which are capable of understanding the dependency list and downloading / extracting versioned dependencies so that they are available in the repo from a well-known (or defined) location.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.


- dependencies distributed as Nupkg's - Why not use nupkg's as the distribution mechanism? Nupkg's have a couple of desirable attributes including being versioned, tfm / runtime awareness, well-known format. There are a couple of downsides though.

- All implementations of the dependency are packaged into a single unit. ie, you can't just download the Windows dependency from the package unless you package it separately. You would always bring down the Windows, Linux variants, and OSX implementations for a native dependency.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.

This comment was marked as spam.


- Non-Xcopy deployable dependencies

- ie, docker, [Visual Studio](https://github.com/dotnet/arcade/issues/64), NodeJS, etc...

This comment was marked as spam.

@chcosta
Copy link
Member Author

chcosta commented May 1, 2018

We seem to have general agreement on native toolset bootstrapping phase1. Further discussions should occur in #131. I'll be updating that doc on 5/2 with the latest design changes.

@chcosta chcosta merged commit 4ad16f4 into dotnet:master May 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants