SAS Packages Framework, version 20251228

SAS Packages Framework, version `20251228`:

Two new parameters were added to the `%generatePackage()`:
- `buildLocation=`,
- `archLocation=`.

The `easyArch=` option is independent.

Three technical sub-macros were extracted from the `%generatePackage()`.

Minor code housekeeping.

Documentation updated.

---

Code cleaning and new parameters are results of collaboration and discussion with Ken Nakamatsu (https://github.com/k-nkmt). Thanks Ken!
This commit is contained in:
Bart Jablonski
2025-12-29 09:01:13 +01:00
parent 76bd106e20
commit ec77a30477
23 changed files with 3289 additions and 2978 deletions

View File

@@ -8,12 +8,12 @@
,nobs=0 /* technical parameter */
)
/*** HELP END ***/
/ des = 'Utility macro to split "one big" code into multiple files for a SAS package, version 20251221. Run %splitCodeForPackage() for help info.'
/ des = 'Utility macro to split "one big" code into multiple files for a SAS package, version 20251228. Run %splitCodeForPackage() for help info.'
;
%if (%superq(codeFile) = ) OR (%qupcase(&codeFile.) = HELP) %then
%do;
%local options_tmp ;
%let options_tmp = ls=%sysfunc(getoption(ls))ps=%sysfunc(getoption(ps))
%let options_tmp = ls=%sysfunc(getoption(ls)) ps=%sysfunc(getoption(ps))
%sysfunc(getoption(notes)) %sysfunc(getoption(source))
msglevel=%sysfunc(getoption(msglevel))
;
@@ -24,7 +24,7 @@
%put #-------------------------------------------------------------------------------#;
%put # #;
%put # Utility macro to *split* single file with SAS package code into multiple #;
%put # files with separate snippets, version `20251221` #;
%put # files with separate snippets, version `20251228` #;
%put # #;
%put # A SAS package is a zip file containing a group #;
%put # of SAS codes (macros, functions, data steps generating #;
@@ -69,15 +69,15 @@
%put ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~sas;
%put ;
%put %nrstr( /)%nrstr(*##$##-code-block-start-##$## 01_macro(abc) */ );
%put %nrstr( %%macro abc(); );
%put %nrstr( %%)%nrstr(macro abc(); );
%put %nrstr( %%put I am "abc".; );
%put %nrstr( %%mend abc; );
%put %nrstr( %%)%nrstr(mend abc; );
%put %nrstr( /)%nrstr(*##$##-code-block-end-##$## 01_macro(abc) */ );
%put ;
%put %nrstr( /)%nrstr(*##$##-code-block-start-##$## 01_macro(efg) */ );
%put %nrstr( %%macro efg(); );
%put %nrstr( %%)%nrstr(macro efg(); );
%put %nrstr( %%put I am "efg".; );
%put %nrstr( %%mend efg; );
%put %nrstr( %%)%nrstr(mend efg; );
%put %nrstr( /)%nrstr(*##$##-code-block-end-##$## 01_macro(efg) */ );
%put ;
%put %nrstr( proc FCMP outlib=work.f.p; );
@@ -400,7 +400,7 @@ options nomprint nosymbolgen nomlogic notes source ls=MAX ps=MAX msglevel=N ;
*/
if firstLine[j] then
do;
put '/* File generated with help of SAS Packages Framework, version 20251221. */';
put '/* File generated with help of SAS Packages Framework, version 20251228. */';
firstLine[j]=0;
end;
put _infile_;