Projects should be able to specify other project files as dependencies. This would greatly simplify some cases where packages need several subpackages that should be uploaded but are part of the same project eg a in-house/in-repo dependency or metapackages (like R2API is becoming).
When publishing, dependencies should be published before their dependents if the version number that exists in the repository is lower than the one that exists locally.