Commit Graph

64 Commits

Author SHA1 Message Date
Sebastian Thiel
8a12e9d47e fix python
Maybe it now works on CI as well?
2024-03-05 19:07:36 +01:00
Sebastian Thiel
d2f85bb142 make virtualenv work again 2024-03-05 18:37:33 +01:00
Sebastian Thiel
a373932db8 use more recent VENV version so it starts working again
But now the older versions of packages used here stop working
as Python decided to break the world again.
2023-08-23 08:11:40 +02:00
Kyle Gentle
08552c4364 Restructure src dir
Make a few changes in the toplevel src dir to help separate
templates from code. Specifically, we rename `src/mako` to
`src/generator`, and nest the mako templates inside a
`src/generator/templates` dir.

This isolates most Python code into the `src/generator/lib` dir.
2022-08-18 21:23:55 -04:00
Kyle Gentle
5e1c0c857e pyright type checking: Initial setup
* Update imports to use fully qualified module name
* Add `typecheck` target to Makefile
* Add type annotations to appease pyright
* Switch from importlib_resources backport library to stdlib
  import.resources
2022-08-18 21:23:55 -04:00
Sebastian Thiel
c606d37dd3 prepare release of version 2.0, regen all APIs 2021-04-01 23:46:26 +08:00
Sebastian Thiel
1b87b1ca6b make calling virtualenv independent of the binary…
…forget binaries, it's python.
2021-01-06 21:02:16 +08:00
Sebastian Thiel
904b46d1b2 Don't rely on pip user installations to be in the PATH
Because why would they…
2021-01-06 19:55:24 +08:00
Sebastian Thiel
2573462792 Some simplification, but it runs venv install way too often 2021-01-05 23:19:05 +08:00
Sebastian Thiel
7aba410489 pyenv is working, at least locally and without perfect isolation 2021-01-05 22:44:16 +08:00
Sebastian Thiel
f3a4fa109f Now also disable plugin autoload for pytest to avoid sqlite3 2020-04-12 15:37:17 +08:00
Sebastian Thiel
62441f3dc0 Don't use python test coverage in the hopes it won't need sqlite3, which isn't there 2020-04-12 15:26:32 +08:00
Sebastian Thiel
092f8bc7bf Let's see if this make-file adjustment helps with the python path 2020-04-12 15:21:58 +08:00
Sebastian Thiel
f33fae47e9 Add Rust preprocessor to handle code examples gracefully
Fixes #213
2019-07-05 17:00:56 +08:00
Guy Taylor
7467f81594 Sort JSON files to minimise git diffs
Sort and format JSON files to remove/minimise any diffs between
update-json runs. This also acts as a JSON validator to error when the
downloaded JSON file has been truncated.
2019-07-03 18:21:35 +08:00
Guy Taylor
57a7ee37e5 Always run Python in the Venv context 2018-12-21 13:05:40 +01:00
Sebastian Thiel
3eca215447 Add codecov integration 2018-10-28 12:16:33 +01:00
Guy Taylor
73db014fe1 Wire in Python code coverage testing
Wire in pytest-cov to give code coverage results when running tests.
This does not publish the information curently.
2018-10-28 11:39:29 +01:00
Guy Taylor
9867b260e1 Improve Python testing
Introduce pytest, wire it into Make and convert previous tests.

Note this is not wired into Travis
2018-10-21 22:37:39 +01:00
Guy Taylor
19e9943279 Move to Python requirements.txt file
This also links the requirments.txt file to the Venv via Make. So any
change to it will trigger the Make rule to install the new packages.
2018-10-21 22:36:19 +01:00
Guy Taylor
b7d2e021f1 chore(deps): Update virtualenv
Update virtualenv from 12.0.7 to 16.0.0
2018-10-11 19:22:59 +01:00
Sebastian Thiel
ff31a4a749 Fix makefile 2017-12-12 15:57:37 +01:00
Sebastian Thiel
dc30217711 Restrict mkdocs to the last known working version
0.17 seems to change the configuration format, which is
nothing I want to deal with right now.
2017-12-12 14:29:57 +01:00
Sebastian Thiel
aaac92bad6 doc(README): update toc
[skip CI]
2017-05-26 10:28:34 +02:00
Sebastian Thiel
e646898137 feat(binaries): remove download information 2016-12-24 10:40:50 +01:00
Sebastian Thiel
0bd7f20048 fix(makefile): use PYTHONPATH for mako invocation
That way, it will find its resources.
2015-10-16 15:52:24 +02:00
Sebastian Thiel
d9ed001b46 fix(make): clean was depending on unknown targets
There are no per-program-type docs clean, just made it depend on
docs-all-clean.

Also added the `docs-api|cli` target to the generated per-program-type
make help. It was just missing, even though it existed.
2015-05-18 10:11:02 +02:00
Sebastian Thiel
ad6dd7758e chore(bash): move all scripts into src/bash
That way, they are more official than hidden scripts dumped in the
project root.

[skip ci]
2015-05-10 18:09:00 +02:00
Sebastian Thiel
5165ff68df chore(wheezy-build): using docker
Allow building all dependencies using docker
2015-04-17 20:57:04 +02:00
Sebastian Thiel
acd42dfccc fix(make): dependencies are now per-program-type
Previously we put cli.py into the common lib folder, which caused the
API to be regenerated and rebuilt whenever we changed code that will
only affect the CLI, causing terrible turnaround times.

