A Command-Line Interface for the Swift Package Manager
new-commit
configuration for auto committing when a new project is generated.update-commit
configuration for auto committing when a project's packages are updated.version-latest-commit
configuration for auto committing when a project's dependencies are all updated to their latest versions.version-set-commit
configuration for auto committing when a project's dependency's version is updated.Added a -p,--playground
option to the install
command to install dependencies to an Xcode Playground instead of an SPM project. Playground installs do not support packages the use C module maps.
Also added a -t,--targets
flag to the install
command, which specifies which targets the new dependency will be added to.
new
command no longer fails when cleaning new project's manifest.--print/-p
flag to config command to output config values.test
command, for formatted output when running swift test
.Execution of certain commands would hang while fetching package data. That should be resolved now.
The template
command was broken out to multiple commands and placed in a command group:
ether template create <NAME>
ether template remove <NAME>
ether template list
There are also more configurations available. These ones are for auto commits after installing or uninstalling a package:
install-commit
: The commit message to use on package install. Use &0
as package name placeholder.remove-commit
: The commit message to use on when a package is removed. Use &0
as package name placeholder.signed-commits
: If set to a truthy value (true, yes, y, 1), auto-commits will pass in the -S
flagIf the commit messages are not set, Ether will not commit the changes.
Previously an error was thrown when the config file didn't exists and access was attempted. Now we just create the file 👍.
Also, the feature list was added to the README instead of having it in a separate wiki.
And that is just what we did. The Ether CLI has been re-built using the Console 3.0, Ether-CLI/Manifest, and Package Catalog API!
Most of the changes are internal, not much changing on the outside. There are a couple things to note:
The version set
command was added, allowing you to set the version of a single package.
Fixed a bug that broke the manifest file when you installed the first dependency for a project.
The Xcode regeneration loading bar is now initialized only if the xcode
flag is passed, that way it doesn't close from nowhere when the command finishes running.
Xcode projects are also now opened if you regenerate it.