Dylan Baker
8e1670cc60
rewriter: optimize the list_to_dict function
...
This uses an iterator instead of walking a list, which is roughly twice
as fast. This also does away with the pre-check on whether the list is
valid for converting to a dict, and instead handles the case of an
uneven number by catching another exception. This is preferable since
it's a fatal error anyway, so avoiding it in the non-fatal case is
preferable.
2019-04-25 12:28:51 -07:00
Daniel Mensinger
bffd28d4b2
rewriter: fix error message
2019-04-21 22:15:27 +03:00
Daniel Mensinger
5f6b94ccb9
rewriter: Renamed _src -> _sources
2019-03-04 13:00:31 +01:00
Daniel Mensinger
617445ea72
rewriter: Make sure variable names are valid
2019-03-04 13:00:31 +01:00
Daniel Mensinger
594bf678c7
rewriter: Require '/' for the project ID
2019-03-04 13:00:30 +01:00
Daniel Mensinger
609a21ff9f
rewriter: Abort on error by default
2019-03-04 13:00:30 +01:00
Daniel Mensinger
c957a2aa94
rewriter: Changed line sort key
2019-03-04 13:00:30 +01:00
Daniel Mensinger
5d2f14fce7
rewriter: Quiet logging by default
2019-03-04 13:00:30 +01:00
Daniel Mensinger
06695fec60
rewriter: type definition code fix
2019-03-04 13:00:29 +01:00
Daniel Mensinger
e724fd5438
rewriter: Handle duplicate target
2019-03-04 13:00:29 +01:00
Daniel Mensinger
b55dbf0fae
rewriter: Dump JSON to stderr instead of stdout
2019-03-04 13:00:07 +01:00
Daniel Mensinger
90b557e38a
rewriter: Remove command alias
2019-03-04 13:00:07 +01:00
Daniel Mensinger
1290330894
rewriter: Renamed tgt_{add,rm} --> target_{add,rm}
2019-03-04 13:00:06 +01:00
Daniel Mensinger
eabc35340d
rewriter: Enforce an empty project ID string
2019-03-04 13:00:06 +01:00
Daniel Mensinger
8fad06e8c8
rewriter: Removed python 3.7 feature required=False
2019-03-04 13:00:06 +01:00
Daniel Mensinger
740f6b8f06
rewriter: Implemented a CLI
2019-03-04 13:00:05 +01:00
Daniel Mensinger
e72f535fc8
rewriter: Removed debug printing
2019-03-04 13:00:05 +01:00
Daniel Mensinger
0fd4dce906
rewriter: Type annotation cleanup
2019-03-04 13:00:05 +01:00
Daniel Mensinger
2582f311b0
rewriter: Make sure target sources are relative
2019-03-04 13:00:05 +01:00
Daniel Mensinger
760d1bff9c
rewriter: Sort source files ( #5010 )
...
* rewriter: Sort source files
* rewriter: Natural sorting
* rewriter: Fix flake8
* rewriter: Fixed sorting
* rewriter: Make sorting key more readable
* rewriter: Even simpler key
2019-03-04 13:58:35 +02:00
Daniel Mensinger
f9b41d5ecb
mintro: Dependencies from source
2019-03-03 23:19:03 +01:00
Daniel Mensinger
5a22bb7901
rewriter: Use mparser to detect the end of some nodes
2019-03-03 13:57:25 +02:00
Daniel Mensinger
7199cd2095
rewriter: Avoid duplicates
2019-03-02 17:05:10 +02:00
Daniel Mensinger
94fe01deec
rewriter: Sort dict iterations to fix unit tests
2019-02-27 19:59:58 +02:00
Daniel Mensinger
9e247cb52e
rewriter: Set and delete default options
2019-02-26 09:34:58 +01:00
Daniel Mensinger
74bb79e26e
rewriter: Remove matching regex from list
2019-02-26 09:34:57 +01:00
Daniel Mensinger
e37d32aa9d
rewriter: Basic default_options support
2019-02-26 09:34:57 +01:00
Daniel Mensinger
4b7b5a7185
Fixed flake8
2019-02-16 14:17:02 +01:00
Daniel Mensinger
631dbc4b24
Fixed indentation
2019-02-16 14:17:02 +01:00
Daniel Mensinger
5184465280
rewriter: Added support for adding targets
2019-02-16 14:17:01 +01:00
Daniel Mensinger
056c533ede
rewriter: Added support for removing targets
2019-02-16 14:14:16 +01:00
Daniel Mensinger
24a2cf02e2
Can now find the assignment node of a value
2019-02-16 14:10:08 +01:00
Daniel Mensinger
0ce02b57d7
Renamed type classes
2019-02-10 16:13:53 +01:00
Daniel Mensinger
8c364952af
Added dependecy kwargs support
2019-01-31 15:57:02 +01:00
Daniel Mensinger
5655865246
Added test case
2019-01-31 15:43:04 +01:00
Daniel Mensinger
c64d80cf2f
Renamed operation test -> info
2019-01-31 15:43:04 +01:00
Daniel Mensinger
8bb942ef25
Rewriter infodump modifications
2019-01-31 15:43:04 +01:00
Daniel Mensinger
be3c58d638
Modify kwargs in rewriter
2019-01-31 15:43:04 +01:00
Daniel Mensinger
8224ecfbe6
Some fixes and assignment based target find
2019-01-31 15:43:04 +01:00
Daniel Mensinger
dbb94f122d
Fixed style issues
2019-01-24 21:38:29 +01:00
Daniel Mensinger
6fe2c2b209
Fixed flake8 issues
2019-01-22 17:31:15 +01:00
Daniel Mensinger
b7c6f3ec72
Can now rewrite files
2019-01-22 16:41:25 +01:00
Daniel Mensinger
8dd9b44831
Added support for removing sources from a target
2019-01-22 16:41:25 +01:00
Daniel Mensinger
0ce6632393
Added suport for adding sources to a target
2019-01-22 16:41:25 +01:00
Daniel Mensinger
86d5799bc4
First rewriter test case
2019-01-22 16:41:06 +01:00
Daniel Mensinger
277dc10a5d
AST post processing
2019-01-22 16:09:34 +01:00
Daniel Mensinger
750af9c853
Moved the introspection interpreter
2019-01-22 16:09:34 +01:00
Daniel Mensinger
46320bfba8
Added Ast printer
2019-01-22 16:09:34 +01:00
Daniel Mensinger
ccad493e85
Basic AST visitor pattern
2019-01-22 16:09:34 +01:00
Daniel Schulte
4c5ec91135
Split AstInterpreter into base class and RewriterInterpreter
2018-11-26 23:10:53 +01:00
Xavier Claessens
37067a53c4
Use a single ArgumentParser for all subcommands
...
This has the adventage that "meson --help" shows a list of all commands,
making them discoverable. This also reduce the manual parsing of
arguments to the strict minimum needed for backward compatibility.
2018-10-04 09:40:21 -04:00
Jussi Pakkanen
9b2e533d87
Always build parser objects anew to avoid leaking old data.
2018-03-27 00:39:45 +03:00
Jukka Laurila
52c50da6c7
Refactor: Add log.error and log.exception to reduce code duplication.
2018-03-10 18:04:52 +02:00
Eric Engestrom
5f7f5cdb05
Print correct command in help message
...
Taking mconf for instance:
before:
$ meson configure --help
usage: meson [-h] [-D SETS] [--clearcache] [directory [directory ...]]
after:
$ meson configure --help
usage: meson configure [-h] [-D SETS] [--clearcache] [directory [directory ...]]
2017-11-09 21:12:34 +02:00
Luke Shumaker
e7d5b9dd8e
fix file permissions on a couple of files
2017-09-20 14:02:57 -04:00
Jussi Pakkanen
0dd9ace5cc
Turned rewriter into an internal module.
2017-08-02 22:00:09 +03:00