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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
8f5bfd2e5a35 README.txt makeitso.txt
Jeff Hammel <jhammel@mozilla.com>
parents: 157
diff changeset
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
8f5bfd2e5a35 README.txt makeitso.txt
Jeff Hammel <jhammel@mozilla.com>
parents: 157
diff changeset
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]