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

[Important] Improve passing of parameters for all tools #45

Closed
KrauseFx opened this issue Feb 16, 2015 · 13 comments
Closed

[Important] Improve passing of parameters for all tools #45

KrauseFx opened this issue Feb 16, 2015 · 13 comments

Comments

@KrauseFx
Copy link
Member

Some tools, like sigh can only be passed some of the available command like options, not all of them.

Also, sometimes users want to have a parameter for a tool, for which there is already an environment variable available (fastlane-old/sigh#45)

There needs to be a more unified way:

There are 5 ways to pass configuration to the individual fastlane tools (ordered):

  • Command line parameter (e.g. deliver -u felix@krausefx.com)
  • Passing options with fastlane
  • Configuration file (only for snapshot and deliver)
  • Environment variables
  • Asking for information if missing

The user should be able to set every option in all 5 ways.

Any other ideas? Concerns?

@KrauseFx KrauseFx self-assigned this Feb 16, 2015
@KrauseFx KrauseFx changed the title [important] Improve passing of parameters for all tools [Important] Improve passing of parameters for all tools Feb 16, 2015
@KrauseFx
Copy link
Member Author

This would result in one class of each tool, defining all available options, with a short description of what they're for.

We then iterate through all available options and pass it to commander

@joshdholtz
Copy link
Member

@KrauseFx How does this effect #28 since that is added listening in an the --env option? I'm all for improving this! Just curious 😁

@dfranzi
Copy link

dfranzi commented Feb 17, 2015

I'm finding this to be particularly important with sigh, as it'd be great to be able to specify the file name and output directory from within fastlane when fetching provisioning profiles.

@KrauseFx
Copy link
Member Author

I completely agree. Any feedback appreciated! I want to get this right when working on this issue.

@dfranzi
Copy link

dfranzi commented Feb 17, 2015

I've just started diving into developing a pipeline with fastlane, so I don't have the best insight into all use cases yet. With sigh in particular, I'd want to be able to define parameters per lane. The usage that I see would involve updating the sigh action to work with parameters in a similar manner to produce. This would enable me to define the parameters inline to the call, or as environment variables externally first.

@KrauseFx
Copy link
Member Author

The current plan is to provide a ConfigurationManager-Class in the fastlane_core, which each individual tool can call with its available options.

From then on, each tool can call the ConfigurationManager and ask for specific values. If there was no command line option given, no configuration in the configuration file and no environment variable, it will ask the user for the value and show information on how to set this value programatically.

Thanks @joshdholtz 👍

@almassapargali
Copy link

Hello, I think it may be a little late, since we already make a big use of ENV, but I'd propose to use ENV only for sensitive information.

For other information I think we should take from configuration file, fastlane options, and command line arguments (the latter overwrites former). What do you think of this?

@KrauseFx
Copy link
Member Author

Why wouldn't we also allow passing of any information from the environment?

@almassapargali
Copy link

I don't know, just think would be nice to have one place of input.

@almassapargali
Copy link

Also maybe use something like this but generalised for all tools?

@almassapargali
Copy link

Ok, I'll check out how other established tools (cocoapods, homebrew, etc.) handles this and write back.

@KrauseFx
Copy link
Member Author

KrauseFx commented Mar 5, 2015

Started with the pull request: fastlane-old/fastlane_core#8

Will take a few more days until fully finished 🚀

@KrauseFx KrauseFx closed this as completed Mar 7, 2015
@KrauseFx
Copy link
Member Author

KrauseFx commented Mar 7, 2015

Everything except for the configuration file is finished 🚀

KrauseFx pushed a commit that referenced this issue Mar 7, 2016
Related to fastlane-old/supply#41: be more verbose about featureGraphic not being downloaded
KrauseFx pushed a commit that referenced this issue Mar 7, 2016
Add some initial tests to screengrab
@fastlane fastlane locked and limited conversation to collaborators Sep 26, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants