SAS Packages Framework, version 20240415

SAS Packages Framework, version 20240415

Features:

- In the `%generatePackage()` macro, when `markdownDoc=` parameters is used, package files can be "excluded" from being used to produce documentation markdown file.

- Documentation updated.
This commit is contained in:
Bart Jablonski
2024-04-15 19:24:07 +02:00
parent 7f97b47a21
commit 62fd354c6d
15 changed files with 114 additions and 76 deletions

View File

@@ -3,7 +3,7 @@
Macro to generate SAS packages.
Version 20231210
Version 20240415
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -43,7 +43,7 @@
file name be created */
)/ secure minoperator
/*** HELP END ***/
des = 'Macro to generate SAS packages, version 20231210. Run %generatePackage() for help info.'
des = 'Macro to generate SAS packages, version 20240415. Run %generatePackage() for help info.'
;
%if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then
%do;
@@ -58,7 +58,7 @@ des = 'Macro to generate SAS packages, version 20231210. Run %generatePackage()
%put ### This is short help information for the `generatePackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to generate SAS packages, version `20231210` #;
%put # Macro to generate SAS packages, version `20240415` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -854,7 +854,7 @@ title6 "MD5 hashed fileref of package lowcase name: &_PackageFileref_.";
title8 "Required SAS packages: %qsysfunc(compress(%superq(packageReqPackages),%str(%'%")))" ; /* " */
%end;
footnote1 "SAS Packages Framework, version 20231210";
footnote1 "SAS Packages Framework, version 20240415";
proc print data = &filesWithCodes.(drop=base folderRef fileRef rc folderid _abort_ fileId additionalContent);
run;
@@ -1575,7 +1575,7 @@ data _null_;
%end;
put +(-1) '`.;''' /
' !! '' %put The macro generated: '' !! put(dtCASLudf, E8601DT19.-L) !! ";"' /
' !! '' %put with the SAS Packages Framework version 20231210.;''' /
' !! '' %put with the SAS Packages Framework version 20240415.;''' /
' !! '' %put ****************************************************************************;''' /
' !! '' %GOTO theEndOfTheMacro;''' /
' !! '' %end;''' ;
@@ -1740,7 +1740,7 @@ data _null_;
%end;
put +(-1) '`.; '' !!' /
''' %put The macro generated: ''' " !! put(dtIML, E8601DT19.-L) !! " '''; '' !!' /
''' %put with the SAS Packages Framework version 20231210.; '' !! ' /
''' %put with the SAS Packages Framework version 20240415.; '' !! ' /
''' %put ****************************************************************************; '' !! ' /
''' %GOTO theEndOfTheMacro; '' !! ' /
''' %end; '' !! ' /
@@ -2527,7 +2527,7 @@ data _null_;
%end;
put 'put " " / @3 "--------------------------------------------------------------------" / " ";'
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20231210`*";'
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20240415`*";'
/ 'put " " / @3 "--------------------------------------------------------------------";';
put 'run; ' /;
@@ -3563,7 +3563,7 @@ data &filesWithCodes.markdown;
%end;
put " " / "--------------------------------------------------------------------" / " "
/ "*SAS package generated by SAS Package Framework, version `20231210`*"
/ "*SAS package generated by SAS Package Framework, version `20240415`*"
/ " " / "--------------------------------------------------------------------" / " ";
put "# The `&packageName.` package content";
@@ -3573,7 +3573,26 @@ data &filesWithCodes.markdown;
/* content is created during package creation */
set &filesWithCodes. end = EOFDS nobs = NOBS curobs = CUROBS;
if upcase(type) in: ('TEST') then continue; /* exclude tests */
/*
To exclude file from being added to the documentation
insert the "excluding" text(see below) as a comment
in the FIRST line of the file.
Do not add spaces.
For each file the first line is read in and checked.
*/
length _FILEVARPATH_ $ 4096;
_FILEVARPATH_=catx("/",base,folder,file);
infile _dummy_ FILEVAR=_FILEVARPATH_;
input;
if strip(_infile_) IN: (
'/*##DoNotUse4Documentation##*/'
'/*##ExcludeFromDocumentation##*/'
'/*##ExcludeFromMarkdownDoc##*/'
)
then continue; /* exclude file from documentation */
type2=type;
length link $ 256;
link=catx("-",compress(fileshort,,"KAD"),type,CUROBS);