Comments (6)
Needs to be installable, need to find out what the story with WHLs is (maybe we just disable this) + remove as much custom code as possible from the installer.
The gedit install from setup.py could put plugin_shoebot into the correct directory for gedit, then add the .plugin file to the root.
Maybe dist_dir target directory can be set and then everything except the .plugin file work through ordinary setuptools
from plugin-shoebot.
It's an old-ish repo, but how about this example for setup.py?
from plugin-shoebot.
Interesting.. I might well use data-files, I need to see what happens on current setuptools, there's been a lot of churn in the last few years.
I'm going to include the logic we already have to find the correct gedit plugin directory, but cleaned up (hopefully most of it will be removed).
The structure will be something like
${gedit-plugin-dir}/plugin_shoebot
${gedit-plugin-dir}/shoebot.plugin
${language-dir}/shoebot.lang
I was getting a bit stuck as setuptools seems to be moving towards everything being a WHL, while plugin-shoebot can be one, the step to install it in the right place, and install the .plugin and .lang can't be... probably I shouldn't worry too much about that.
from plugin-shoebot.
This is a pretty nice example of "does a bunch of stuff" setup.py
https://pypi.org/project/pypy_fix_cython_warning/#files
from plugin-shoebot.
Installation is currently possible with this command from the root of the repo -
$ python -c 'from plugin_shoebot.install import libpeas'
Obviously setup.py will do the same things in the end.
But just gets you the same old plugin, with a couple of things broken.
One really surprising thing about breaking this code up, is quite how much there is inside our extensions.
Needs a bit more iteration before installing is fixed, and then can start extracting things so that a plugin API starts emerging.
from plugin-shoebot.
Currently, pip install plugin_shoebot
installs the gedit plugin (except on OSX, where I don't know the plugin location).
This will probably change to something like:
Install API:
pip install plugin_shoebot
Install gedit plugin
pip install plugin_shoebot --plugins=gedit
I'll probably make a command plugin_shoebot
that can install the plugins without using pip, something like:
plugin_shoebot install gedit
from plugin-shoebot.
Related Issues (18)
- Drop support for older gedits ? HOT 2
- Docs
- Separate venv lib
- Separate Gio helpers to own lib
- Seperate Gedit forks support to own lib
- Shoebot gets stuck after first run HOT 1
- Virtualenv chooser needs to let you select shoebot binary not venv dir
- API refactor wishlist HOT 1
- Vendorize functool32 again
- Restructure as MVC
- Window embedding HOT 1
- Make API usable by sphinx-shoebot
- Support gedit forks .. Xed, Pluma HOT 11
- Vendor in packages HOT 1
- Plugin installer should use platform.system() to get the OS
- Add OSX (Darwin) to plugin installer HOT 1
- Simplify file open action
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plugin-shoebot.