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

resetting the manifest #17348

Open
boneskull opened this issue Aug 10, 2022 · 2 comments
Open

resetting the manifest #17348

boneskull opened this issue Aug 10, 2022 · 2 comments
Labels

Comments

@boneskull
Copy link
Contributor

We "shouldn't" need to reset Appium's manifest, but sometimes we do. This affects an Appium dev env more than consumers, but regardless: sometimes weird stuff can get into extensions.yaml and it's more expedient to rm the file than appium uninstall things.

To me, this makes sense as a thing that @appium/doctor could do. It could essentially cross-reference the manifest with what exists, and if it's different, remove the file so it can be rebuilt upon next appium launch. It could theoretically rebuild the thing itself, but I don't really see the point--the manifest isn't used unless Appium is running, and Appium already does this.

@appium/doctor is a can of worms, maybe? I'm not sure to what extent it works with Appium 2. I do think it should be exposed as an appium doctor subcommand (do not require users to install it explicitly).

@boneskull
Copy link
Contributor Author

Also this should remove the package hash ($APPIUM_HOME/node_modules/.cache/appium/package.hash)

@boneskull boneskull added the Enhancement feature label Aug 10, 2022
@jlipps
Copy link
Member

jlipps commented Aug 10, 2022

I think Appium Doctor needs to be updated quite a bit in an Appium 2 world. Currently it contains a library of checks for drivers. Instead, the drivers should expose doctor checks for Appium doctor to read. The way I think Doctor should work in the future:

  • doctor checks for installed drivers/plugins
  • doctor looks for exported doctor checks in those drivers/plugins
  • doctor runs those checks
  • doctor reports the outcome of those checks

it basically involves us documenting the concept of a doctor check and creating a standard place for those to be exported (or maybe referenced in an array of doctorChecks in the appium package.json field).

but yes, assuming all that is in place, we could make a script like appium-doctor reset that blows things away. I also wouldn't be bothered if it was just a part of appium, like appium manifest reset (could have other commands like appium manifest sync or appium manifest check)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants