| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
It is usually created by integration commands when staging dependencies,
but we cannot rely on this as some elements have no dependencies, and
some sources handle the non-existence of 'directory' better than others.
To avoid mandating that every source must be able to cope with
'directory's not existence, source will ensure it exists.
|
|
|
|
|
| |
For initializing a pipeline in a forcefully inconsistent state,
this is required for pipelines which execute TrackQueues.
|
| |
|
|
|
|
|
|
| |
This is for Source implementations to use a temp directory, this
should be used instead of python tempdir APIs because it will cleanup
the tempdir automatically in the case of user provoked termination.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
o The metaelements and metasources now carry the name, the loader
resolves source names now.
o Element/Source factories dont require a name anymore as they
are already in the meta objects
o Pipeline no longer composes names
o Element.name is now the original project relative filename,
this allows plugins to identify that name in their dependencies,
allowing one to express configuration which identifies elements
by the same name that the user used in the dependencies.
o Removed plugin._get_display_name() in favor of the plugin.name
o Added Element.normal_name, for the cases where we need to have
a normalized name for creating directories and log files
o Updated frontend and test cases and all callers to use the
new naming
|
|
|
|
| |
This was missed in the previous changes regarding caching
|
| |
|
|
|
|
| |
Now adds Consistency class for consistency options
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Now we have a different API around refreshing tracking references:
o get_ref(): Source should return currently set reference
o set_ref(): Source should update current ref, and update
the passed yaml node
o track(): Return the latest reference for a symbolic tracking ref,
this may involve network usage enough to track the new
ref.
This way we dont try to serialize entire yaml documents over the
subprocess pipe, some of the formatting I think may have been lost in
serialization.
|
|
|
|
|
| |
This internal method acts as a controller method and
does the conversion for the 'directory' parameter.
|
| |
|
| |
|
|
|
|
|
| |
Use _refresh() and _consistent() internally, now we
cache the consistent state making things a bit less loopy
|
|
|
|
|
|
|
| |
This is expected to return True if the ref is set and the source
can be fetched and staged, otherwise False. If a source is
inconsistent, it means that it needs to be sucessfully refreshed
(from any track that might be supported in the source).
|
|
|
|
| |
Now refresh returns True if the refresh resulted in any change.
|
| |
|
|
|
|
| |
Same should be done for Elements.
|
|
|
|
|
|
| |
The get_mirror_directory() method is just convenience for the
Source implementation to get it's own private mirroring base directory,
which is a subdirectory of the user specified sources directory.
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of declaring per operation exceptions, like PreflightError
and FetchError etc, just declare exceptions per domain. Replaced
the former errors with SourceError for Source implementations
and ElementError for element implementations.
The core will be able to report errors differently depending on
what they asked given plugins to do, and handle a reduced set
of exceptions.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Better to have a separate file for each class clearly addressing
it's purpose with it's filename.
Source base data model -> source.py
SourceFactory -> _sourcefactory.py
Element base data model -> element.py
ElementFactory -> _elementfactory.py
Also moved the _plugin.py to _plugincontext.py, since the object
is infact _PluginContext, lets follow this rule all around for
code clarity.
|
| |
|
|
These currently have no API defined yet, but provide factory
objects for managing plugins of their respective Source and
Element implementations and instantiating Sources and Elements
on demand.
|