WMDE-leszek has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/375399 )

Change subject: [WIP][DNM][TEST][GOAT] Mount JavaScript "libraries" as git 
submodules
......................................................................

[WIP][DNM][TEST][GOAT] Mount JavaScript "libraries" as git submodules

Background: there are several JS libraries installed using composer
in Wikibase. They contain some PHP code but it is mostly (if not
only) for registering ResourceLoader modules.
They are not real extensions neither PHP libraries.

Instead of installing those using composer, try making each of
them a git submodule in some directory. Then move the RL module
definitons from those libs into Wikibase main git repo (as said
before, those libs are not really extensions and have nothing
to do with MW actually).

This patch takes the first such lib as a proof-of-concept wild
test. None of other libs does not depend on this one, so it
could be dropped from composer.json and is not installed by
Composer).

RL modules related to tests (present in those libs too) are
intentionally NOT moved. Those libs should care of running
their tests themselves (WIP, see TODO below).

This seems to work locally (as in JS stuff loads and does not
seem to break UI). If browser tests etc pass, that might
be a possible way to actually KILL the JS part of the
Wikidata build step.

TODOs (list hugely imcomplete):
 - think the structure of dirs (where put those libs, how organize
   the RL modules files, etc)
 - clean up those JS libs: make them run their JS tests themselves
   (WIP, close to done), remove all RL and other PHP content from them
 - turn those fake PHP libs into npm packages (or so)
 - possibly tests files of those libs should not be included
   in the git submodules (if there is a way to skip them)
 - document the relevant somewhere (how to switch git submodules to
   a new release, as they're not intended to be using their
   masters)
 - anything needed to be done to installation process (or commands
   run on CI) so those modules are initialized properly on clone,
   pull, etc?
 - probably 600 things more...

Change-Id: I62e07ce35488fe7d828d483d6eddb134b72da7dd
---
A .gitmodules
M composer.json
A view/lib/resources.php
A view/lib/resources/wikibase-serialization-javascript.php
A view/lib/wikibase/serialization-javascript
M view/resources.php
6 files changed, 742 insertions(+), 1 deletion(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/99/375399/1

diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..e3595cb
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "view/lib/wikibase/serialization-javascript"]
+       path = view/lib/wikibase/serialization-javascript
+       url = https://github.com/wmde/WikibaseSerializationJavaScript.git
diff --git a/composer.json b/composer.json
index d176f63..1a9f59c 100644
--- a/composer.json
+++ b/composer.json
@@ -39,7 +39,6 @@
                "wikibase/data-model-services": "^3.7.0",
                "wikibase/data-model-javascript": "^3.0.1",
                "wikibase/javascript-api": "^2.2.2",
-               "wikibase/serialization-javascript": "^2.0.8",
                "diff/diff": "^2.0.0",
                "wikimedia/purtle": "^1.0.6"
        },