Now the dependency is fixed.
2015-04-12 09:55:17 +02:00
Sebastian Thiel
d1c97912cb feat(mkdocs): mkdocs generator works now
It can be selected for each type of program we want to build, and makes
sense for everything that is not a library.

We also tried to unify names and folders a bit more, even though there
certainly is more work to be done to be fully non-redundant.

Fixes #43
2015-03-24 18:11:12 +01:00
Sebastian Thiel
cefd606b53 feat(make): cli depends on API, generically
This allows us to build efficiently. CLI programs can now have their
own cmn.rs implementation, which we can test standalone with
`cargo test`.

The primary makefile currently just explicitly pulls in the type-*.yaml,
one day we could possibly put it into a loop.

Fixes #11
2015-03-24 12:56:24 +01:00
Sebastian Thiel
caaf62e51d chore(suffix):prepare dep generation to use suffix
That way, we can have multiple deps files, one per program 'type'
2015-03-24 11:57:12 +01:00
Sebastian Thiel
be7d8214c1 feat(api): api generation works once again
With the new structure, it should be easy to add CLI programs with
proper dependencies accordingly.
2015-03-24 09:38:14 +01:00
Sebastian Thiel
4bfdc9fd01 chore(publish): make publish
We will now keep marker files to remember which crates we have published
successfully. These files are checked in to make this information
persist.

NOTE: We still don't explicitly exclude pseudo-changes in json files,
which are no real change except for a changed revision number.

Fixes #41
2015-03-23 12:11:18 +01:00
Sebastian Thiel
63997910de fix(makefile): regenerate .api.deps less often
It took too long to do it, so the 'MAKO_LIB_FILES' dependency was
removed. It can be re-added if needed.
2015-03-17 16:32:51 +01:00
Florian Wilkens
876772cf22 fix(Makefile): force python2.7 in virtualenv
force the usage of python2.7 on systems where /usr/bin/python points to python3.x

fixes issue #12
2015-03-15 12:51:19 +01:00
Sebastian Thiel
5fd7cb5114 fix(travis): install virtualenv automatically
The only dependency we really have is python, and wget.
Pip is not needed !
2015-03-14 12:45:32 +01:00
Sebastian Thiel
dd0772f1d7 feat(travis): docs and tests of youtube3 on travis
This might already bring it close to 7 minutes runtime, which seems
like providing us with a buffer big enough for when it is
feature-complete.
2015-03-14 11:52:59 +01:00
Sebastian Thiel
c0a2476058 feat(deps): update-json using discovery API
Instead of depending on the google go client API repository, I now
use the original data source, namely the discovery API.

fixes #5
2015-03-13 17:06:48 +01:00
Sebastian Thiel
97b2649094 fix(make): make 'regen-apis' work
Thanks to changes in mako libraries, it won't work anymore without
the template directory set
2015-03-12 11:21:58 +01:00
Sebastian Thiel
f27fda8f34 feat(gh-pages): new github-pages target
For import of all docs to the github

fixes #1
2015-03-12 10:02:22 +01:00
Sebastian Thiel
0bc6d216c3 chore(docs): generate doc index
It contains links to all generated API docs, in a style similar to the
standard rust API docs. Thank you, shared CSS !
2015-03-12 09:33:55 +01:00
Sebastian Thiel
ff5cbb3bf4 fix(api-versions): ignore beta/alpha,assure latest
There were a few bugs in the generator program, which caused old
versions to be picked up, and alphas/betas
2015-03-10 15:12:26 +01:00
Sebastian Thiel
9377220c59 chore(data-merge): api-list is now in separte file
This file is completely generated, and allows us to easily bring in
new versions after each json update.

To make that work, we simple merge all data handed to mako-render,
inside of it. That way, we can put 'api/list' data in any yaml.
2015-03-10 15:00:43 +01:00
Sebastian Thiel
2d036b6623 feat(all-apis): build all apis, were possible
Now there is a blacklist feature, allowing to list apis we can't yet
handle for whichever reason.
2015-03-10 14:34:26 +01:00
Sebastian Thiel
7b81646f43 chore(make): update-json and all APIs
It's about time we finish up this part, to make it even easier to test
against more APIs, and keep them up-to-date
2015-03-10 10:34:19 +01:00
Sebastian Thiel
874cfb6f68 chore(cargo): cargo calls for any API
That way, it's so much easier to parallelize doc and test generation,
just to be sure it's truly working.
2015-03-10 10:04:47 +01:00
Sebastian Thiel
74aa7bba2d docs(lib): library overview as far as possible
Everything we have, feature wise, is now documented in a first version
at least.

We shall keep this uptodate with what we are implementing, which also
helps figuring out a good api.
2015-03-03 12:53:38 +01:00
Sebastian Thiel
e164cf7366 feat(docs): Traits now show up as part of lib
Previously, they were in an extra, oddly named crate.
Now we just make it a part of our generated codebase.

That way, traits, and common code, shows up as part of the library.
Fair enough.

This also means that the types ar not reusable.
Maybe a mixed-mode can be used if that is desired.
2015-03-03 10:02:40 +01:00