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

Sensible mixing of specification when looking at different file formats? #2019

Closed
madig opened this issue Aug 22, 2018 · 6 comments
Closed
Labels

Comments

@madig
Copy link
Contributor

madig commented Aug 22, 2018

I'm writing a Dalton Maag specific front-end to Fontbakery and want to keep command-line arguments as far away from the users as possible (mainly because most of our designers are scared of the CLI as is). The idea is that people run damacheck in a project's root directory and it will automatically crawl sources/ with all the UFOs and release with the OT binaries to be shipped; the thing is to handle different formats in one Runner, so command-line arguments count for everything and there is one report at the end. Can this be sensibly done with the current architecture? Anyone have a better idea?

@davelab6
Copy link
Contributor

@madig did you resolve this?

@madig
Copy link
Contributor Author

madig commented Nov 30, 2018

No, but I haven't had time for it, either.

@davelab6
Copy link
Contributor

I think you can make a specification/profile that calls checks conditionally. @graphicore?

@davelab6 davelab6 added this to the MISC milestone Nov 30, 2018
@graphicore
Copy link
Collaborator

graphicore commented Nov 30, 2018

Not an easy answer here. Calling checks conditionally means skipping them. you could have one iterarg "font": "fonts" for ttFont and one "ufo": "ufos", that would run checks only for ufo's/defcon-font objects. It's important then to be clear what namespace items belong to which type of check, otherwise it may get messy.

@chrissimpkins
Copy link
Member

chrissimpkins commented Nov 30, 2018

want to keep command line... far away from users

There are simple (to implement + use) DnD GUI application builders for macOS like Platypus that would allow you to script all of the source / binary parsing and fontbakery execution logic in shell scripts or Python scripts. This would give users a GUI window where they could simply drop the entire repository directory providing you with their desired test path and empower you to author what happens from there with existing source. Users don't touch terminals. Can be easily packaged in a macOS installer that can be downloaded from Github releases for double click installs and/or distributed through Homebrew Cask. They cannot be easily packaged for distribution in the App Store. Outside of the source the only requirement is that you design an application icon that will be displayed in the user's Launcher.

Not aware of simple to implement applications built with shell/Python scripts that create GUI apps on Linux or Win if these are platforms that you need to deal with.

I've made several of these for a variety of purposes and have shell scripts that demonstrate implementation of the source to interact with the GUI and scripts for packaging the installer. Crunch repo is the best example but it is littered with other non GUI source. If this is of any interest let me know and I can point to exact files/provide more details.

@simoncozens
Copy link
Collaborator

@madig I'm assuming that after five years you've found a better workflow for testing, so I'm closing it here. But if this is still an issue, I suspect the real requirement is for a nicer Python API to the checking infrastructure; which overlaps with issues like #4128, so I would prefer to track that there. (I think we acknowledge that we need a clean API, but haven't got to working on it yet. We will.)

@simoncozens simoncozens closed this as not planned Won't fix, can't repro, duplicate, stale Aug 14, 2023
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

5 participants