Mercurial > hg > MakeItSo
annotate makeitso.txt @ 201:65684aae6bfe
make unittest template smarter
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Wed, 09 Jul 2014 15:48:41 -0700 |
parents | 8f5bfd2e5a35 |
children |
rev | line source |
---|---|
157
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
1 Make it so! |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
2 =========== |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
3 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
4 *A new file templating system* |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
5 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
6 Requirements: |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
7 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
8 - ability to specify delimeters (both for file interpolation and |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
9 filename interpolation); normally, i'd want '${' + '}', but this |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
10 works poor with, say, bash scripts, and not having this makes it |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
11 difficult to write templates that make other templates |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
12 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
13 - ability to find the variables used in templates; I find this |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
14 absolutely critical. In PasteScript, this isn't there (unless you |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
15 use cheetah) and it is problematic if you want to deal with |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
16 templates programmatically. If you do allow things, like |
171 | 17 single-file templates, then this becomes mandatory. |
157
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
18 This is to say, amongst other things, there should be a |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
19 command-line option that will list the template variables. |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
20 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
21 - ability to make existing directory structures or files into templates |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
22 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
23 - ability to interpolate single files (or strings), especially via an API |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
24 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
25 - ability to use defaults (--use-defaults) when they are specified |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
26 |
171 | 27 - ability to save variables used in a run into a file: |
157
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
28 makeitso --save-variables=myvars.txt mytemplate) |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
29 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
30 - ability to have executing script files (for packaged tests or via a shebang) |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
31 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
32 - a dotfile for metadata (e.g. ~/.makeitso) |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
33 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
34 - hooks for things to do after creation (licensing, uploading |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
35 somewhere, creating a repository, etc) |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
36 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
37 - not having to name template files 'foo_tmpl'; it is better not to |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
38 munge the file extension at all and have other mechanisms for |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
39 denoting files to be interpolated |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
40 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
41 - single file usability |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
42 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
43 Nice-to-haves: |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
44 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
45 - ability to use python in interpolation [HARD?] |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
46 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
47 - backwards compatability with pastescript templates |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
48 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
49 - ability to inherit from templates [HARD] |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
50 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
51 - ability to munge files (e.g. combining setup.py from several |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
52 packages) [HARD] |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
53 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
54 - a web interface (or a few) |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
55 |
389dadabf45b
from docs; to combine with TODO.txt
Jeff Hammel <jhammel@mozilla.com>
parents:
diff
changeset
|
56 - ability to push changes from a downstream instance to a template [HARD] |