diff --git a/view/lib/resources.php b/view/lib/resources.php
new file mode 100644
index 0000000..f47bed8
--- /dev/null
+++ b/view/lib/resources.php
@@ -0,0 +1,10 @@
+<?php
+
+/**
+ * @license GPL-2.0+
+ */
+return call_user_func( function() {
+        return array_merge(
+                include __DIR__ . 
'/resources/wikibase-serialization-javascript.php'
+        );
+} );
diff --git a/view/lib/resources/wikibase-serialization-javascript.php 
b/view/lib/resources/wikibase-serialization-javascript.php
new file mode 100644
index 0000000..12e027c
--- /dev/null
+++ b/view/lib/resources/wikibase-serialization-javascript.php
@@ -0,0 +1,727 @@
+<?php
+
+/**
+ * @license GPL-2.0+
+ * @author H. Snater < mediaw...@snater.com >
+ *
+ * @codeCoverageIgnoreStart
+ */
+return call_user_func( function() {
+
+       $dir = __DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 
'wikibase' . DIRECTORY_SEPARATOR . 'serialization-javascript' . 
DIRECTORY_SEPARATOR . 'src';
+
+       preg_match(
+               '+' . preg_quote( DIRECTORY_SEPARATOR ) . 
'(?:vendor|extensions)' . preg_quote( DIRECTORY_SEPARATOR ) . '.*+',
+               $dir,
+               $remoteExtPath
+       );
+
+       $moduleTemplate = [
+               'localBasePath' => $dir,
+               'remoteExtPath' => '..' . $remoteExtPath[0],
+       ];
+
+       $modules = [
+
+               'wikibase.serialization' => $moduleTemplate + [
+                       'dependencies' => [
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.DeserializerFactory',
+                               'wikibase.serialization.SerializerFactory',
+                       ],
+               ],
+
+               'wikibase.serialization.__namespace' => $moduleTemplate + [
+                       'scripts' => [
+                               '__namespace.js',
+                       ],
+                       'dependencies' => [
+                               'wikibase',
+                       ],
+               ],
+
+               'wikibase.serialization.DeserializerFactory' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'DeserializerFactory.js',
+                       ],
+                       'dependencies' => [
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.StrategyProvider',
+
+                               'wikibase.serialization.ClaimDeserializer',
+                               'wikibase.serialization.ClaimGroupDeserializer',
+                               
'wikibase.serialization.ClaimGroupSetDeserializer',
+                               'wikibase.serialization.ClaimListDeserializer',
+                               'wikibase.serialization.EntityDeserializer',
+                               
'wikibase.serialization.FingerprintDeserializer',
+                               'wikibase.serialization.MultiTermDeserializer',
+                               
'wikibase.serialization.MultiTermMapDeserializer',
+                               'wikibase.serialization.ReferenceDeserializer',
+                               
'wikibase.serialization.ReferenceListDeserializer',
+                               'wikibase.serialization.SiteLinkDeserializer',
+                               
'wikibase.serialization.SiteLinkSetDeserializer',
+                               'wikibase.serialization.SnakDeserializer',
+                               'wikibase.serialization.SnakListDeserializer',
+                               'wikibase.serialization.StatementDeserializer',
+                               
'wikibase.serialization.StatementGroupDeserializer',
+                               
'wikibase.serialization.StatementGroupSetDeserializer',
+                               
'wikibase.serialization.StatementListDeserializer',
+                               'wikibase.serialization.TermDeserializer',
+                               'wikibase.serialization.TermMapDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.SerializerFactory' => $moduleTemplate + 
[
+                       'scripts' => [
+                               'SerializerFactory.js',
+                       ],
+                       'dependencies' => [
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.StrategyProvider',
+
+                               'wikibase.serialization.ClaimGroupSerializer',
+                               
'wikibase.serialization.ClaimGroupSetSerializer',
+                               'wikibase.serialization.ClaimListSerializer',
+                               'wikibase.serialization.ClaimSerializer',
+                               'wikibase.serialization.EntitySerializer',
+                               'wikibase.serialization.FingerprintSerializer',
+                               'wikibase.serialization.MultiTermMapSerializer',
+                               'wikibase.serialization.MultiTermSerializer',
+                               
'wikibase.serialization.ReferenceListSerializer',
+                               'wikibase.serialization.ReferenceSerializer',
+                               'wikibase.serialization.SiteLinkSerializer',
+                               'wikibase.serialization.SiteLinkSetSerializer',
+                               'wikibase.serialization.SnakListSerializer',
+                               'wikibase.serialization.SnakSerializer',
+                               
'wikibase.serialization.StatementGroupSerializer',
+                               
'wikibase.serialization.StatementGroupSetSerializer',
+                               
'wikibase.serialization.StatementListSerializer',
+                               'wikibase.serialization.StatementSerializer',
+                               'wikibase.serialization.TermMapSerializer',
+                               'wikibase.serialization.TermSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StrategyProvider' => $moduleTemplate + [
+                       'scripts' => [
+                               'StrategyProvider.js',
+                       ],
+                       'dependencies' => [
+                               'wikibase.serialization.__namespace',
+                       ],
+               ],
+
+               'wikibase.serialization.ClaimGroupSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/ClaimGroupSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.ClaimGroup',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ClaimListSerializer',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ClaimGroupSetSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/ClaimGroupSetSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.ClaimGroupSet',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ClaimGroupSerializer',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ClaimListSerializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Serializers/ClaimListSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.ClaimList',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ClaimSerializer',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ClaimSerializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/ClaimSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Claim',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.SnakListSerializer',
+                               'wikibase.serialization.SnakSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.EntitySerializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/EntitySerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Entity',
+                               'wikibase.datamodel.Item',
+                               'wikibase.datamodel.Property',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ItemSerializer',
+                               'wikibase.serialization.PropertySerializer',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.StrategyProvider',
+                       ],
+               ],
+
+               'wikibase.serialization.FingerprintSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/FingerprintSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Fingerprint',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.MultiTermMapSerializer',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.TermMapSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ItemSerializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/ItemSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Item',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.FingerprintSerializer',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.SiteLinkSetSerializer',
+                               
'wikibase.serialization.StatementGroupSetSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.MultiTermMapSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/MultiTermMapSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.MultiTermMap',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.MultiTermSerializer',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.MultiTermSerializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Serializers/MultiTermSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.MultiTerm',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.PropertySerializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Serializers/PropertySerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Item',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.FingerprintSerializer',
+                               'wikibase.serialization.Serializer',
+                               
'wikibase.serialization.StatementGroupSetSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ReferenceListSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/ReferenceListSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.ReferenceList',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ReferenceSerializer',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ReferenceSerializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Serializers/ReferenceSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Reference',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.SnakListSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.Serializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/Serializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.serialization.__namespace',
+                       ],
+               ],
+
+               'wikibase.serialization.SiteLinkSerializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Serializers/SiteLinkSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.SiteLink',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.SiteLinkSetSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/SiteLinkSetSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.SiteLinkSet',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.SiteLinkSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.SnakListSerializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Serializers/SnakListSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.SnakList',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.SnakSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.SnakSerializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/SnakSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Snak',
+                               'wikibase.datamodel.PropertyValueSnak',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StatementGroupSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/StatementGroupSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.StatementGroup',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               
'wikibase.serialization.StatementListSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StatementGroupSetSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/StatementGroupSetSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.StatementGroupSet',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               
'wikibase.serialization.StatementGroupSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StatementListSerializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/StatementListSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.StatementList',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.StatementSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StatementSerializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Serializers/StatementSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Statement',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ClaimSerializer',
+                               
'wikibase.serialization.ReferenceListSerializer',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.TermMapSerializer' => $moduleTemplate + 
[
+                       'scripts' => [
+                               'Serializers/TermMapSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.TermMap',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                               'wikibase.serialization.TermSerializer',
+                       ],
+               ],
+
+               'wikibase.serialization.TermSerializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Serializers/TermSerializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Term',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Serializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ClaimGroupSetDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/ClaimGroupSetDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.ClaimGroupSet',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ClaimGroupDeserializer',
+                               'wikibase.serialization.Deserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ClaimGroupDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/ClaimGroupDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.ClaimGroup',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ClaimListDeserializer',
+                               'wikibase.serialization.Deserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ClaimListDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/ClaimListDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.ClaimList',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.StatementDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ClaimDeserializer' => $moduleTemplate + 
[
+                       'scripts' => [
+                               'Deserializers/ClaimDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Claim',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.SnakListDeserializer',
+                               'wikibase.serialization.SnakDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.Deserializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/Deserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.serialization.__namespace',
+                       ],
+               ],
+
+               'wikibase.serialization.EntityDeserializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Deserializers/EntityDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Item',
+                               'wikibase.datamodel.Property',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.ItemDeserializer',
+                               'wikibase.serialization.PropertyDeserializer',
+                               'wikibase.serialization.StrategyProvider',
+                       ],
+               ],
+
+               'wikibase.serialization.FingerprintDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/FingerprintDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Fingerprint',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               
'wikibase.serialization.MultiTermMapDeserializer',
+                               'wikibase.serialization.TermMapDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ItemDeserializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/ItemDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Item',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               
'wikibase.serialization.FingerprintDeserializer',
+                               
'wikibase.serialization.SiteLinkSetDeserializer',
+                               
'wikibase.serialization.StatementGroupSetDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.MultiTermDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/MultiTermDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.MultiTerm',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.MultiTermMapDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/MultiTermMapDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.MultiTermMap',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.MultiTermDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.PropertyDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/PropertyDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Property',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               
'wikibase.serialization.FingerprintDeserializer',
+                               
'wikibase.serialization.StatementGroupSetDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ReferenceListDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/ReferenceListDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.ReferenceList',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.ReferenceDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.ReferenceDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/ReferenceDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Reference',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.SnakListDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.SiteLinkSetDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/SiteLinkSetDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.SiteLinkSet',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.SiteLinkDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.SiteLinkDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/SiteLinkDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.SiteLink',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.SnakListDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/SnakListDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.SnakList',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.SnakDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.SnakDeserializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/SnakDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'dataValues',
+                               'dataValues.values',
+                               'util.inherit',
+                               'wikibase.datamodel.PropertyNoValueSnak',
+                               'wikibase.datamodel.PropertySomeValueSnak',
+                               'wikibase.datamodel.PropertyValueSnak',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StatementGroupSetDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               
'Deserializers/StatementGroupSetDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.StatementGroupSet',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               
'wikibase.serialization.StatementGroupDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StatementGroupDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/StatementGroupDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.StatementGroup',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               
'wikibase.serialization.StatementListDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StatementListDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/StatementListDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.StatementList',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.StatementDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.StatementDeserializer' => 
$moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/StatementDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Statement',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.ClaimDeserializer',
+                               'wikibase.serialization.Deserializer',
+                               
'wikibase.serialization.ReferenceListDeserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.TermDeserializer' => $moduleTemplate + [
+                       'scripts' => [
+                               'Deserializers/TermDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.Term',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                       ],
+               ],
+
+               'wikibase.serialization.TermMapDeserializer' => $moduleTemplate 
+ [
+                       'scripts' => [
+                               'Deserializers/TermMapDeserializer.js',
+                       ],
+                       'dependencies' => [
+                               'util.inherit',
+                               'wikibase.datamodel.TermMap',
+                               'wikibase.serialization.__namespace',
+                               'wikibase.serialization.Deserializer',
+                               'wikibase.serialization.TermDeserializer',
+                       ],
+               ],
+
+       ];
+
+        return $modules;
+} );
diff --git a/view/lib/wikibase/serialization-javascript 
b/view/lib/wikibase/serialization-javascript
new file mode 160000
index 0000000..32e062f
--- /dev/null
+++ b/view/lib/wikibase/serialization-javascript
@@ -0,0 +1 @@
+Subproject commit 32e062f7dc67c97c1abbea0a5bca854b39d2967c
diff --git a/view/resources.php b/view/resources.php
index 7a84056..e51899f 100644
--- a/view/resources.php
+++ b/view/resources.php
@@ -9,6 +9,7 @@
 
        $wgResourceModules = array_merge(
                $wgResourceModules,
+               include __DIR__ . '/lib/resources.php',
                include __DIR__ . '/resources/resources.php'
        );
 } );

-- 
To view, visit https://gerrit.wikimedia.org/r/375399
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I62e07ce35488fe7d828d483d6eddb134b72da7dd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: WMDE-leszek <leszek.mani...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to