Hey,

This email is meant to provide an overview of the plans regarding the
reorganization of the components in the DataValues.git repository.

Current component situation:

* DataValues
* ValueParsers, depends on DataValues
* ValueValidators, depends on DataValues
* ValueFormatters, depends on DataValues
* DataTypes, depends on all the above
* ValueView, depends on all the above

All of these are bundling inheritance hierarchies and are both defining
interfaces as well as complex implementations.

Reorganization plans:

* DataValues, will hold interfaces, exceptions and trivial implementations
of current DataValues
* DataValues interfaces (still need a good name for this), will hold
interfaces, exceptions and trivial implementations of ValueParsers,
ValueFormatters and ValueValidators. Depends on DataValues
* DataValues implementations (still need a good name for this), will hold
common non-trivial implementations of the interfaces defined by the above
two components
* DataTypes, unchanged, now only dependent on DataValues and DataValues
interfaces
* ValueView, unchanged, now only dependent on DataTypes, DataValues and
DataValues interfaces

Dependencies are thus minimized and users are no longer forced to depend on
unstable concrete classes for no reason. Coincidentally the number of
components also drops by one.

Git repository wise, everything is currently in a single repository. Each
component will go into its own repo, with the exception of ValueView and
DataTypes, which we'll at least initially put together. This means creation
of 3 new git repos. The DataTypes git repo has already been created and we
are awaiting removal of the old DataTypes code from DataValues.git which
currently is blocked by WMF configuration update. Once this is done we can
proceed with the remaining two repos.

When this reorganization is done and the components reside in their own
repos, we can make the two abstract ones releasable. These are the ones
most dependent upon, and some of the current users have their own releases
blocked due to the lack of any released version of their DataValues
dependencies.

Cheers

--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil. ~=[,,_,,]:3
--
_______________________________________________
Wikidata-tech mailing list
Wikidata-tech@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikidata-tech

Reply via email to