Reintegrated Thor

This commit is contained in:
Lutz
2023-12-05 12:54:31 +01:00
parent 0363d644af
commit 17c23c2733
16 changed files with 559 additions and 37 deletions

View File

@@ -0,0 +1,2 @@
#List of additional files that will be substituded when running VFPXDeployment for FoxBin2PRG
docs\ChangeLog.md

View File

@@ -0,0 +1,160 @@
@@@ Edit this template if necessary. Note the use of placeholders such as
{APPNAME} and {APPID}; they are substituted with the correct values when
the deployment process is run, so no need to edit those. Also, this file is
textmerged so some text may not appear in the generated {APPID}Version.txt.
Also, any text between @@@ and \\\ is removed.
\\\lparameters toUpdateObject
* Set the properties of the passed updater object.@@@ You likely won't need to
* edit this code. One possible change is versioning: if you want to use the
* Julian date as a minor version number, edit the AvailableVersion setting to:
*
* .AvailableVersion = '{APPNAME}-{VERSION}.{JULIAN}-update-{VERSIONDATE}'
*
* or possibly:
*
* .AvailableVersion = '{APPNAME}-{VERSION}-{JULIAN}-{VERSIONDATE}'\\\
with toUpdateObject
.VersionNumber = '{VERSION} - {VERSIONDATE}'
.AvailableVersion = '{APPNAME}-{VERSION}-update-{VERSIONDATE}'
.Notes = GetNotes()
.RegisterWithThor = GetRegisterWithThor()
endwith
return toUpdateObject
*!* procedure GetRegisterWithThor
*!* local lcCommand
*!* text to lcCommand noshow
*!* lcBase = EXECSCRIPT(_SCREEN.cThorDispatcher, 'Thor_Proc_GetFoxBin2PrgFolder')
*!* IF FILE(m.lcBase+"clean_copied_memo.prg") THEN
*!* *remove old crap
*!* DO m.lcBase+"clean_thorfolder.prg" WITH lcBase
*!* ENDIF &&FILE(m.lcBase+"clean_copied_memo.prg")
*!*
*!* DELETE FILE (m.lcBase+"clean_thorfolder.*")
*!*
*!* endtext
*!*
*!* return lcCommand
*!* endproc &&GetRegisterWithThor
* Get the notes for the project.@@@ Edit this code as necessary. If you specify
* the name of a change log file as the ChangeLog setting in ProjectSettings.txt,
* the contents of that file are substituted for the CHANGELOG placeholder so
* there's no need to edit this.\\\
procedure GetNotes
local lcNotes
text to lcNotes noshow
A 2-way conversor for Visual FoxPro 9 binary files intended to be used with SCM tools (Full or only Diff and Merge operations) or just for backup
Supported formats are: PJX, PJM, SCX, VCX, FRX, LBX, MNX, DBC, DBF, FKY, MEM
To fix a bug, this version changes the text file header. It is suggested to create all text files and commit in one step.
Developed by Fernando D. Bozzo - GitHub: https://github.com/fdbozzo/foxbin2prg
{CHANGELOG}
endtext
return lcNotes
@@@* Register the tool with Thor. This template code assumes the tool is an APP
* file named {AppID}.app, where AppID is the AppID setting in ProjectSettings.txt.
* If that isn't the case, edit the Code property as necessary.
\\\* Register the tool with Thor. Note: Thor replaces ##InstallFolder## with the
* installation path for the tool when this code is executed.
<<iif('{COMPONENT}' = 'No', '', '@@@')>>
procedure GetRegisterWithThor
local lcCommand
text to lcCommand noshow
* "{APPNAME}" is a tool created by VFPX Deployment:
* Create the tool under Thor Tools.
loThorInfo = Execscript (_Screen.cThorDispatcher, 'Thor Register=')
with loThorInfo
* Required properties.
.PRGName = 'Thor_Tool_{APPID}'
.FolderName = '##InstallFolder##'
.Prompt = '{APPNAME}'
* Optional properties.
.Description = '{APPNAME}'
* These are used to group and sort tools when they are displayed in menus or
* the Thor form.
.Category = '{CATEGORY}'
.CanRunAtStartUp = .F.
* This is the code to execute when the tool is selected.
.Code = "do ('##InstallFolder##{APPID}.app')"
* Register the tool with Thor.
llRegister = .Register()
endwith
endtext
return lcCommand
endproc &&GetRegisterWithThor
<<iif('{COMPONENT}' = 'No', '', '\\\')>><<iif('{COMPONENT}' = 'No', '@@@', '')>>
* "{APPNAME}" is a Component. No procedure GetRegisterWithThor created by VFPX Deployment
<<iif('{COMPONENT}' = 'No', '\\\', '')>>
@@@* Register the tool with Thor. This template code assumes the tool is an APP
* file named {AppID}.app, where AppID is the AppID setting in ProjectSettings.txt.
* If that isn't the case, edit the Code property as necessary.
\\\* Register the tool with Thor. Note: Thor replaces ##InstallFolder## with the
* installation path for the tool when this code is executed.
procedure GetRegisterWithThor
local lcCommand
text to lcCommand noshow
<<iif('{COMPONENT}' = 'No', '', '@@@')>>
* "{APPNAME}" is a tool created by VFPX Deployment:
* Create the tool under Thor Tools.
loThorInfo = Execscript (_Screen.cThorDispatcher, 'Thor Register=')
with loThorInfo
* Required properties.
.PRGName = 'Thor_Tool_{APPID}'
.FolderName = '##InstallFolder##'
.Prompt = '{APPNAME}'
* Optional properties.
.Description = '{APPNAME}'
* These are used to group and sort tools when they are displayed in menus or
* the Thor form.
.Category = '{CATEGORY}'
.CanRunAtStartUp = .F.
* This is the code to execute when the tool is selected.
.Code = "do ('##InstallFolder##{APPID}.app')"
* Register the tool with Thor.
llRegister = .Register()
endwith
<<iif('{COMPONENT}' = 'No', '', '\\\')>>
<<iif('{COMPONENT}' = 'No', '@@@', '')>>
* "{APPNAME}" is a Component. No code created by VFPX Deployment
<<iif('{COMPONENT}' = 'No', '\\\', '')>>
endtext
return lcCommand
*created by VFPX Deployment, <<DATETIME()>>

View File

@@ -0,0 +1,69 @@
#Folder
#.git/
#.github/
#.gitignore
#BuildProcess/
#CONFIG/
#Documentacion/
#FileName_Caps/
#INSTALLEDFILES/
#TESTS/
#ThorUpdater/
#WinMergePortable/
#data/
#docs/
#tool/
#xThorUpdater/
#to ignore
#.gitattributes
#VFP9RENU.dll*
#vfp9r.dll*
#filetypes.conf
#ignore.conf
#to move
#FoxBin2PRGVersionFile.txt
#----------------------
#Fb2P_Diff
Fb2P_Diff\Fb2P_Diff.exe||\Fb2P_Diff.exe
#FileName_Caps
\FileName_Caps.exe
\FileName_Caps.cfg
#fb2p_diff.exe
\fb2p_diff.exe
#CLEAR ALL.exe
\CLEAR ALL.exe
#Foxbin2prg
#default
\*.vbs
#config
\FOXBIN2PRG.CFG.TXT
\FOXBIN2PRG.DBF.CFG.TXT
Config\config.fpw
#prg
\foxbin2prg.exe
\foxbin2prg.ico
\foxbin2prg.jpg
#we ignore the pjx for Thor, if somebody needs it, he can clone the repo
#\foxbin2prg.pjt
#\foxbin2prg.pjx
\foxbin2prg.prg
\foxbin2prg_keywords.cdx
\foxbin2prg_keywords.dbf
\props_*.txt
\LICENSE
########
\readme.md
WinMergePortable\

View File

@@ -0,0 +1,73 @@
*ProjectSettings.txt to create Thor deployment
*See https://github.com/VFPX/VFPXDeployment/blob/main/docs/Documentation.md for help.
*Paths relative are based on git toplevel folder
*The name to show in Thor. Mandatory
AppName = FoxBin2PRG
*The ID for Thor operation. Mandatory
AppID = FoxBin2PRG
*Version number
*A string, or enter pjx to use _VFP.ActiveProject.VersionNumber or, if defined PJXFile
*SF 20230806: <20>berdenken, wie das hier und pjx und prg zusammengeht
Version = 1.0
*Component of Thor or Tool. Use No for Tool.
Component = Yes
*Remote repository on a git server. There are two ways for the remote repository.
*- the builder assumes https://github.com/VFPX/{AppId}
*- or enter the URL here (uncomment to use):
Repository = https://github.com/fdbozzo/foxbin2prg
*The changelog file. Might be merged into the {AppID}Version.txt
*The file installed as template (uncomment to use):
*ChangeLog = docs\ChangeLog.md
*Create VFPX community folders and files. Will not overwrite existing files.
*Include_VFPX = Yes
*Do not create Thor folders and files (uncomment to use):
*Include_Thor = No
* The remaining lines are options to are not mandatory uncomment the options to use *
*"Yes" to auto run FoxBin2prg (Default), else "No" to not run.
RunBin2Prg = No
*"Yes" to auto run git (Default), else "No" to not run.
RunGit = No
*The release date formatted as YYYY-MM-DD; if omitted, today
*VersionDate = 1973-09-11
*Yes (Default) to prompt for Version if not specified
*Prompt = Yes
*The category to use when adding to the Thor menu. If omitted, "Applications". only when Component is No.
*Category = {My}
*The relative path to the PJX file to compile. Omit this if that isn't required.
PJXFile = FoxBin2Prg.pjx
*The path to the APP or EXE to build from the project, with the extension
AppFile = FoxBin2Prg.exe
*Builds the project specified in PJXFile without the RECOMPILE clause.
*Recompile = No
*A comma-separated list of relative paths to which FoxBin2PRG is to be applied.
*Bin2PRGFolder = {MySource1,MySource1}
*A different name for the staging folder.
*InstalledFilesFolder = {MyInstallFolder}
*Remove all files from InstalledFiles folder if InstalledFiles.txt is given
*Clear_InstalledFiles = No
*add a gitignore to InstalledFiles directory to not add this directory to git repository
gitIgnore_InstalledFiles = Yes
*A different name for version file used to publish info on the remote server.
*A help with old projects using a different name for the version file
*VersionFile_Remote = {AppID}Version.txt