improvement in logging, bug fixes

- Bug Fix: For RedirectClassType = 2, Path was set wrong
- Doc: Improved, Better description of ClassPerFileCheck.
- Bug Fix: RedirectClassType = 2, UseClassPerFile = 2 failed.
- Enhancement: Added option to create config file template based on current values of a directory
- Enhancement: Log settings object handed to execute (Debug > 0)
This commit is contained in:
Lutz
2021-03-09 09:16:40 +01:00
parent 3278ab2f6f
commit 96519930de
9 changed files with 67 additions and 55 deletions

View File

@@ -32,13 +32,13 @@ _**Note:** you can click on the version number for downloading this version from
| Rel.Date | Developer | Version | Details |
| - | - | - | - |
| 2021/03/05 | LScheffler | [v1.19.59]() | **Feature**: Added option to create config file template based on current values of a directory |
| 2021/03/05 | LScheffler | [v1.19.59]() | **Bug Fix**: RedirectClassType = 2, Path was set wrong |
| 2021/03/05 | LScheffler | [v1.19.59]() | **Bug Fix**: RedirectClassType = 2, UseClassPerFile = 2 failed |
| 2021/xx/xx | LScheffler | [v1.19.59]() | **Doc**: Improved, Better description of ClassPerFileCheck. |
| 2021/03/04 | Doug Hennig | [v1.19.58]() | Added support for writing to a different folder than the source code using a new tcOutputFolder parameter |
| | | | Added a configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes) |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Feature**: Logging of settings as settings object passed to execute method (Option debug > 0) |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Feature**: Added option to create config file template based on current values of a directory |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Bug Fix**: RedirectClassType = 2, Path was set wrong in special config |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Bug Fix**: RedirectClassType = 2, UseClassPerFile = 2 failed |
| 2021/03/09 | LScheffler | [v1.19.59]() | **Doc**: Improved, Better description of ClassPerFileCheck. |
| 2021/03/04 | Doug Hennig | [v1.19.58]() | **Feature**: Added support for writing to a different folder than the source code using a new tcOutputFolder parameter |
| | | | **Feature**: Added a configuration option: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes) |
| 2021/03/05 | LScheffler | [v1.19.57]() | **Bug Fix**: RedirectClassType = 2 mixed up PATH |
| | | | **Doc**: Improved |
| 2021/03/04 | LScheffler | [v1.19.56]() | **Feature**: New value 2 for option RedirectClassType = 2, just process the single class for input in form file[.baseclass].class.vc2 |
@@ -379,4 +379,4 @@ _**Note:** you can click on the version number for downloading this version from
This project is part of [VFPX](https://vfpx.github.io/).
----
Last changed: _2021/03/05_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)
Last changed: _2021/03/09_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -124,8 +124,14 @@ To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0
---
## Changes
See [Changes](./Documentacion/github/FoxBin2prg_Changes.md)
* Bug fixes
* New option -C
## Changes in 1.19.59
* Added support for writing to a different folder than the source code using a new tcOutputFolder parameter
* Added a configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes)
* Logging of settings as settings object passed to execute method (Option debug > 0)
* Bug Fixes: RedirectClassType = 2
* Improved, Better description of ClassPerFileCheck.
* Added option to create config file template based on current values of a directory
To create config file (working settings) with all values set for a folder.
Intended for storing the settings with the project.
@@ -133,10 +139,6 @@ See [Changes](./Documentacion/github/FoxBin2prg_Changes.md)
DO FOXBIN2PRG.PRG WITH "-C","template.cfg" ==> Generates a file like FoxBin2Prg.cfg config file with recent settings
```
## Changes in 1.19.59
* Added support for writing to a different folder than the source code using a new tcOutputFolder parameter
* Added a configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes)
## Changes in 1.19.58
* Added support for writing to a different folder than the source code using a new tcOutputFolder parameter
* Added a configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (the default is 1 for Yes)
@@ -149,10 +151,6 @@ DO FOXBIN2PRG.PRG WITH "-c","template.cfg" ==> Generates a template for Fox
DO FOXBIN2PRG.PRG WITH "-t","template.dbf.cfg" ==> Generates a template for table.dbf.cfg per table config file with newest settings
```
### Exe file
Removed exe file. Just a bloat of teh repo, any disciple of the Fox know how to create, if in need.
The prg works anyway.
### Split of container files
VCX, SCX and DBC are container that hold different items. There is was a single option to split them.
The split of DBC the same way like VCX/SCX might not be the best choice under all circumstances.
@@ -217,4 +215,4 @@ This folder containes the files necessary to run FoxBin2Prg.prg or to create the
For usage see [documentation](./Documentacion/github/FoxBin2prg.md)
----
Last changed: _2021/03/08_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)
Last changed: _2021/03/09_ ![Picture](./pictures/vfpxpoweredby_alternative.gif)

