Project name is now an argument of the project constructor and the
create_new project function.
The project_name field defines the rolename to add to the roledb, the
filename to create and adds a new field to the project.cfg file.
The local _prompt and _get_password methods were deleted in order to use
the version contained in the tuf.repository_tools. The main motivation
of this change is to provide code reutilization
The repository tool now provides a method called
"_metadata_is_partially_loaded" to provide the same functionality, the
return type changed so the flow of this module had to adapt to the new
function:
_check_if_partial_loaded() -> updated the roleinfo data as an effect
_metadata_is_partially_loaded -> returns a boolean and forces us to
update the roleinfo data.
The load_project contained statements that called the previously
included "targets" instance, since we now inherit Targets, we don't
require them, the statements were updated the following way:
self._targets
to a plain:
self
The add verification key method now prohibits the ability to have more
than one key in the Project role, however, delegations do support
having more.
This is the suggested behavior as of this version, removing these two
wapper functions would prevent to have this limitation but would require
the extension of the write_project_configuration function
The motivation behind this change is code reutilization and quick
updating. Most of the methods called in the old version of the developer
tool immediate to the targets counterpart. The calling convention now
resembles more objective intended without losing any functionality and
with automatic updates from any changes in the repository_tool.
The project object used to have a Targets object contained. This did
make more sense in a conceptual way (a project could have had more roles
than only targets). However, after reviewing the functionality of the
tool, it seems clear that the best way to adopt the changes
automatically is to inherit the targets object.
Soft wrappers are still to be made, we need to override the
add_verification_key method to in order to avoid having more than one
key on the project.