pygradle icon indicating copy to clipboard operation
pygradle copied to clipboard

Split Sphinx into its own plugin

Open scphantm opened this issue 8 years ago • 6 comments

I intend to experiment with this but I wanted your opinion. I have a huge number of java projects i want to add pygradle to because I want to position Sphinx as our language independent code documentation system and i love pygradles dependency management system. The issue is that every time you do a sphinx compile it executes the project install task. Before i waste any time trying to rip things apart and play, off the cuff, what would happen if i pulled the sphinx tasks off into their own plugin, referenced them back into the sdist plugin like before, and tried to execute them independently without the venv and install tasks running? My gut feeling is im going to screw something up in the dependency resolution system but i wanted to ask first before wasting time on it.

scphantm avatar Dec 19 '16 19:12 scphantm

@zvezdan @ethankhall - any thoughts here?

dsully avatar Jan 14 '17 15:01 dsully

Sorry @scphantm I thought I responded to you when this was created. I don't think that will work. To get Sphinx to work you'll have to build a venv and install all of the dependencies. You could make it install a few less dependencies but I don't know that will get the improvement your looking for.

An alternative is to build a sphinx pex that you distribute to your users (maybe as something they install, or something you pull down and keep in Gradle's cache. If you have questions on how to do this we can help.). That way you can just exec the binary without any of the venv, dep install, etc.

ethankhall avatar Jan 14 '17 15:01 ethankhall

That sucks. I like the idea of a pex (if it works on windows) recommend any articles for me before I hit google?

On a related note, what happens if you execute pygradle on a machine that doesn't have python installed at all? Does it blow up or pull python from the dm?

scphantm avatar Jan 18 '17 05:01 scphantm

pex doesn't officially support windows, though I have seen PRs on github adding support and fixing things here and there

lorencarvalho avatar Jan 18 '17 06:01 lorencarvalho

If python isn't avaliable it will blow up on integ tests. The unit tests should work.

ethankhall avatar Jan 18 '17 16:01 ethankhall

Ok, so if integ tests will fail that means that real life will fail. I have about 2000 developer and testing machines this needs to get pushed too so i need to figure out what desktop is going to need is all

scphantm avatar Jan 18 '17 16:01 scphantm