SAS Packages Framework, version 20221125

## SAS Packages Framework, version 20221125

---

### Changes in `%generatePackage()` macro:
- Bug fix on the edge between cherry picking feature and loading required packages.
- Documentation updated.

---

### The following packages were regenerated with the latest version of the SAS Packages Framework:
- BasePlus [1.17.3]
- DFA [0.5.3]
- dynMacroArray [0.2.3]
- GSM [0.20.3]
- macroArray [1.0.3]
- SQLinDS [2.2.3]
This commit is contained in:
Bartosz Jablonski
2022-11-26 23:49:20 +01:00
parent b4314c03e3
commit f59c2a4893
27 changed files with 136 additions and 129 deletions

View File

@@ -42,7 +42,7 @@
- to unload, or
- to generate SAS packages.
Version 20221121.
Version 20221125.
See examples below.
A SAS package is a zip file containing a group of files
@@ -86,7 +86,7 @@
*/
)/secure
/*** HELP END ***/
des = 'Macro to load SAS package, version 20221121. Run %loadPackage() for help info.'
des = 'Macro to load SAS package, version 20221125. Run %loadPackage() for help info.'
minoperator
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
@@ -102,7 +102,7 @@ minoperator
%put ### This is short help information for the `loadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to *load* SAS packages, version `20221121` #;
%put # Macro to *load* SAS packages, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -329,7 +329,7 @@ minoperator
*/
)/secure
/*** HELP END ***/
des = 'Macro to unload SAS package, version 20221121. Run %unloadPackage() for help info.'
des = 'Macro to unload SAS package, version 20221125. Run %unloadPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -344,7 +344,7 @@ des = 'Macro to unload SAS package, version 20221121. Run %unloadPackage() for h
%put ### This is short help information for the `unloadPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to unload SAS packages, version `20221121` #;
%put # Macro to unload SAS packages, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -489,7 +489,7 @@ des = 'Macro to unload SAS package, version 20221121. Run %unloadPackage() for h
*/
)/secure
/*** HELP END ***/
des = 'Macro to get help about SAS package, version 20221121. Run %helpPackage() for help info.'
des = 'Macro to get help about SAS package, version 20221125. Run %helpPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -504,7 +504,7 @@ des = 'Macro to get help about SAS package, version 20221121. Run %helpPackage()
%put ### This is short help information for the `helpPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get help about SAS packages, version `20221121` #;
%put # Macro to get help about SAS packages, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -634,7 +634,7 @@ TODO:
- add MD5(&packageName.) value hash instead "package" word in filenames [DONE]
*/
/* Macros to install SAS packages, version 20221121 */
/* Macros to install SAS packages, version 20221125 */
/* 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
@@ -657,7 +657,7 @@ TODO:
/secure
minoperator
/*** HELP END ***/
des = 'Macro to install SAS package, version 20221121. Run %%installPackage() for help info.'
des = 'Macro to install SAS package, version 20221125. Run %%installPackage() for help info.'
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
%do;
@@ -672,7 +672,7 @@ des = 'Macro to install SAS package, version 20221121. Run %%installPackage() fo
%put ### This is short help information for the `installPackage` macro #;
%put #--------------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to install SAS packages, version `20221121` #;
%put # Macro to install SAS packages, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1101,7 +1101,7 @@ des = 'Macro to install SAS package, version 20221121. Run %%installPackage() fo
/* Macro to list SAS packages in packages folder.
Version 20221121
Version 20221125
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1122,7 +1122,7 @@ des = 'Macro to install SAS package, version 20221121. Run %%installPackage() fo
/*+listPackages+*/
%macro listPackages()/secure PARMBUFF
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20221121.'
des = 'Macro to list SAS packages from `packages` fileref, type %listPackages(HELP) for help, version 20221125.'
;
%if %QUPCASE(&SYSPBUFF.) = %str(%(HELP%)) %then
%do;
@@ -1137,7 +1137,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 `20221121` #;
%put # Macro to list available SAS packages, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -1287,7 +1287,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
/* Macro to generate SAS packages.
Version 20221121
Version 20221125
A SAS package is a zip file containing a group
of SAS codes (macros, functions, data steps generating
@@ -1324,7 +1324,7 @@ options ls = &ls_tmp. ps = &ps_tmp. &notes_tmp. &source_tmp.;
default value 1 means "delete tests work" */
)/ secure minoperator
/*** HELP END ***/
des = 'Macro to generate SAS packages, version 20221121. Run %generatePackage() for help info.'
des = 'Macro to generate SAS packages, version 20221125. Run %generatePackage() for help info.'
;
%if (%superq(filesLocation) = ) OR (%qupcase(&filesLocation.) = HELP) %then
%do;
@@ -1339,7 +1339,7 @@ des = 'Macro to generate SAS packages, version 20221121. Run %generatePackage()
%put ### This is short help information for the `generatePackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to generate SAS packages, version `20221121` #;
%put # Macro to generate SAS packages, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -2199,11 +2199,16 @@ data _null_;
put ' %put NOTE- ;';
put ' %put NOTE- *** START ***; ' /;
put '%if NOT (%str(*)=%superq(cherryPick)) %then %do; '; /* Cherry Pick test0 start */
put ' %put NOTE- ;' /
' %put NOTE- *** Cherry Picking in action. ***; ' /
' %put NOTE- ;' ;
put '%end; '; /* Cherry Pick test0 end */
put 'data _null_; ';
put ' if NOT ("*"=symget("cherryPick")) then do; '; /* Cherry Pick test0 start */
put ' put "NOTE- "; ' /
' put "NOTE: *** Cherry Picking ***"; ' /
' put "NOTE- Cherry Picking in action!! Be advised that"; ' /
' put "NOTE- dependencies/required packages will not be loaded!"; ' /
' put "NOTE- "; ' ;
put ' end; ' ; /* Cherry Pick test0 end */
put 'run; ';
put '%include ' " &_PackageFileref_.(packagemetadata.sas) / nosource2; " /; /* <- copied also to loadPackage macro */
@@ -2288,9 +2293,9 @@ data _null_;
length packageReqPackages $ 32767;
packageReqPackages = lowcase(symget('packageReqPackages'));
put '%if (%str(*)=%superq(cherryPick)) %then %do; /* test for Cherry Picking */ ';
/* try to load required packages */
put 'data _null_ ; ';
put ' if "*" NE symget("cherryPick") then do; put "NOTE: No required packages loading."; stop; end; ';
put ' length req name $ 64 vers verR $ 24 versN verRN 8 SYSloadedPackages $ 32767; ';
put ' if SYMEXIST("SYSloadedPackages") = 1 and SYMGLOBL("SYSloadedPackages") = 1 then ';
put ' do; ';
@@ -2344,7 +2349,8 @@ data _null_;
/* test if required packages are loaded */
put 'data _null_ ; ';
put ' length req name $ 64 vers verR $ 24 versN verRN 8 SYSloadedPackages $ 32767; ';
put ' if "*" NE symget("cherryPick") then do; put "NOTE: No required packages checking."; stop; end; ';
put ' length req name $ 64 vers verR $ 24 versN verRN 8 SYSloadedPackages $ 32767; ';
put ' if SYMEXIST("SYSloadedPackages") = 1 and SYMGLOBL("SYSloadedPackages") = 1 then ';
put ' do; ';
put ' do until(EOF); ';
@@ -2402,13 +2408,6 @@ data _null_;
put ' end; ';
put ' stop; ';
put 'run; ';
put '%end; ';
put '%else %do; ';
put ' %put NOTE- ; ';
put ' %put NOTE- Cherry Picking in action!! Be advised that; ';
put ' %put NOTE- dependencies/required packages will not be loaded!; ';
put '%end; ';
%end;
%if (%superq(packageRequired) ne )
@@ -3160,7 +3159,7 @@ data _null_;
put ' end ; ';
%end;
put 'put "***"; put "* SAS package generated by generatePackage, version 20221121 *"; put "***";';
put 'put "***"; put "* SAS package generated by generatePackage, version 20221125 *"; put "***";';
put 'run; ' /;
@@ -4024,7 +4023,7 @@ TODO: (in Polish)
*/
)/secure
/*** HELP END ***/
des = 'Macro to load multiple SAS packages at one run, version 20221121. Run %loadPackages() for help info.'
des = 'Macro to load multiple SAS packages at one run, version 20221125. Run %loadPackages() for help info.'
parmbuff
;
%if (%superq(packagesNames) = ) OR (%qupcase(&packagesNames.) = HELP) %then
@@ -4040,7 +4039,7 @@ parmbuff
%put ### This is short help information for the `loadPackageS` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro wrapper for the loadPackage macro, version `20221121` #;
%put # Macro wrapper for the loadPackage macro, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -4137,7 +4136,7 @@ parmbuff
hashing_file() function, SAS 9.4M6 */
)/secure
/*** HELP END ***/
des = 'Macro to verify SAS package with the hash digest, version 20221121. Run %verifyPackage() for help info.'
des = 'Macro to verify SAS package with the hash digest, version 20221125. Run %verifyPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -4152,7 +4151,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20221121. Run %
%put ### This is short help information for the `verifyPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to verify SAS package with it hash digest, version `20221121` #;
%put # Macro to verify SAS package with it hash digest, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -4323,7 +4322,7 @@ des = 'Macro to verify SAS package with the hash digest, version 20221121. Run %
*/
)/secure
/*** HELP END ***/
des = 'Macro to preview content of a SAS package, version 20221121. Run %previewPackage() for help info.'
des = 'Macro to preview content of a SAS package, version 20221125. Run %previewPackage() for help info.'
;
%if (%superq(packageName) = ) OR (%qupcase(&packageName.) = HELP) %then
%do;
@@ -4338,7 +4337,7 @@ des = 'Macro to preview content of a SAS package, version 20221121. Run %preview
%put ### This is short help information for the `previewPackage` macro #;
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Macro to get previwe of a SAS packages, version `20221121` #;
%put # Macro to get previwe of a SAS packages, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -4465,7 +4464,7 @@ des = 'Macro to preview content of a SAS package, version 20221121. Run %preview
when empty the "packages" value is used */
)/secure
/*** HELP END ***/
des = 'Macro to list directories pointed by "packages" fileref, version 20221121. Run %extendPackagesFileref(HELP) for help info.'
des = 'Macro to list directories pointed by "packages" fileref, version 20221125. Run %extendPackagesFileref(HELP) for help info.'
;
%if %QUPCASE(&packages.) = HELP %then
@@ -4481,7 +4480,7 @@ des = 'Macro to list directories pointed by "packages" fileref, version 20221121
%put ### This is short help information for the `extendPackagesFileref` macro #;
%put #-----------------------------------------------------------------------------------------#;;
%put # #;
%put # Macro to list directories pointed by 'packages' fileref, version `20221121` #;
%put # Macro to list directories pointed by 'packages' fileref, version `20221125` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;