Project

General

Profile

zfile_set.txt

Roger Borrello, 02/05/2025 06:47 PM

Download (3.89 KB)

 
1
# This feature was added in FWD v4.0, see #5135 for more details.
2
#
3
# This mode is extremely flexible. It can do everything that the other modes can do and more. Except for some one-off usage from the command line (where an explicit list of filenames or file specification mode can be useful), -z mode if expected to be the way that most projects are configured.
4
#
5
# The input for this mode is a single relative filename for a text file that contains an explicit list of directives. This list of directives is called a "File Set". To use this approach, pass -z on the command line.
6
#
7
# Example:
8
#
9
# java -classpath $P2J_HOME/p2j/build/lib/p2j.jar com.goldencode.p2j.convert.ConversionDriver -z f2 my_file_set.txt
10
#
11
# The -z option forces the driver to calculate a list of files for processing based on the directives in the text file passed as the required parameter.
12
#
13
# These are the directives:
14
#
15
#    D <recursive_top_level_dir> <file_spec> adds a top level directory and a file spec which will be recursively processed to add 0 or more files into the list
16
#    N <non_recursive_top_level_dir> <file_spec> adds a top level dir and file spec which will be non-recursively processed to add 0 or more files into the list
17
#    F <absolute_or_relative_file_name> - explicitly adds a single/individual file into the list
18
#    X <exclusion_filter_expression_including_wildcards> - filter to remove from the list
19
#    I <inclusion_filter_expression_including_wildcards> - filter to add something removed back into the list
20
#
21
# The input file will be processed in 2 passes:
22
#
23
#    1. Process all D, N and F directives to make the maximal file list of all matching files. These can be processed in any order because each of these directives only ever add to the list. If there are no D, N and F directives, then we will create a maximal file list using D . (*.[pPwW]|*.cls) which will gather all .p, .P, .w, .W and .cls files under the current directory, recursively.
24
#    2. Process all X and I filters, in order from top to bottom, to modify the maximal list into the actual list of files to be processed.
25
#
26
# An example of the content for my_file_set.txt is:
27
#
28
# D ./abl/ (*.[pPwW]|*.cls)
29
# F ./other/my_app/module1/some-file.p
30
# F ./src/my_app/module1/another.p
31
# F ./src/my_app/module2/different-file.p
32
# N ./other/your_app/ *.[pP]
33
# X ./abl/possenet/*
34
# I ./abl/possenet/src/adecomm/as-utils.w
35
# I ./abl/possenet/src/adecomm/get-user.p
36
# I ./abl/possenet/src/adm2/containr.p
37
# I ./abl/possenet/src/adm2/dyndata.w
38
# I ./abl/possenet/src/adm2/fetchdata.p
39
# I ./abl/possenet/src/adm2/fetchrows.p
40
# I ./abl/possenet/src/adm2/smart.p
41
# I ./abl/possenet/src/adm2/support/visuald.w
42
# I ./abl/possenet/src/adm2/visual.p
43
# I ./abl/possenet/src/dynamics/af/cod2/aftemsuspd.w
44
#
45
# Please follow these rules:
46
#
47
#   o There is one directive per line.
48
#   o All filenames are relative to the project root.
49
#   o Spaces in filenames or file specifications can only be specified if the value is surrounded by double quote characters (e.g. "this is a stupid idea.p" or "*dumb\ spec*.[pPwW]").
50
#   o Double quote characters in a filename or file specification can be included but must be escaped with the backslash character \.
51
#   o The UNIX/Linux path separator character / is always used. The tools will convert this to the local platform's path separator as needed.
52
#   o A # as the first character on a line will treat the entire line as a comment (it will be ignored). A # character anywhere else will be considered part of the filename.
53

    
54
F ./abl/ade/src/web/objects/web-disp.p
55
F ./abl/ade/src/webutil/webstart.p
56
F ./abl/ade/src/web/objects/stateaware.p
57
F ./abl/ade/src/web/objects/web-util.p
58
F ./abl/ade/src/web/objects/session.p
59
F ./abl/ade/src/web/support/webinput.p
60
F ./abl/ade/src/web/support/webtog.p
61
F ./abl/ade/src/web/support/webradio.p
62
F ./abl/ade/src/web/support/weblist.p
63
F ./abl/ade/src/web/support/webedit.p
64
F ./abl/ade/src/web/support/tagrun.p
65
F ./abl/ade/src/web/support/webmsg.p