-
Notifications
You must be signed in to change notification settings - Fork 70
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
Change lifecycle to support Linux and Windows #62
Conversation
Opening this proposed spec PR to aid in discussion. There's still a remaining open question from the RFC PR from @jkutner on whether Windows should be defined in an extension instead. Hopefully this diff - with what is hopefully a near-complete set of changes - can help that decision. |
WG comments: can "shell" in lifecycle.md footnote to the "shell" in the readme to make sure its clear that windows shell == |
- Default Windows shell is Command Prompt (cmd.exe) - Lifecycle binaries on Windows can be `.exe` or `.bat` - Buildpack binaries on WIndows can be `.exe` or `.bat` - Profile scripts are Batch Script (.bat) format - Processes started with `direct = false` are loaded with Command Prompt - CNB_*IDs should be SIDs on Windows - Bash/Command Prompt reference global shell definition - Generic Stdout/Stderr Signed-off-by: Micah Young <myoung@pivotal.io> Signed-off-by: Emily Casey <ecasey@pivotal.io>
- Clean up general Windows caveats - Simplify OS-specifics on env var table Signed-off-by: Micah Young <ymicah@vmware.com> Signed-off-by: Andrew Meyer <ameyer@pivotal.io>
I'm not sure of a good example in specs, but Rust elegantly has a broad abstraction and then use extension traits to handle it. You can find all the OS extensions as part of
In Rust, I wonder for CNB (not blocking this PR), but if we want to re-organize to have OS specific "extensions" (documentation) that is more encapsulating that can be referenced out to. |
- Default Windows shell is Command Prompt (cmd.exe) - Lifecycle binaries on Windows can be `.exe` or `.bat` - Buildpack binaries on WIndows can be `.exe` or `.bat` - Profile scripts are Batch Script (.bat) format - Processes started with `direct = false` are loaded with Command Prompt - CNB_*IDs should be SIDs on Windows - Bash/Command Prompt reference global shell definition - Generic Stdout/Stderr [#62] Signed-off-by: Micah Young <myoung@pivotal.io> Signed-off-by: Emily Casey <ecasey@pivotal.io> Signed-off-by: Ben Hale <bhale@pivotal.io>
- Clean up general Windows caveats - Simplify OS-specifics on env var table [#62] Signed-off-by: Micah Young <ymicah@vmware.com> Signed-off-by: Andrew Meyer <ameyer@pivotal.io> Signed-off-by: Ben Hale <bhale@pivotal.io>
[resolves #62] Signed-off-by: Ben Hale <bhale@pivotal.io>
Resolved by 2a8ca60 |
- Default Windows shell is Command Prompt (cmd.exe) - Lifecycle binaries on Windows can be `.exe` or `.bat` - Buildpack binaries on WIndows can be `.exe` or `.bat` - Profile scripts are Batch Script (.bat) format - Processes started with `direct = false` are loaded with Command Prompt - CNB_*IDs should be SIDs on Windows - Bash/Command Prompt reference global shell definition - Generic Stdout/Stderr [#62] Signed-off-by: Micah Young <myoung@pivotal.io> Signed-off-by: Emily Casey <ecasey@pivotal.io> Signed-off-by: Ben Hale <bhale@pivotal.io> Signed-off-by: Emily Casey <ecasey@vmware.com>
- Clean up general Windows caveats - Simplify OS-specifics on env var table [#62] Signed-off-by: Micah Young <ymicah@vmware.com> Signed-off-by: Andrew Meyer <ameyer@pivotal.io> Signed-off-by: Ben Hale <bhale@pivotal.io> Signed-off-by: Emily Casey <ecasey@vmware.com>
Readable
RFC PR