...
On peut alors lancer la tâche ant "portlet.deploy" qui va assembler dan sun dans un nouveau web.xml le web.xml livré dans le WAR avec le fichier portlet.xml.
...
Voici la commande à lancer (depuis l'environnement Esup-package):
| Bloc de code |
|---|
ant portlet.deploy -DportletApp=...monFichierWar... |
...
- Si ce n'est déjà fait, mettre en place un espace de BUILD qui soit différent de la production.
- Créer dans cet espace un répertoire spécifique pour l'application (ici nommé annuaire2). Et dans celui-ci un répertoire "custom".
- Y construire une hiérarchie de répertoires contenant vos fichiers personnalisés. En voici un exemple:
Dans le répertoire WEB-INF, vous aurez le "porlet.xml" personnalisé.
Dans le répertoire properties, vous aurez le fichier config.properties de l'application personnalisé.
- Depuis ce répertoire, lancer un script avec les commandes suivantes (ici avec l'application esup-annuaire2):
Bloc de code svn co https://subversion.cru.fr/esup-annuaire2/trunk/esup-annuaire2 zip -r packages/esup-annuaire2.zip esup-annuaire2/ rm -rf esup-annuaire2/
- puis lancer un autre script avec les commandes suivantes:
Commentaires:Bloc de code ant init cd=`pwd` cd annuaire2 mvn clean install cd esup-annuaire2-web-jsf-mixed/ mvn -DProduction=true clean package cd /home/tomcat/portail/BUILD/esup-package ant portlet.deploy -DportletApp=/home/tomcat/portail/BUILD/applis/annuaire2/annuaire2/esup-annuaire2-web-jsf-mixed/target/esup-annuaire2-0.1.0.war cd $cd
La cible "init" va partir du .zip construit par le script précédent pour y incorporer les fichiers que vous avec personnalisés, elle est constituée ainsi:
Les propriétés utilisées sont celles-ci:Bloc de code <target name="init" depends="unzip"> <copy overwrite="true" todir="${appli.base}/"> <fileset dir="custom" includes="**/*" /> </copy> </target> <target name="unzip"> <delete dir="${appli.base}"/> <delete dir="${appli.tmp}"/> <mkdir dir="${appli.tmp}"/> <unzip src="${appli.packages}/${appli.package-name}" dest="${appli.tmp}" /> <move todir="${appli.base}/"> <fileset dir="${appli.tmp}/${appli.name-version}"/> </move> </target>
La commande Maven "clean install" va créer un répertoire "target", compiler les différents modules de l'applicationBloc de code appli.name-version=esup-annuaire2 appli.package-name=${appli.name-version}.zip appli.name=annuaire2 appli.root=/home/tomcat/portail/BUILD/applis/${appli.name} appli.base=/home/tomcat/portail/BUILD/applis/${appli.name}/${appli.name} appli.tmp=${appli.root}/temp appli.packages=${appli.root}/packages
On se place ensuite dans le module web de l'application.
La commande Maven -DProduction=true clean package réalise la construction du ficher WAR.
La suite, c'est l'assemblage dans un nouveau web.xml du web.xml livré dans le WAR avec le fichier portlet.xml.