-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodo.txt
102 lines (93 loc) · 5.02 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
core
- Validation and documentation specification for method args, similar to attribute options
- Make _ID be id of the definition the code is in, such that it works even inside a block that is being executed in the context of a different jaba object
- localise error strings into a single file, using macros for variable substitution. As well as being better for standardisation could support multiple languages.
- Implement element deletion for hash attribute
- Disallow ruby keywords as attr names, eg 'in' fails
- prefix/postfix/delete/exclude should be specced with attr_option. exclude should get its type from its owning attr.
- Remove node_option flag and handle node options same as attribute options?
- Add a general :nowarn option. This could replace the :force option. And have a command line switch to force showing of warningss
- Test compound attr with value options
- Check for commonality in pull_up and add test
- Check that pull_up works with compounds
- Add dependencies between node defs so targets are all processed before workspaces
- make target dependencies recursive
- look again at deps being per_config
- 'all' workspace
- is x86_64 right? Investigate.
- defining a shared module in one file and consuming in a completely different place is problematic and
terribly confusing. What about if there is the ability to include a virtual target (rather than just depend
on it)? virtual targets have their own root. Could then just merge attrs in. Maybe a new category
like 'base target' or something. Also shared modules don't necessarily get per-file defaults from the
file they are in which is confusing.
- The football app has shown up the issue that it is too easy for the buildsystem to end up in src.
Need to prevent this from happening.
- remove 'console' from 'type' attr. Should just be 'app', 'lib', 'so'.
path attrs/src
- Support **.h as alternative to **/*.h
- :no_wildcard flag to disallow wildcards
- wildcard validation
- Validate paths for missing / eg '../..debase-ruby_core_source/
- vpath support. Macros would make it more powerful.
- flag to control whether absolute paths allowed in file/dir attrs. Eg build_root_offset is not an offset if absolute path used.
Is it even a path attr?
- Review whether '.' is allowed in :basename type. Maybe Introduce and allow_ext option.
- enforce that paths stay within their base dir spec?
- exclude from build should be an :info option on src attr
workspace
- add dependencies recursively
- Support for specifying targets via glob match
- categories
- add slnproperty which can address sln sections. Particularly useful when used with ExtensibilityGlobals
target
- Make custom build rule support multiple outputs. Requires adding array subscript support to macros.
- Make shell build events use macros
- Add 'install' to copy exes somewhere post build
VisualC
- support for debugger working directory via .user file
- Is ToolsVersion='16.0' needed?
test
- vpath
- Regression tests for generated files.
- option in tests to log to stdout
- bring attr_hash tests back
- workspaces
possible features
- Command line option to print full exception info
- Have a command line switch to make all error messages contain absolute paths
- Add invocations.txt to each example which can execute in multiple ways?
- Auto-delete non-generated files in buildsystem dir (cruft removal)
- Support arrays in hash values? That would allow src attr to work as a value as well as a key.
- Ability for user to extend jdl. This must be done before any definitions are executed
and cannot be done inline. Could be placed in .jaba.jdl files which are executed first.
- Did you mean style error reporting: Error at basic_dll.jaba:8: 'defines' attribute not defined. Did you mean 'define'?
- versioning support
- It would be good if common libraries were like jrfui were able to be shared across codebases
docs
- tag attrs as control flow attrs somehow for benefit of docs
- ruby license requirements
- Stats in docs, eg number of files in jaba release, size of zip.
- Add node option attrs
- Add attribute options
- common attrs
- methods
jaba tool
- add --list-globals option
- Implement jaba build command to build vs solution
- clean command
v2 new features/changes:
- removed json output [DONE]
- rebased onto mruby [DONE]
- src files calculated immediately [DONE]
- rule inputs/outputs automatically added to src [DONE]
- dependencies pulled into solution automatically [DONE]
- per file defaults [DONE]
- options can now be passed into defaults block which can be overriden [DONE]
- delete stale projects in build system [TODO]
- ability to set src per config instead of per-project [DONE]
- ability to set target type per config instead of per-project [DONE]
- rethought transitive properties of dependencies [TODO]
- string/symbol/symbol_or_string combined into just string [DONE]
- key/value options are now attributes in their own right with attendant benefits [DONE]
- Everything within a target block is now executed per-config. Per-project attrs are then 'pulled up'.
Eliminates issues with accessing uninitialised attributes [DONE]