-
-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added QGIS Resource Sharing Plugin and deps #4087
Conversation
elpaso
commented
Jan 31, 2017
- dulwich is build with --pure (no C binaries)
- no tests, they can be added later but I'm not sure about where they should go in the source tree
Thanks @elpaso Just one question, do we need the ext-libs in our source tree? Can we have them as dependencies for the application package instead? And for the tests, if there are any, I would keep them in the source. |
I'm a strong -1 on merging this into master without any unit tests. Doing so places too large a maintenance burden on the project and I'd prefer to see this remain a plugin. |
The tests for the plugin do exist, I only did not know where they should be added (keeping them in the plugin directory as @m-kuhn makes sense to me) and how to tell cmake to build them and travis to execute them (they would not be like the QGIS core python test and I couldn't find any tests for the recently added MetaSearch to get inspired from). |
hi @nyalldawson I suppose the question by @elpaso is, how to integrate core plugin tests in the QGIS project? Have to be as for Processing tests? this can create misalignment problem with plugin/test version because tests are disjoint from the plugin code. |
@m-kuhn the ext-libs can be wherever you like, actually, they were in the plugin folder and I did some work to move them in the parent ext-libs folder, since all QGIS python libs are there: I just followed an existing pattern. |
@elpaso |
Sorry, I think I'm missing the point. What's wrong with the way processing tests are set up? |
@m-kuhn why? pip install is definitely not a viable solution for a core plugin: it must be runnable in any circumstances. |
@elpaso we also don't include the Qt sources in the QGIS source tree and that also needs to be around under all circumstances. It's only a matter of calling it a dependency. Maybe we should add a |
@m-kuhn Sorry, I'm lost, I thought we were talking about python dependencies of core python plugins, are you proposing to remove all ext-libs fom https://github.com/qgis/QGIS/tree/master/python/ext-libs and let the packagers add them? |
I would try to keep |
nothing wrong with Processing test env... but just a note about test running detail ctest -N| grep -i processing ctest -R ProcessingParametersTest
but there are may unit tests in https://github.com/qgis/QGIS/blob/master/python/plugins/processing/tests/ParametersTest.py or something is hided during ctest reporting Processing tests as a whole. I agree that the Processing way IS the way, is there a way to have more unit test detail other than using ctest -V btw this is out of thread |
No, I think it doesn't get any better than |
@elpaso not osgeo4w - all distributions might not have packages (at all or recent enough) - running pip isn't an option for packages. |
@jef-n "might not" or "might", osgeo4w is normally the first one to trigger when something lacks. As long as it's not only prophylactic it's ok for me. |
@m-kuhn in xenial and yakkety dulwich is too old. unstable and stretch have 0.16.3. gitparseurl isn't available at all. but both are also currently not available on osgeo4w - but could be added (probably easily if pure python) |
Whoops, I think that was a bit too early to merge 34 thousands lines of new code! No QEP, no review ... ? |
@wonder-sk about QEP the plugin is (partially or not) covered in: qgis/QGIS-Enhancement-Proposals#58 |
@wonder-sk it's a python plugin resulting from the GSOC work that @akbargumbira did. That said, if you want to revert, I won't fight for this. Just sorry for the huge waste of time. |
@luipir oh, yes there was a also QEP indeed qgis/QGIS-Enhancement-Proposals#58 |
I am just trying to point out that especially larger chunks of code should go through peer review process before getting merged... |
Ok, got the point, but considering that it's a plugin and that it is Python and that it is no new code because the plugin has been around for months I didn't think it was necessary. I'm not going to revert, but feel free to do that and go through a new PR if you feel like to. And rest assured that there will be no next time. |
@elpaso please don't get me wrong, I really appreciate the great work you do for the project and the resource sharing support will be a very nice addition! (just adding it without allowing a wider discussion about the implementation is a bit unfortunate) |
@elpaso thanks for adding the tests! Another quick retrospective question: who is the maintainer for this code? Will @akbargumbira still be maintaining our are you taking over? |
I tried to test the plugin but get an error `cannot import name 'QtWebKitWidgets' I have the package python-qt5-webkit installed and cannot find any other related package on fedora which may provide this dependency. But... I've thought some more on this, and I would like to revert this change while we open this change up for wider discussion. I'm just not convinced that having this plugin in master is the right move. Here's my thoughts (please correct me if I'm wrong anywhere!) Advantages:
Disadvantages:
We already have a very mature framework for distributing qgis plugins. I personally just can't see that in this case there's a strong enough argument to move this plugin from the plugin repo over to master. I realise I may be wrong here, so I would like to open up this discussion before we take a step we cannot later back away from! |
This is my vision about this particular plugin:
So, I asked myself: do we want to let it slowly die unmaintained after all the efforts that we (as a QGIS community) have put in it or should I work on that to complete the original plan (that was to have it eventually in core) and ensure the plugin a future? I sent an email to the QGIS dev ML about merging it into core and there were no strong objections. So, I started to port it to QGIS3 (and it took a while) and merged it. Unless a new maintainer/volunteers and jumps in, the reason for having it in core is exactly to bring its code under the umbrella of QGIS project. Full disclaimer: a rather small part of my time spent working on this plugin has been funded by a private company as a community contribution (they have no interest at all in the plugin itself but I convinced them that it was a good way to contribute back to the project by letting me work on the project during some of my working hours, needless to say that it was not a good idea). |
No clue here, sorry. But I'm pretty sure we can figure it out.
That's not entirely correct: you can distribute a core plugin update as a regular plugin and as long as the version is newer it will shadow the core one.
[...]
I generally agree with you, I've explained why I think that this plugin si different in the comment above.
Yes, I might have chosen the wrong time, but when comes to time availability sometimes you have to take it when you have it. What time would have you suggested?
Agreed, but we should make a clear choice here: why MetaSearch yes (really lovely and useful plugin!) and a Resource Sharing Plugin, born and designed as QGIS community project not?
I agree on most of your statements, but see my other comment for the other arguments. |
reverted |
The idea was to make a new PR but it seems like github does not allow that. |
here is the code: https://github.com/elpaso/QGIS/tree/resource-sharing-plugin |