-
Notifications
You must be signed in to change notification settings - Fork 27
/
changelog.txt
142 lines (117 loc) · 8.35 KB
/
changelog.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
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
__7.1.2 (08-jun-2024)__
- added way to define a preprocessor extension class through CLI (as `/EA:<class.name>`) and in plugins (as `actionPreprocessorExtension`). The class should be provided in the clas path.[#48](https://github.com/raydac/java-comment-preprocessor/issues/48)
- updated some dependencies
__7.1.1 (13-jan-2024)__
- fixed NPE for empty or null global variable value in Maven and Gradle [#47](https://github.com/raydac/java-comment-preprocessor/issues/47)
- updated dependencies
__7.1.0 (10-dec-2023)__
- refactoring of internal API
- updated dependencies
- improved keep comments processing, added `/M:<type>` CLI option [#46](https://github.com/raydac/java-comment-preprocessor/issues/46)
__7.0.5 (11-dec-2021)__
- fixed compatibility with Gradle 7.x
- added support of build under JDK 16
- updated dependencies
7.0.4 (26-sep-2020)
- fixed default flag state `keep comments` for start in CLI mode [#24](https://github.com/raydac/java-comment-preprocessor/issues/24)
- fixed working directory detection in CLI mode
7.0.3 (13-sep-2020)
- added way to get info about all input and produced files from preprocessor context
- reworked Gradle plug-in, removed extension and now properties should be directly provided for task [#21](https://github.com/raydac/java-comment-preprocessor/issues/21)
- refactoring, removed some auxiliary plugins from build process and extra code
7.0.2 (15-jul-2019)
- fixed leaks of system scoped dependencies in generated pom.xml
7.0.1 (19-apr-2019)
- minor refactoring
7.0.0 (31-mar-2019)
- reworked some parameters for Maven and ANT plug-ins
- added embedded Gradle plugin `com.igormaznitsa.jcp`
- removed maven `clear` goal
- removed maven `preprocessTest` goal (use flag `useTestSources` instead)
- added function `STR esc(STR)`
- fixed build under JDK 9+
- XML functions work through embedded [Apache Xalan](https://xalan.apache.org/) and [Apache Xerces](http://xerces.apache.org/)
- minimal needed Java version changed to 1.8
- refactoring
6.1.4 (16-jun-2018)
- removed dependencies to meta packages (their sources moved into project) #19
6.1.3 (29-apr-2018)
- added automatic module name `igormaznitsa.jcp`
- CORE: added `/U` key to turn on mode to interpret unknown variables as FALSE (in Maven and ANT `unknownVarAsFalse`), [#17](https://github.com/raydac/java-comment-preprocessor/issues/17)
6.1.2 (02-apr-2017)
- CORE: added STR TRIMLINES(STR) function to trim lines represented as string and removing empty lines
- CORE: added `/A` command line option (`copyFileAttributes` in Maven and ANT) to copy file attributes
- CORE: added `/ED:` command line option to exclude sub-folders from preprocessing (`excludedFolders` in Maven and ANT) with ANT pattern support.
- CORE: added `/PI` command line flag (`preserveIndent` in Maven and ANT), turn on mode to preserve indent when removing `//$` and `//$$`, thanks to @jamuir
- CORE: comma in split lines in BINFILE function moved from the start of line to the end of the previous line (to increase compatibility with Go)
6.1.1 (11-feb-2017)
- MAVEN: information about imported maven properties will be shown only in either verbose mode or debug mode
- MAVEN: added auxiliary goal `preprocessTests` which provides flag `useTestSources` as true and activated by default in GENERATE_TEST_SOURCES phase #14
- MAVEN: added 'ignoreMissingSources' boolean parameter, allows to skip preprocessing if source folders not found or not provided #12
- MAVEN: added 'skip'boolean parameter, it allows to skip execution, also it is possible to use `-Djcp.preprocess.skip=true` #13
- CORE: added function `BOOL is(STR,ANY)` to check existence of variable for its name and compare its value with etalon (through string conversion, it will ensure true for `true` and `"true"` case), #10
- CORE: added `STR str2go(STR)` function to escape strings to be represented in Golang sources
- CORE: improved the BINFILE function, it allows `base64|byte[]|uint8[]|int8` and modifiers `s|d|ds|sd` where s - means splitting to lines and d - means deflate compression
6.1.0 (03-jul-2016)
- implemented request #9, added support of whitespace between directive and comment, in command line it is `--es` option and in MAVEN and ANT it is boolean parameter `allowWhitespace`, by default it is turned off
- added function STR binfile(STR,STR) to load a bin file as encoded base64 or java byte array string
- changes in Preprocessor API, removed usage of null instead of PreprocessorContext or PreprocessingState as argument for many methods, improved tests
- fixed #8 issue, fixed work with absolute paths in //#include and evalfile(), added tests
- refactoring
6.0.1
- improved the MAVEN plugin to hide content of potentially sensitive properties from printing into Maven log (issue #2)
- added --z option ('compareDestination' in MAVEN and ANT) to check content of existing result file and to not replace it if content equals (issue #1), by default turned off because makes some overhead
- fixed --c argument usage in CLI, now by default the preprocessor started in CLI doesn't clear its output folder, use --c to turn it on
- improved tests
- minor bug-fixing
6.0.0
- bugfixing and log improvement
- RENAMED DIRECTIVE! //#assert renamed to appropriate name //#echo
- RENAMED FUNCTIONS! renamed XML functions to more appropriate and short names
- xml_getRoot to xml_root
- xml_elementAt to xml_get
- xml_elementsNumber to xml_size
- xml_getAttribute to xml_attr
- xml_getElementName to xml_name
- xml_getElementsForName to xml_list
- xml_getElementText to xml_text
- fixed //#exit and //#exitif behavior to prevent total exit and return level up in include stack
- added //#abort directive to provide possibility to stop preprocessing immediately without errors
- added function 'STR evalfile(STR)' for local preprocessing of a file body and return it as a string
- added predefined variables 'line','filename','filefolder' and 'file' which allow to get name and path parameters for the current preprocessing file path
- added predefined variables 'time','date' and 'timestamp' which work similar C++ predefined macroses
- added function 'STR str2java(STR,BOOL)' to escape and split string to be presented as java sources
- added functions 'STR str2js(STR)', 'STR str2json(STR)','STR str2xml(STR)' and 'STR str2csv(STR)'
- added functions 'STR xml_xlist(STR,STR)' and 'STR xml_xelement(STR,STR)' which allow to use xpath to get element lists an elements
- apache common-io and common-lang libraries have been packed into the jar and hidden
- added the short variant '//#ifdef BOOL' for '//#ifdefined BOOL'
- added '//#ifndef BOOL' to check that a variable is undefined
- added '//#definel NAME' and '//#define NAME' to define local and global variables, they can use not only the default TRUE value for defined variables, but also result of expression (example: //#define ten 2*5)
- added '//#undef NAME' to remove a variable definition from context
- added '//#error EXPR' and '//#warning EXPR' directives to throw exception and log warnings
- added support of custom line separator through the 'jcp.line.separator' system property
- added '//#noautoflush' to prevent auto saving text buffers after file preprocessing
5.3.4
- added support of test source folder preprocessing for maven projects
- added the "clear" maven goal to clear created preprocessing folders or any defined folders and files
- by default the maven plugin trying to keep numeration of lines in preprocessed files (the 'keepLines' is true by default)
5.3.3
- fixed the bug in the comment removing (multiple stars before closing slash)
- fixed the exception if there is not any organization tag in a project pom.xml
- added support for '-' and '--' prefixes in CLI arguments
- improved CLI argument error messaging
- the license has been changed to Apache 2.0
5.3.2
- very minor refactoring.
- fixed issue (ID 5) "Removing strings contain only spaces"
- the first version published in the maven central
5.3.1
- very minor bug-fixing, added the main-class attribute in the preprocessor JAR Manifest
5.3
- Added feature to keep non-executing lines as commented ones (/k command line key), all non-executing lines will be saved in the output as commented ones
5.2
- Fixed issue (ID 3). The default charset was used to read text files.
5.1
- Fixed issue (ID 1). Inaccessible functionality both "load a file with global variables" and "define global variable" through a command line call.
5.0
- The initial published version of totally reworked preprocessor