Thanks a lot!
Many things got clarified in my mind :)
Best!
Krzysztof
2017-03-27 14:24 GMT+02:00 Thomas Mortagne <thomas.mortagne(a)xwiki.com>om>:
  On Mon, Mar 27, 2017 at 1:23 PM, Krzysiek Płachno
 <krzysiekplachno(a)gmail.com> wrote:
  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
20Architecture
  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? 
 All supported repositories handlers are located on
 
https://github.com/xwiki/xwiki-commons/tree/master/
 xwiki-commons-core/xwiki-commons-extension/xwiki-
 commons-extension-repositories.
 The Maven one is
 
https://github.com/xwiki/xwiki-commons/tree/master/
 xwiki-commons-core/xwiki-commons-extension/xwiki-commons-extension-
 repositories/xwiki-commons-extension-repository-maven.
      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? 
 Exactly.
      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? 
 Nothing that complex I think. There is some experimentation to do here
 but Jython automatically search for python script everywhere in the
 classloader and egg (I did not check for whl) are actually very close
 to JARs so either:
 * Java is not too peaky and all you have to do is handle the egg/wql
 file as if it was a JAR extension and Jython will do the rest
 * If Java complain about a missing MANIFEST file or something,
 repackage the file with a generated MANIFEST java-style file in to (or
 anything else that would make Java happy) but it should not be much
 more that adding one or two file to what is already a zip file
 For Maven need I'm releasing a JAR version of Pygments on Maven
 central () and all I do is unpack the egg file as it is and build it
 with Maven.
      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? 
 There is to choices here actually:
 * make pypi repository handler expose JAR extensions and deal on his
 side with what is needed to make EGG package be supported by Java
 classloader properly
 * make pypi repository handler expose EGG extensions and implement a
 EGGExtensionHandler which does what is needed to load the EGG file in
 a Java classloader
 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?
 
http://extensions.xwiki.org/xwiki/bin/view/Extension/Component%20Module 
 When you see "Module" in 
http://extensions.xwiki.org pages name it
 usually means top level module documentation usually containing
 several (if not many) extensions. Extension basically means file.
 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 
 :
> >
> >> usually don't to build XWiki entirely to work on it,
>
>
>
> --
> Thomas Mortagne
> 
 
 --
 Thomas Mortagne