306 Commits

Author SHA1 Message Date
Sybren A. Stüvel
301e73d64a Bumped version to 1.10 2022-02-03 17:54:07 +01:00
Sybren A. Stüvel
e5c7e38b44 Avoid doubly-compressing zstandard files 2022-02-03 17:54:03 +01:00
Sybren A. Stüvel
2bf155a5f9 Update pytest for Python 3.10 compatibility 2022-02-03 17:48:41 +01:00
Sybren A. Stüvel
7e61163364 Bumped version to 1.9 v1.9 2021-11-19 13:59:02 +01:00
Sybren A. Stüvel
086c795306 Mark 1.9 as released today 2021-11-19 13:58:55 +01:00
Sybren A. Stüvel
7dead42c43 Add bat version command to print BAT version
`bat --help` also prints the version, but it's nice to have an explicit
command for this that only prints the version and nothing else.
2021-11-19 13:57:48 +01:00
Sybren A. Stüvel
744609b2f0 Bumped version to 1.8 v1.8 2021-11-09 11:17:02 +01:00
Sybren A. Stüvel
42800f6c84 Update CHANGELOG.md 2021-11-09 11:16:52 +01:00
Ethan Simon
608a7bdac9 Compatibility with packing read-only source files
File permissions are no longer copied when packing. This means that
read-only source files can still be packed without errors, even when
they have to be rewritten (due to changed paths).

Reviewed by: sybren

Differential Revision: https://developer.blender.org/D13128
2021-11-09 11:15:20 +01:00
Sybren A. Stüvel
2843cce6fd Bumped version to 1.7 v1.7 2021-11-05 16:30:17 +01:00
Sybren A. Stüvel
3acf467162 Mark v1.7 as released 2021-11-05 16:29:32 +01:00
Sybren A. Stüvel
c61d5ee7ab Skip ZStandard tests if the module is not installed 2021-10-05 18:34:44 +02:00
Sybren A. Stüvel
8a06bf5903 Add optional support for ZStandard compression
BAT now can take advantage of the `zstandard` module to handle Blender
3.0+ compressed blend files.

If the module is not installed, the blend files cannot be opened but
GZip-compressed and uncompressed files can still be handled.
2021-10-05 18:24:44 +02:00
Sybren A. Stüvel
3d8c608da3 Bumped version to 1.7b0 2021-07-27 17:09:16 +02:00
Sybren A. Stüvel
2cedf2b424 Bumped version to 1.6 v1.6 2021-07-27 17:06:13 +02:00
Sybren A. Stüvel
4a1840f51c Remove code that's both bad and unnecessary
The library link will be picked up anyway, and not all datablocks have
a "lib" property.
2021-07-27 16:59:28 +02:00
Sybren A. Stüvel
7de29740cc Add types-requests as dev-time dependency
This is required for newer mypy.
2021-07-27 16:42:25 +02:00
Sybren A. Stüvel
24c0206e89 Support datablocks used as default values in nodes
Follow pointers of input sockets of nodes that can reference ID datablocks.
2021-07-27 16:42:25 +02:00
Sybren A. Stüvel
0bd18594f6 Support linked collections used as input in a Geometry Nodes modifier
Add support for linked collections that are used as input in a Geometry
Nodes modifier. This requires iterating over the geometry nodes modifier
settings, which consists of ID properties. If such an ID property is of
type `IDP_ID`, its pointer is followed and the pointed-to datablock +
its library are visited.

This following of pointers happens in the 'expand' phase, which was only
done for linked library blend files. Since this commit, the old
behaviour of simply looping over all non-`DATA` datablocks of the
to-be-packed blend file is not enough, and datablock expansion is done
for all local datablocks as well.
2021-07-27 16:42:25 +02:00
Sybren A. Stüvel
932283be65 Warn when expander yields blocks that are known to be ignored
This is just a debugging tool, if this warning occurs it's an indication
of a bug in BAT.
2021-07-27 16:42:25 +02:00
Sybren A. Stüvel
74ae76cd73 Bumped version to 1.6b1 2021-07-27 16:42:25 +02:00
Paul Golter
4305f32c48 Bumped version to 1.5.1 v1.5.1 2021-07-22 16:03:43 +02:00
Paul Golter
db26a0aaf1 Add log warning if SegmentationFault caused by dereferencing invalid pointer is silenced when strict_pointer_mode is turned off. 2021-07-22 15:58:44 +02:00
Paul Golter
cd42417c37 Bumped version to 1.6b0 2021-07-22 12:38:33 +02:00
Paul Golter
d520f6bb33 Bumped version to 1.5 v1.5 2021-07-22 12:36:15 +02:00
Sybren A. Stüvel
97b1a4d922 Drop support for Python 3.5 and 3.6, add support for 3.8 and 3.9
Python 3.5 is EOL already, and Blender never used version 3.6 (it went
straight to 3.7), hence 3.6 was never tested explicitly.

