ANT su AS400 - seconda puntata

In un precedente post ho parlato della configurazione di ANT su AS400. Manca ora l'indicazione di come richamare ANT (ma la cosa vale per un qualsiasi script QSH) dall'interno di un programma CL.
Il comando QSH (o QSH) se invocato senza parametri apre una sessione QSH interattiva. Come abbiamo visto l'ambiente di tale sessione viene inizializzato tramite il file /etc/profile, da un eventualmente file .profile presente nella home dell'utente e dal file indicato nella variabile di ambiente ENV.
A QSH possiamo passare anche un comando da eseguire. In questo caso, però, gli script di inizializzazione vengono ignorati, ad eccezione di quello indicato nella variabile ENV. Per far funzionare il tutto dobbiamo quindi scrivere in un CL:

ADDENVVAR  ENVVAR(ENV) VALUE('/etc/profile') REPLACE(*YES)
QSH ('cd /my/dir/with/build; ant')

ANT su AS400

AntMi sono trovato a dover usare ANT su AS400 tramite QShell. Per poter far funzionare questo strumento in modo corretto, dopo aver copiato il contenuto di una installazione standard di ANT in una qualsiasi cartella dell'Integrated File System di AS400 (nel nostro esempio /pippo/ant), è necessario immettere qualche piccola configurazione nel file /ect/profile.
E' possibile modificare o creare ex novo tale file ad esempio tramite il comando EDTF '/etc/profile', impostandolo quindi in un modo simile al seguente:

#Modificare l'impostazione seguente con la versione voluta di JDK
export JAVA_HOME=/QIBM/ProdData/Java400/jdk14      

export ANT_HOME=/pippo/ant
export PATH=:$ANT_HOME/bin:$PATH  

#Non c'entra con ANT, ma diamo un aspetto migliore al promt QSH
PS1='$PWD'\>

QShell su AS400 - Elenco oggetti in una libreria per dimensione

Lo strumento QSH (QShell interpreter) su AS400 ha enormi possibilità.
Per esempio ecco un comando per generare una stampa contenente l'elenco degli oggetti in una libreria ordinati per dimensione:

QSH CMD('ls -al /qsys.lib/NOMELIBRERIA.lib | grep .FILE | sort +4 -r | RFile -wQ QSYSPRT')