View File

@@ -1,5 +1,5 @@
appName = FoxBin2Prg
appID = FoxBin2Prg
majorVersion = 1.19.59
excludeFiles = *.bak,*.bat,*.fxp,*.tbk,*.tmp,*.dat,*.log,*.cvp,README.md,.gitignore,*.zip*,*.7z*,*- copia.*,*.private.*,test_*.*,xx*.*,*.lnk,vfp_init.*,tmp*.*,*.err, *.conflict.*, *.private.*
excludeFiles = *.bak,*.bat,*.fxp,*.tbk,*.tmp,*.dat,*.log,*.cvp,README.md,.gitignore,*.zip*,*.7z*,*- copia.*,*.private.*,test_*.*,xx*.*,*.lnk,vfp_init.*,tmp*.*,*.err, *.conflict.*, *.private., .gitignore, *.pui. *.prj*
excludeFolders = *.plastic*,*ThorUpdater*,*Documentacion*,*foxunit*,*foxunit_*,*pruebas varias*,*versiones*,*datos_test*

View File

@@ -64,7 +64,7 @@ Developed by Fernando D. Bozzo - GitHub: https://github.com/fdbozzo/foxbin2prg
FoxBin2Prg is a 2-way conversor for Visual FoxPro 9 binary files intended to be used with SCM tools (Diff and Merge operations) or just for backup
Supported formats are: PJX, PJM, SCX, VCX, FRX, LBX, MNX, DBC, DBF
Supported formats are: PJX, PJM, SCX, VCX, FRX, LBX, MNX, DBC, DBF, MEM, FKY
Demo video using FoxBin2Prg with PlasticSCM: http://youtu.be/sE4wQ50Itqg

View File

