1. 'install_client' step complicates composability of recipe modules that depend on cipd client. Should each one try to install the client? Should they assume the client installed already? 'install_client' should probably happen transparently on a first attempt to use CIPD.
2. API is somewhat inconsistent. What's the difference between 'build' and 'create'? (The 'pkg-' prefix of 'pkg-build' and it's meaning were lost during translation into recipes). Why does 'register' take both package_name and package_path (underlying 'cipd register' command needs only package_path).
3. CIPD recipe module (including bootstrap.py) should learn to use bot-persistent package cache directory, to avoid redownloading stuff all the time.
4. We need some strategy/API for defining a versions of packages needed by various recipe modules. Right now each recipe module that needs a cipd package just hardcodes the version of this package.
Comment 1 by benhenry@chromium.org
, Sep 1 2016