fastlane / docs

All the fastlane docs
https://docs.fastlane.tools
320 stars 523 forks source link

Tools vs. Actions #671

Open janpio opened 6 years ago

janpio commented 6 years ago

After @taquitos and @joshdholtz convinced me that documenting the tools is not the way to go, I spent some time understanding what is still missing to fully transition from tools to actions.

Current state

Problems

  1. Not all available tool CLI (sub)commands have an action
  2. Configuration files are named after tools
    • Some actions have a config file, others don't (gym .vs gradle)
  3. CLI tool command (fastlane gym) vs. run action (fastlane run build_ios_app)
  4. Other
    • SnapshotHelper.swift
    • init subcommands don't exist as action concept
    • Action documentation is tool branded
    • Change is bad

Possible Solutions

  1. Create more actions so all (sub)commands are covered
    • New actions could be "grouped" with existing action somehow, e.g. "Apple Developer Portal" for produce, in the documentation for example
  2. Find a way to "untool" configuration files
    • Configfile that combines all of them?
  3. Unify command and action execution via CLI
    • We can already use fastlane tool and fastlane lane, maybe also fastlane action?
  4. Other
    • SnapshotHelper.swift could be renamed e.g. ScreenshotHelper.swift
    • No idea how to deal with init. Just docs maybe? Magic action name init_build_ios_app for build_ios_app?
    • Documentation can remove all tool mentions and logos (besides a new History article that keeps the memory alive)
    • Of course all the former names, commands and configuration files keep working

Consequential work / problems


For reference:

List of tools and Configfiles in use: https://github.com/fastlane/fastlane/blob/master/fastlane/lib/fastlane/tools.rb

janpio commented 6 years ago

I created a Google table with all the documented (sub)commands and brainsstormed possible action names for those that don't have one yet: https://docs.google.com/spreadsheets/d/1HnflxsVyuj1nprHqE5uMnHsuiQ5SQRdZ-0Z6x8B4og4/edit?usp=sharing This also includes more ideas about the "Group" names for actions that would be useful in the docs.

janpio commented 6 years ago

If this is done a a part of a major fastlane version, one could very much use the opportunity to get rid of many "tool" folders in fastlane/fastlane and convert them to simple actions. (Some of the old tools probably have some additional logic in their folders that would have to be taken care of [e.g. Android library for screengrab])