SAS Packages Framework, version 20240529

SAS Packages Framework, version `20240529`

Changes:
- aesthetic changes in log when running `%generatePackage()` macro,
- reshaped format of an automatic documentation header,
- and little bug fix for automatic documentation generation (for excluding file from documentation the `IN` operator should be used instead `IN:`).

---

BasePlus, version `1.39.0`

Changes:
- new parameter `DSout=` added in `%downloadFilesTo()` macro,
- file SHA256: `F*3C3A2050E3FF46E1FC0F936634A66FC3F294A3531EFE0A7DC9CE74F2EF17C687` for this version.
This commit is contained in:
Bart Jablonski
2024-05-29 16:34:37 +02:00
parent 73f0ba2d4c
commit b47b1fb536
17 changed files with 125 additions and 104 deletions

View File

@@ -42,7 +42,7 @@
- to unload, or
- to generate SAS packages.
Version 20240423.
Version 20240529.
See examples below.
A SAS package is a zip file containing a group of files
@@ -89,7 +89,7 @@
*/
)/secure
/*** HELP END ***/
des = 'Macro to load SAS package, version 20240423. Run %loadPackage() for help info.'
des = 'Macro to load SAS package, version 20240529. Run %loadPackage() for help info.'
minoperator
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
@@ -105,7 +105,7 @@ minoperator
%put ### This is short help information for the `loadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to *load* SAS packages, version `20240423` #;
%put # Macro to *load* SAS packages, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -360,7 +360,7 @@ minoperator
*/
)/secure
/*** HELP END ***/
des = 'Macro to unload SAS package, version 20240423. Run %unloadPackage() for help info.'
des = 'Macro to unload SAS package, version 20240529. Run %unloadPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -375,7 +375,7 @@ des = 'Macro to unload SAS package, version 20240423. Run %unloadPackage() for h
%put ### This is short help information for the `unloadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to unload SAS packages, version `20240423` #;
%put # Macro to unload SAS packages, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -524,7 +524,7 @@ des = 'Macro to unload SAS package, version 20240423. Run %unloadPackage() for h
*/
)/secure
/*** HELP END ***/
des = 'Macro to get help about SAS package, version 20240423. Run %helpPackage() for help info.'
des = 'Macro to get help about SAS package, version 20240529. Run %helpPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -539,7 +539,7 @@ des = 'Macro to get help about SAS package, version 20240423. Run %helpPackage()
%put ### This is short help information for the `helpPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get help about SAS packages, version `20240423` #;
%put # Macro to get help about SAS packages, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -678,7 +678,7 @@ TODO:
*/
/*+installPackage+*/
/* Macros to install SAS packages, version 20240415 */
/* Macros to install SAS packages, version 20240529 */
/* A SAS package is a zip file containing a group of files
with SAS code (macros, functions, data steps generating
data, etc.) wrapped up together and %INCLUDEed by
@@ -701,7 +701,7 @@ TODO:
/secure
minoperator
/*** HELP END ***/
des = 'Macro to install SAS package, version 20240423. Run %%installPackage() for help info.'
des = 'Macro to install SAS package, version 20240529. Run %%installPackage() for help info.'
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
%do;
@@ -716,7 +716,7 @@ des = 'Macro to install SAS package, version 20240423. Run %%installPackage() fo
%put ### This is short help information for the `installPackage` macro #;
%put #--------------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to install SAS packages, version `20240423` #;
%put # Macro to install SAS packages, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1170,7 +1170,7 @@ des = 'Macro to install SAS package, version 20240423. Run %%installPackage() fo
Macro to list SAS packages in packages folder.
Version 20240415
Version 20240529
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1189,7 +1189,7 @@ des = 'Macro to install SAS package, version 20240423. Run %%installPackage() fo
%macro listPackages()/secure PARMBUFF
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20240423.'
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20240529.'
;
%if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then
%do;
@@ -1204,7 +1204,7 @@ des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HE
%put ### This is short help information for the `listPackages` macro #;
%put #-----------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to list available SAS packages, version `20240423` #;
%put # Macro to list available SAS packages, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1355,7 +1355,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
Macro to generate SAS packages.
Version 20240415
Version 20240529
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1395,7 +1395,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
file name be created */
)/ secure minoperator
/*** HELP END ***/
des = 'Macro to generate SAS packages, version 20240423. Run %generatePackage() for help info.'
des = 'Macro to generate SAS packages, version 20240529. Run %generatePackage() for help info.'
;
%if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then
%do;
@@ -1410,7 +1410,7 @@ des = 'Macro to generate SAS packages, version 20240423. Run %generatePackage()
%put ### This is short help information for the `generatePackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to generate SAS packages, version `20240423` #;
%put # Macro to generate SAS packages, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1986,6 +1986,7 @@ data &filesWithCodes.;
put;
_abort_ + 1;
end;
length fileshort $ 256;
fileshort = substr(file, 1, length(file) - 4); /* filename.sas -> filename */
if strip(reverse(file)) in: ('sas.') then output; /* ignore not ".sas" files */
@@ -2206,7 +2207,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 20240423";
footnote1 "SAS Packages Framework, version 20240529";
proc print data = &filesWithCodes.(drop=base folderRef fileRef rc folderid _abort_ fileId additionalContent);
run;
@@ -2927,7 +2928,7 @@ data _null_;
%end;
put +(-1) '`.;''' /
' !! '' %put The macro generated: '' !! put(dtCASLudf, E8601DT19.-L) !! ";"' /
' !! '' %put with the SAS Packages Framework version 20240423.;''' /
' !! '' %put with the SAS Packages Framework version 20240529.;''' /
' !! '' %put ****************************************************************************;''' /
' !! '' %GOTO theEndOfTheMacro;''' /
' !! '' %end;''' ;
@@ -3092,7 +3093,7 @@ data _null_;
%end;
put +(-1) '`.; '' !!' /
''' %put The macro generated: ''' " !! put(dtIML, E8601DT19.-L) !! " '''; '' !!' /
''' %put with the SAS Packages Framework version 20240423.; '' !! ' /
''' %put with the SAS Packages Framework version 20240529.; '' !! ' /
''' %put ****************************************************************************; '' !! ' /
''' %GOTO theEndOfTheMacro; '' !! ' /
''' %end; '' !! ' /
@@ -3483,7 +3484,7 @@ data _null_;
if not (upcase(type)=:'MACRO') then continue;
put ' %put NOTE- Element of type ' type 'generated from the file "' file +(-1) '" will be deleted;';
put ' %put NOTE- ;';
put ' ,"' fileshort upcase32. '"' /;
put ' ,"' fileshort upcase64. '"' /;
end;
/**/
put ' )';
@@ -3501,7 +3502,7 @@ data _null_;
if not (upcase(type)=:'FORMAT') then continue;
put ' %put NOTE- Element of type ' type 'generated from the file "' file +(-1) '" will be deleted;';
put ' %put NOTE- ;';
put ' ,"' fileshort upcase32. '"' /;
put ' ,"' fileshort upcase64. '"' /;
isFormat + 1;
end;
put ' )';
@@ -3741,6 +3742,7 @@ data _null_;
set &filesWithCodes. end = EOFDS nobs = NOBS;
if upcase(type) in: ('TEST') then continue; /* exclude tests */
length fileshort2 $ 256;
select;
when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" );
when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'");
@@ -3879,7 +3881,7 @@ data _null_;
%end;
put 'put " " / @3 "--------------------------------------------------------------------" / " ";'
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20240423`*";'
/ 'put @3 "*SAS package generated by SAS Package Framework, version `20240529`*";'
/ 'put " " / @3 "--------------------------------------------------------------------";';
put 'run; ' /;
@@ -3916,6 +3918,7 @@ data _null_;
set &filesWithCodes. end = EOFDS;
if upcase(type) in: ('TEST') then continue; /* exclude tests */
length fileshort2 $ 256;
select;
when (upcase(type) in ("DATA" "LAZYDATA")) fileshort2 = cats("'", fileshort, "'" );
when (upcase(type) =: "MACRO" ) fileshort2 = cats('''%', fileshort, "()'");
@@ -4856,11 +4859,11 @@ data &filesWithCodes.markdown;
packageHashC=symget("packageHashC");
drop package:;
put " " / "---" / " "
put " " / 64*"-" / " "
/ ' *' packageTitle +(-1)'* '
/ " " / 64*"-" / " "
/ "### Version information:"
/ " "
/ ' *' packageTitle +(-1)'* '
/ " "
/ "- Package: &packageName."
/ "- Version: &packageVersion."
/ "- Generated: " packageGenerated
@@ -4915,7 +4918,7 @@ data &filesWithCodes.markdown;
%end;
put " " / "--------------------------------------------------------------------" / " "
/ "*SAS package generated by SAS Package Framework, version `20240423`*"
/ "*SAS package generated by SAS Package Framework, version `20240529`*"
/ " " / "--------------------------------------------------------------------" / " ";
put "# The `&packageName.` package content";
@@ -4938,7 +4941,7 @@ data &filesWithCodes.markdown;
_FILEVARPATH_=catx("/",base,folder,file);
infile _dummy_ FILEVAR=_FILEVARPATH_;
input;
if strip(_infile_) IN: (
if strip(_infile_) IN (
'/*##DoNotUse4Documentation##*/'
'/*##ExcludeFromDocumentation##*/'
'/*##ExcludeFromMarkdownDoc##*/'
@@ -4948,6 +4951,7 @@ data &filesWithCodes.markdown;
type2=type;
length link $ 256;
link=catx("-",compress(fileshort,,"KAD"),type,CUROBS);
length fileshort $ 256;
select;
when (upcase(type) =: "MACRO" ) fileshort2 = cats('`%', fileshort, "()`");
when (upcase(type) =: "FORMAT" ) do; fileshort2 = cats("`$", fileshort, ".`"); type2='format/informat'; end;
@@ -5191,7 +5195,7 @@ TODO: (in Polish)
*/
)/secure
/*** HELP END ***/
des = 'Macro to load multiple SAS packages at one run, version 20240423. Run %loadPackages() for help info.'
des = 'Macro to load multiple SAS packages at one run, version 20240529. Run %loadPackages() for help info.'
parmbuff
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
@@ -5207,7 +5211,7 @@ parmbuff
%put ### This is short help information for the `loadPackageS` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro wrapper for the loadPackage macro, version `20240423` #;
%put # Macro wrapper for the loadPackage macro, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5304,7 +5308,7 @@ parmbuff
hashing_file() function, SAS 9.4M6 */
)/secure
/*** HELP END ***/
des = 'Macro to verify SAS package with the hash digest, version 20240423. Run %verifyPackage() for help info.'
des = 'Macro to verify SAS package with the hash digest, version 20240529. Run %verifyPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -5319,7 +5323,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240423. Run %
%put ### This is short help information for the `verifyPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to verify SAS package with it hash digest, version `20240423` #;
%put # Macro to verify SAS package with it hash digest, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5498,7 +5502,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20240423. Run %
*/
)/secure
/*** HELP END ***/
des = 'Macro to preview content of a SAS package, version 20240423. Run %previewPackage() for help info.'
des = 'Macro to preview content of a SAS package, version 20240529. Run %previewPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -5513,7 +5517,7 @@ des = 'Macro to preview content of a SAS package, version 20240423. Run %preview
%put ### This is short help information for the `previewPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get preview of a SAS packages, version `20240423` #;
%put # Macro to get preview of a SAS packages, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5640,7 +5644,7 @@ des = 'Macro to preview content of a SAS package, version 20240423. Run %preview
when empty the "packages" value is used */
)/secure
/*** HELP END ***/
des = 'Macro to list directories pointed by "packages" fileref, version 20240423. Run %extendPackagesFileref(HELP) for help info.'
des = 'Macro to list directories pointed by "packages" fileref, version 20240529. Run %extendPackagesFileref(HELP) for help info.'
;
%if %QUPCASE(&packages.) = HELP %then
@@ -5656,7 +5660,7 @@ des = 'Macro to list directories pointed by "packages" fileref, version 20240423
%put ### This is short help information for the `extendPackagesFileref` macro #;
%put #-----------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to list directories pointed by 'packages' fileref, version `20240423` #;
%put # Macro to list directories pointed by 'packages' fileref, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -5757,7 +5761,7 @@ filename packages list;
is provided in required version */
)/secure
/*** HELP END ***/
des = 'Macro to load additional content for a SAS package, version 20240423. Run %loadPackageAddCnt() for help info.'
des = 'Macro to load additional content for a SAS package, version 20240529. Run %loadPackageAddCnt() for help info.'
minoperator
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
@@ -5773,7 +5777,7 @@ minoperator
%put ### This is short help information for the `loadPackageAddCnt` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to *load* additional content for a SAS package, version `20240423` #;
%put # Macro to *load* additional content for a SAS package, version `20240529` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;