Python 3.7 or newer is required from now on.
2021-07-22 12:03:27 +02:00
Sybren A. Stüvel
4e51b82e4c Bumped version to 1.5b0 2021-07-22 12:03:27 +02:00
Sybren A. Stüvel
113db18211 Bumped version to 1.4.1 v1.4.1 2021-07-22 11:40:15 +02:00
Sybren A. Stüvel
70a56d45b9 Document rollback of Python version bump in CHANGELOG.md 2021-07-22 11:40:10 +02:00
Sybren A. Stüvel
2fe39fb347 Revert "Bump Python version to 3.9"
This reverts commit 46466de7db924d374a97c74219db9694b9a67bbd.

Tox wasn't set up correctly for this bump, and we may want to keep
compatibility with older Blenders as well.
2021-07-22 11:37:04 +02:00
Sybren A. Stüvel
b36effa6ec Bumped version to 1.4 v1.4 2021-07-22 11:26:03 +02:00
Sybren A. Stüvel
8927461dbf Document dev-environment setup instructions
MyPy wants some extra love nowadays, and Black needs special handling as
well. The latter is only available as beta-release, and Poetry only has "allow
pre-release versions" as global flag, installing way too many beta packages
for my taste.
2021-07-22 11:24:13 +02:00
Sybren A. Stüvel
46466de7db Bump Python version to 3.9
Blender uses Python 3.9 nowadays, so it can be required in BAT as well.
2021-07-22 11:24:13 +02:00
Sybren A. Stüvel
e792f31ced Add Strict Pointer Mode to CHANGELOG.md 2021-07-22 10:54:56 +02:00
Sybren A. Stüvel
bd9ec7ddc7 Control Strict Pointer Mode from the CLI, defaulting to OFF
Due to issues with library overrides and unsynced pointers, it's quite
common for the Blender Animation Studio to get crashes of BAT. To avoid
these, Strict Pointer Mode is disabled when using BAT from the CLI.

Blender Cloud add-on will also get a similar update, so that there also
the Strict Pointer Mode is disabled.
2021-07-22 10:47:50 +02:00
Sybren A. Stüvel
087ff25c76 Add 'strict pointer mode' to BlendFile
Add a 'strict pointer mode' to the `BlendFile` class, which is enabled
by default. This allows users of the `BlendFile` class to decide whether
a bad pointer (i.e. one that points to a non-existing datablock) returns
`None` or raises a `SegmentationFault` exception.
2021-07-22 10:28:48 +02:00
Sybren A. Stüvel
803c38dac1 Cleanup: reformat with Black 2021-07-22 10:14:43 +02:00
Sybren A. Stüvel
99389e8ece Bumped version to 1.3.1 v1.3.1 2021-02-04 12:01:53 +01:00
Sybren A. Stüvel
dd257bad6f Remove assertion that library blend files always exist
Remove an assertion that would cause BAT to raise and exception and halt
when a library blend file is missing. This assertion was fine for aiding
the coding of the library, but now gets in the way of tracing dependencies
of partially checked-out projects.
2021-02-04 11:15:27 +01:00
Sybren A. Stüvel
0a5a50ccf0 Bumped version to 1.3 v1.3 2021-02-02 13:42:09 +01:00
Sybren A. Stüvel
23dea91572 Add support for indirectly linked Geometry Nodes node trees 2021-02-02 13:41:39 +01:00
Sybren A. Stüvel
e4bf2e8e35 Improved path handling
This commit fixes a bunch of issues at the same time, as they are all
related to path handling:

- `pathlib.Path.resolve()` or `.absolute()` are replaced by
  `bpathlib.make_absolute()`. The latter does NOT follow symlinks and does
  NOT network mounts from a drive letter to UNC notation. This also has
  advantages on non-Windows sytems, as it allows BAT-packing a directory
  structure with symlinked files (such as a Shaman checkout).
- Better handling of drive letters, and of paths that cross drive
  boundaries.
- Better testing of Windows-specific cases when running the tests on
  Windows, and of POSIX-specific cases on other platforms.

Thanks to @wisaac for starting this patch in D6676.

Thanks to @jbakker for pointing out the drive letter issue. This fixes
T70655.
2020-03-17 17:15:19 +01:00
Sybren A. Stüvel
3fa4389658 Bumped version to 1.3-dev0 2020-03-17 17:14:00 +01:00
Sybren A. Stüvel
504d2aae0c Test options: don't show logging output
The logging is sent to stdout already (which is captured and printed by
PyTest), so having PyTest also capture and print logging just doubles
the output.

No functional changes.
2020-03-17 16:48:30 +01:00
Sybren A. Stüvel
782293b360 MyPy test fix
Newer versions of MyPy aren't silent any more when they complete succesfully,
so test for 'Success' in the message before failing the test.
2020-03-17 12:29:40 +01:00
Sybren A. Stüvel
d3be952a77 Added Arcanist config file 2020-01-06 11:24:35 +01:00
Sybren A. Stüvel
ad14de92a8 Bumped version to 1.2.2 v1.2.2 2019-10-10 10:35:41 +02:00
Sybren A. Stüvel
b3bbee25f5 Marked version 1.2 as released 2019-10-10 10:34:54 +02:00
Sybren A. Stüvel
0b92037973 Bumped version to 1.2.1
Version 1.2 already existed on pypi by accident.
2019-10-09 08:58:55 +02:00
Sybren A. Stüvel
2e0cfa968b Bumped version to 1.2 2019-10-09 08:56:49 +02:00