@@ -1,7 +1,7 @@
*################################################################################################################
*FOXBIN2PRG.CFG configuration options: (If no values given, these are the DEFAULTS)
*Version: v1.19.58
*################################################################################################################
*Version: v1.19.59
*****************************************************************************************************************
*extension: tx2=newext && Specify extensions to use. Default FoxBin2Prg extensions ends in '2' (see at the bottom)
*ShowProgressbar: 1 && 0=Don't show, 1=Allways show, 2= Show only for multi-file processing
@@ -18,8 +18,9 @@
*Language: (auto) && Language of shown messages and LOGs. EN=English, FR=French, ES=Espa<70>ol, DE=German, Not defined = AUTOMATIC [DEFAULT]
*ExcludeDBFAutoincNextval: 0 && [0=Do not exclude this value from db2], 1=Exclude this value from db2
*PRG_Compat_Level: 0 && [0=Legacy], 1=Use HELPSTRING as Class Procedure comment
*HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
*HomeDir: 1 && 0 = don't save HomeDir in PJ2, [1 = save HomeDir in PJ2]
*----------------------------------------------------------------------------------------------------------------
*-- Convertion options:
*PJX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
*VCX_Conversion_Support: 2 && 0=No support, 1=Generate TXT only (Diff), 2=Generate TXT and BIN (Merge)
@@ -34,6 +35,7 @@
*DBF_Conversion_Included: * && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf
*DBF_Conversion_Excluded: && If DBF_Conversion_Support:4, you can specify multiple filemasks: www,fb2p_free.dbf
*----------------------------------------------------------------------------------------------------------------
*-- DBC options
*- File per DBC options (UseFilesPerDBC: 1)
*OldFilesPerDBC: 0 && 1=Turns the File per DBC options on, 0 uses the old UseClassPerFile etc settings.
@@ -49,29 +51,32 @@
*DBF_BinChar_Base64: 1 && 0=For character type fields, if NoCPTrans 0=do not transform, 1=use Base64 transform (default)
*DBF_IncludeDeleted: 0 && 0=Do not include deleted records (default), 1=Include deleted records
*----------------------------------------------------------------------------------------------------------------
*-- CLASS and FORM options
*- Class per file options (UseClassPerFile: 1)
*UseClassPerFile: 0 && 0=One library tx2 file, 1=Multiple file.class.tx2 files, 2=Multiple file.baseclass.class.tx2 files
*RedirectClassPerFileToMain: 0 && 0=Don't redirect to file.tx2, 1=Redirect to file.tx2 when selecting file.class.tx2
*RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2
* && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2
* && For the second form:
* && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library
* && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX
* && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX
* && RedirectClassType: 1 precedes
*RedirectClassType: 0 && For classes created with UseClassPerFile>0 in the form file[.baseclass].class.tx2
* && Those files could be imported like file.tx2::Class::import or like file[.baseclass].class.tx2
* && For the second form:
* && 0 Redirect file[.baseclass].class.tx2 to file.VCX and add / replace all other classes of this library
* && 1 Redirect file[.baseclass].class.tx2 to file[.baseclass].class.VCX and do not touch file.VCX
* && 2 Redirect file[.baseclass].class.tx2 to file.VCX and do not touch other classes of file.VCX
*ClassPerFileCheck: 0 && 0=Don't check file.class.tx2 inclusion, 1=Check file.class.tx2 inclusion
* && Only used if import file is in file[.baseclass].class.tx2 syntax
* && Ignored for RedirectClassType: 2
*----------------------------------------------------------------------------------------------------------------
*-- Example configuration for SourceSafe compatibility:
*extension: pj2=pja && Text file to PJX
*extension: vc2=vca && Text file to VCX
*extension: sc2=sca && Text file to SCX
*extension: fr2=fra && Text file to FRX
*extension: lb2=lba && Text file to LBX
*extension: mn2=mna && Text file to MNX
*extension: db2=dba && Text file to DBF
*extension: dc2=dca && Text file to DBC
*-- Additional extensions
*extension: fk2=fkx && Text file to FKY
*extension: me2=fkx && Text file to MEM
*
*extension: pj2=pja && Text file to PJX
*extension: vc2=vca && Text file to VCX
*extension: sc2=sca && Text file to SCX
*extension: fr2=fra && Text file to FRX
*extension: lb2=lba && Text file to LBX
*extension: mn2=mna && Text file to MNX
*extension: db2=dba && Text file to DBF
*extension: dc2=dca && Text file to DBC
*-- Additional extensions
*extension: fk2=fkx && Text file to FKY
*extension: me2=fkx && Text file to MEM

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -249,10 +249,11 @@
* 05/03/2021 LScheffler v1.19.57 Bug Fix: For RedirectClassType = 2, Path was set wrong
* 2021-03-04 DH v1.19.58 Enhancement: added support for writing to a different folder than the source code (Doug Hennig)
* 2021-03-04 DH v1.19.58 Enhancement: added configuration item: HomeDir, which determines if HomeDir is saved in PJ2 files (Doug Hennig)
* 08/03/2021 LScheffler v1.19.59 Bug Fix: For RedirectClassType = 2, Path was set wrong
* 08/03/2021 LScheffler v1.19.59 Doc: Improved, Better description of ClassPerFileCheck.
* 08/03/2021 LScheffler v1.19.59 Bug Fix: RedirectClassType = 2, UseClassPerFile = 2 failed.
* 08/03/2021 LScheffler v1.19.59 Enhancement: Added option to create config file template based on current values of a directory
* 09/03/2021 LScheffler v1.19.59 Bug Fix: For RedirectClassType = 2, Path was set wrong
* 09/03/2021 LScheffler v1.19.59 Doc: Improved, Better description of ClassPerFileCheck.
* 09/03/2021 LScheffler v1.19.59 Bug Fix: RedirectClassType = 2, UseClassPerFile = 2 failed.
* 09/03/2021 LScheffler v1.19.59 Enhancement: Added option to create config file template based on current values of a directory
* 09/03/2021 LScheffler v1.19.59 Enhancement: Log settings object handed to execute (Debug > 0)
* </HISTORIAL DE CAMBIOS Y NOTAS IMPORTANTES>
*
*---------------------------------------------------------------------------------------------------
@@ -395,8 +396,8 @@
* generates classlib.class.vcx and tries to recompile classlib.vcx
* fails silent if classlib.vcx exists (compiles wrong lib), with message if not.
* 05/03/2021 Lutz Scheffler Bug report v1.19.56 For RedirectClassType = 2, Path was set wrong
* xx/03/2021 Lutz Scheffler Bug report v1.19.57 For RedirectClassType = 2, Path was set wrong
* xx/03/2021 Lutz Scheffler Bug report v1.19.57 RedirectClassType = 2, UseClassPerFile = 2 failed.
* 09/03/2021 Lutz Scheffler Bug report v1.19.57 For RedirectClassType = 2, Path was set wrong
* 09/03/2021 Lutz Scheffler Bug report v1.19.57 RedirectClassType = 2, UseClassPerFile = 2 failed.
* </TESTEO Y REPORTE DE BUGS (AGRADECIMIENTOS)>
*
@@ -2146,9 +2147,10 @@ Define Class c_foxbin2prg As Session
* tc_InputFile (v! IN ) Nombre completo (fullpath) del archivo a convertir o nombre del directorio a procesar
* tc_InputFile_Type (@? IN ) Tipo de archivo de entrada: (D)irectory, (F)ile, (Q)uerySupport
* toParentCFG (@? IN ) (Uso interno) Si se pasa un valor, el nuevo CFG copiará primero sus valores de aquí para heredarlos
* tl_ForceLog (v? IN ) Force logging of settings. used on cfg setting as object
*--------------------------------------------------------------------------------------------------------------
Lparameters tcDontShowProgress, tcDontShowErrors, tcNoTimestamps, tcDebug, tcRecompile, tcExtraBackupLevels ;
, tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile, tcInputFile_Type, toParentCFG
, tcClearUniqueID, tcOptimizeByFilestamp, tc_InputFile, tcInputFile_Type, toParentCFG, tl_ForceLog
#If .F.
Local toParentCFG As CL_CFG Of 'FOXBIN2PRG.PRG'
@@ -2713,11 +2715,13 @@ Define Class c_foxbin2prg As Session
.n_CFG_EvaluateFromParam = .n_CFG_Actual
Endif
Else
*-- Si no es llMasterEval, es porque esta llamada es cíclica desde este mismo método,
*-- y no hay parámetros para evaluar, ya que se mandan todos vacíos desde el inicial.
Exit
*-- Si no es llMasterEval, es porque esta llamada es cíclica desde este mismo método,
*-- y no hay parámetros para evaluar, ya que se mandan todos vacíos desde el inicial.
If Not tl_ForceLog Then
Exit
Endif &&NOT tl_ForceLog
Endif
.writeLog( '> ' + Upper(loLang.C_USING_THIS_SETTINGS_LOC) + ':' )
.writeLog( C_TAB + 'n_CFG_Actual: ' + Transform(.n_CFG_Actual) + Icase(.n_CFG_Actual=1, ' [MASTER]', ' [SECONDARY]') )
.writeLog( C_TAB + 'l_CFG_CachedAccess: ' + Transform(.l_CFG_CachedAccess) )
@@ -3338,8 +3342,13 @@ Define Class c_foxbin2prg As Session
*-- ARCHIVO DE CONFIGURACIÓN PRINCIPAL
*!* Changed by: Lutz Scheffler 09.3.2021
*!* change date="{^2021-03-09,08:06:00}"
* log settings for tcCFG_File - cfg as object
SET STEP ON
.evaluateConfiguration( @tcDontShowProgress, @tcDontShowErrors, @tcNoTimestamps, @tcDebug, @tcRecompile, @tcBackupLevels ;
, @tcClearUniqueID, @tcOptimizeByFilestamp, @tc_InputFile, @lcInputFile_Type )
, @tcClearUniqueID, @tcOptimizeByFilestamp, @tc_InputFile, @lcInputFile_Type, , Vartype(tcCFG_File) = "O" )
*!* /Changed by: Lutz Scheffler 09.3.2021
*!* Changed by: Lutz Scheffler 04.3.2021
*!* change date="{^2021-03-04,13:25:00}"