[x] Better unit testing - actually test punic resolve/update/build - probably should use --dry-run (only one example in place right - needs to be generalised)
[X] Allow specification of default platforms and configurations in new style config file (punic.yaml)
[X] copy-frameworks subcommand.
[X] fetch subcommand
[X] Replace bootstrap with a better build
[X] Support Cartfile.private functionality
[X] Support branch style Cartfile specifications.
[X] Support specifying target dependencies at command line. Building only.
[x] Make sure Python 3 doesn't keep breaking
[x] Bring the punic init command back to allow users to easily set up punic.yaml files
[x] Move ROADMAP section of README into this issue
[x] Add a table-of-contents subcommand that will produce a filtered list of all projects, schemes etc of all dependencies. This TOC could then be used inside punic.yaml as a whitelist or blacklist. This will allow us to do things like skip frameworks that should not be built.
[ ] Add more "real project" tests
[ ] Add complex projects to tests - including RAC etc.
[ ] Update README
[ ] Get people using it
[ ] Switch primary development focus to Python 3
[ ] Investigate better distribution mechanisms
[ ] Add a "config" command to output resolved config
[ ] Add a "test" command to test projects for carthage compatibility (replaces carthage's --no-skip-current) Could give it a GitHub repo: e.g. punic test --repo schwa/SwiftUtilities.
[ ] Add more of a compatibility layer for carthage: punic carthage build etc?
[ ] Add a migrate subcommand that can migrate Cartfiles to the punic.yaml.
[ ] Reliability. Punic needs to be tested against as many other Cartfiles as possible and needs to reliably produce the same build order
[ ] Replace Cartfiles (including .private) with Punic.yaml. Need to support Cartfiles and punic.yaml concurrently.
[ ] Support build subcommand's --no-skip-current switch
[ ] Support specifying target dependencies at command line. Full resolve/fetch
[ ] Unit test Resolver
[ ] Make resolve, update and build more alike
[ ] Consider moving --configuration, --release etc before the subcommand name? be nice if click allowed things to be more flexible.
punic.yaml
)copy-frameworks
subcommand.fetch
subcommandbootstrap
with a betterbuild
Cartfile.private
functionalitytable-of-contents
subcommand that will produce a filtered list of all projects, schemes etc of all dependencies. This TOC could then be used inside punic.yaml as a whitelist or blacklist. This will allow us to do things like skip frameworks that should not be built.punic test --repo schwa/SwiftUtilities
.punic carthage build
etc?migrate
subcommand that can migrate Cartfiles to the punic.yaml.build
subcommand's--no-skip-current
switchresolve
,update
andbuild
more alikeclick
allowed things to be more flexible.