Thanks for answer, Thomas! Sorry for the delay in my response, but I wanted
to gather some more question to put them all in one mail. It took me a bit
long, so maybe that was not the best strategy...
1. mvn install -DskipTests=true helped - BUILD SUCCESS :)
2. I've dived a bit more into documentation of system and extension module
and I have some questions: (Btw. this diagram here clarified a lot:
with
such documentation it's going to be pure fun to contribute to project :))
2a. There's prepared API for easy extension of Extension Module,
especially: ExtensionRepositorySource, ExtensionHandler,
ExtensionRepositoryFactory - these interface classes are located in
xwiki-commons project. I've found implementation of this api for XWiki
Repository in xwiki-commons as well. But tried to find implementation of
Maven Repository, but I didn't succeed. Where can I find it?
2b. If I understood correctly - adding support for Pypi will come down
to writing a typical Jar extension, that will implement required
interfaces, and so will be possible to be integrated with Extension
Manager, right? This new "Support of Pypi Extension" is going to be
deployed to Maven or XWiki Repository like any other extension? Will there
be any difference to other extensions?
2c. It's not completely clear for me how integration with Pypi should
work. From XWiki repositories XARs are downloaded, from maven JARs, but
Pypi stores python packages in .egg or .whl. How are they supposed to be
installed in XWiki? Is it like that - during extension installation the
python code inside downloaded package should be transformed to wiki page
and inserted as a script?
2d. Do I understand it correctly - that for management (instalation
and possibly execution) of extension of given type - the one that is
responsible for this management is the implementation of
org.xwiki.extension.handler.ExtensionHandler? So, regardless how the
downloaded .egg packeges would be managed - they shall be managed in
EggExtensionHandler?
3. And at the end - just for clarification: What's the difference between
module and extension? Are modules the special (bigger) extensions? Like
Component Module?
Best!
Krzysztof
2017-03-22 17:49 GMT+01:00 Thomas Mortagne <thomas.mortagne(a)xwiki.com>om>:
On Wed, Mar 22, 2017 at 5:36 PM, Krzysiek Płachno
<krzysiekplachno(a)gmail.com> wrote:
Hi Thomas!
Thanks for quick answer!
1) As regards problems during compilation:
- on Windows I get following error:
http://pastebin.com/t9REjH3f (it
cannot find one snapshot on nexus)
The failure you get is probably because of -Dmaven.test.skip=true. It
should be OK if you use -DkipTests instead (which build test but don't
execute them).
- on linux - run of phantom.js causes memory
problems
2) You say that "you usually don't to build XWiki entirely to work on
it,"
but when you upgrade one of the modules, you need
to recompile all the
modules that depend on it - running "mvn install" on main pom, right?
(And
then typically run some integration test, to
assure nothing got broken by
commit).
Or do you only compile locally the module your're working on, delegating
the compilation of whole project to external service (like jenkins)?
Most of the time modifying a module is not going to have any impact on
the jar built in backward dependencies, only tests and yes we have
http://jenkins.xwiki.org/ to catch that (unless you know your change
will have a big impact and you should try to fix backward dependencies
before pushing).
3) Yes, my (at least - potentially my ) task regards Extension Manager,
which is an extension itself, but it's a part of the "Core extensions"
(according to
http://platform.xwiki.org/xwiki/bin/view/DevGuide/ Architecture)
and located in XWiki-platform module, right?
(More specifically:
xwiki-platform > xwiki-platform-core > xwiki-platfrom-extension ?)
So that's why I stated with preparation of environment for this
xwiki-platform modlue, starting with a try to build it locally :)
Extension Manager is part of the core extensions yes but a Pypi
repository handler would be installed as optional extensions. There is
already extension point for anyone to add support for any kind of
repository without touching Extension Manager. All it takes is
implementing org.xwiki.extension.repository.ExtensionRepositoryFactory
component role (and in case of Pypi also
org.xwiki.extension.handler.ExtensionHandler since it would probably
also need to add support for egg or whl extensions types).
And just to be sure: 4) Have I understood well, that all conversation
regarding open development of XWiki like, clarifying doubts, asking of
advice and ect. should go through mailing list? I mean it may produce
huge
mail stream to many people, and I guess not
everyone is interested in
everything in system, but rather in some part he or she is working on.
Either dev mailing list of IRC for quick questions/answers. Just not
in private mails with the mentor (except for too personal matter of
course).
Btw. I'm going through Dev guides and I'm impressed how well
it's maintained and documented. +1 for the community :)
Always nice to ear since there is never enough or good enough
documentation :)
Best,
Krzysztof
2017-03-21 16:59 GMT+01:00 Thomas Mortagne <thomas.mortagne(a)xwiki.com>om>:
> usually don't to build XWiki entirely to work on it,
--
Thomas Mortagne