Commit Graph

95 Commits

Author SHA1 Message Date
Thomas Nagy 8cbc8da5ce
Undo parentheses escaping in ant_glob 2019-05-10 23:13:01 +02:00
Michael Vincent e874342103 Node: escape parentheses in ant_glob()
ant_matcher() converts an ANT glob pattern to an equivalent regex
pattern. This commit adds support for escaping parenthesis in the
input pattern so they don't end up being treated as a regex capture
group.

Also add a unit test to verify ant_glob()'s ability to handle special
characters in the input pattern.
2019-05-08 17:22:00 -05:00
Thomas Nagy 4ed9af0ee9
Node.listdir outputs are already sorted, do not sort it again in Node.ant_glob 2019-04-23 07:13:02 +02:00
Thomas Nagy 8abce6ddd3
docs 2018-04-02 12:06:54 +02:00
Thomas Nagy 9cf12afa62
docs 2018-04-01 23:31:45 +02:00
Thomas Nagy facdc0b173
Python 3.7 fixes #2126 2018-03-12 20:42:55 +01:00
Thomas Nagy d21446ff71
Update docs for 2018 2018-01-01 20:53:49 +01:00
Thomas Nagy 5996879673 Enable more advanced warnings of ant_glob on build folders in verbose mode 2017-12-23 20:36:14 +01:00
Thomas Nagy c0e2e7f281 Defer node.ant_glob(..., generator=True) evaluation 2017-12-23 14:56:54 +01:00
Calle Rosenquist 69e45d1a71 Node.ant_glob: Do not ignore case by default, as specified by the documentation. 2017-09-19 22:46:16 +02:00
captainmalloc 5d4cd9e13c Default ignore Vim swap and Python Compiled files (#2020)
* Default ignore Vim swap and Python Compiled files

* Only Vim swap file accepted, removing Python compiled from default ignore
2017-08-31 20:25:18 +02:00
Thomas Nagy 172cafa629
Docs for #1937 2017-04-02 09:57:18 +02:00
Thomas Nagy e352fb05c0
UNC path fixes 2017-03-02 20:45:45 +01:00
Thomas Nagy b7d93c3c4d
Update the year in headers to 2017 2017-02-11 16:13:37 +01:00
Thomas Nagy 1ea2039c3a
cleanup 2017-02-05 13:00:36 +01:00
Yinon Ehrlich cd20e6f0c2 Retain original trace-back (#1903) 2017-02-05 12:59:36 +01:00
Thomas Nagy f1487eab44
iso8859-1 -> latin-1 2017-01-21 13:28:06 +01:00
Thomas Nagy cfbf539166
Let ant_glob(generator=True) return a generator object 2017-01-15 01:33:44 +01:00
Thomas Nagy 4226d0cf7b
Code cleanup 2017-01-15 01:16:44 +01:00
Thomas Nagy 900d6b891c Optimize Node.path_from 2016-12-21 22:28:42 +01:00
Thomas Nagy a5d2c5fe24
Remove Node.sig/Node.cache_sig 2016-12-01 22:55:49 +01:00
Thomas Nagy ec9081e81c
Let Node.find_or_declare accept paths as lists 2016-11-20 13:49:17 +01:00
Thomas Nagy a892d8725a
Force files into the build directory by default 2016-11-20 13:43:06 +01:00
Thomas Nagy ef6525c0bf
Api docs 2016-06-25 14:49:27 +02:00
Thomas Nagy 57e711d801
Api docs 2016-06-25 13:27:22 +02:00
Thomas Nagy 2c76187d41
Api docs 2016-06-25 12:50:04 +02:00
Thomas Nagy e8ef5a89eb
More cleanup 2016-06-05 00:23:57 +02:00
Thomas Nagy ab9609c0d8
docs 2016-05-21 12:01:48 +02:00
Thomas Nagy c2646d2380
Provide md5_tstamp by default and make it easier to add more persistent BuildContext dicts 2016-05-21 11:58:47 +02:00
Thomas Nagy f876392200
Must call os.remove on files 2016-05-21 01:15:19 +02:00
Thomas Nagy 09fd2f211f
Ensure Node.delete can remove invalid folders 2016-05-21 00:39:56 +02:00
Thomas Nagy 1ebb318ec0
find_node returns Nodes that exist, no need to verify again 2016-03-27 21:29:02 +02:00
Thomas Nagy 31742bd06d
Remove old fixes for Python < 2.3 2016-03-25 14:02:36 +01:00
Thomas Nagy d62767e561
Add Node.isdir and remove cache_isdir optimizations for the time being 2016-03-19 14:21:02 +01:00
Thomas Nagy 3cac9c7077
Node objects can be folders too, but dependencies must be managed manually 2016-03-07 21:12:51 +01:00
Thomas Nagy 31381f9b63
Cache Node signatures on the context level 2016-02-15 23:04:30 +01:00
Thomas Nagy 43e26b5bef
cwd must be a Node object 2016-01-02 01:54:52 +01:00
Thomas Nagy ad2f3d420c Setting node signatures clears cached values if present 2015-12-25 17:54:02 +01:00
Thomas Nagy 5a3a89b4de Stop adding incompatible task data into the same dict objects 2015-12-24 18:36:48 +01:00
Thomas Nagy 06c7c09681 Provide node.exists() to increase filesystem abstraction 2015-12-24 18:36:42 +01:00
Thomas Nagy 72fda8ae36 Reduce the size of the build pickle file 2015-12-24 18:36:38 +01:00
Thomas Nagy 281148b8eb Removed the old __eq__ and __hash__ which are not useful anymore in recent interpreters 2015-12-23 19:16:31 +01:00
Thomas Nagy e365a30215 Cache file hashes for performance reasons 2015-12-23 18:23:14 +01:00
Thomas Nagy 7681bddfb7 Remove Node.sig and Node.cache_sig 2015-12-23 17:55:44 +01:00
Thomas Nagy 2ab00f7f49 Removed Node.cache_sig 2015-12-23 17:55:44 +01:00
Thomas Nagy 8b74beb233 Removed the split functions from Node.py 2015-12-23 17:54:41 +01:00
Thomas Nagy 8113778aab
Undefined name 'unicode' in the new json methods 2015-11-21 17:17:16 +01:00
Thomas Nagy eb5aeb8715
The json module is available only in Python 2.6, so the import cannot be on the top-level 2015-11-20 18:06:36 +01:00
Matt Clarkson 8b71e16989 Add Node.write_json()
Allows for a python object to be serialized to disk as JSON easily. By
default the function pretty prints the JSON which makes the file easily
human readable. A compact representation of the JSON can be done with
'pretty = False'
2015-11-20 13:52:26 +00:00
Matt Clarkson 2c617a42f8 Add a Node.read_json() function
This allows an easy way to read a JSON file into a python object. It, by
default, on Python2 converts all strings to normal strings. This is the
common use case for simple JSON files. Files that have UTF8 codepoints
over the normal ASCII range can use the 'convert = False' argument.
2015-11-20 13:51:11 +00:00