Question

Je crée une application Eclipse RCP.

Je suis les conseils de Joel dans l'article suivant: "Les constructions quotidiennes sont ton ami":

http://www.joelonsoftware.com/articles/fog0000000023.html

J'ai donc écrit un bon script de construction qui crée un produit Eclipse RCP et exécute des tests unitaires sur le code. Tous les résultats sont ensuite distribués sur la liste du développeur (après quelques murmures). Maintenant, lors de ma prochaine étape, je souhaite créer le package d’installation que je crée normalement manuellement à l’aide du compilateur inno setup.

La question est de savoir comment je pourrais créer ce paquet automatiquement. Je suppose que je peux générer automatiquement le fichier de configuration inno à partir de ant, puis appeler le compilateur à partir de la ligne de commande, mais je ne sais pas si cela est possible.

Des conseils pour cette tâche? Peut-être que toute autre application de configuration pouvant être utilisée depuis ant?

Était-ce utile?

La solution

Bien sûr que c'est facile, le projet Inno est un fichier texte brut vous permettant même de modifier facilement le script setupper, mais je vous recommande de créer un petit fichier include séparé à l'aide de votre script. Vous pouvez y stocker des "variables". tel que version + numéro de construction que vous indiquez en début d’installation.

mettez cette ligne dans votre setupper:

#include "settings.txt"

et donnez à settings.txt quelque chose comme ça

#define myver=xxx.xxx
#define tags

Maintenant, vous n'avez plus besoin de toucher au code setupper du script de construction.

ci-dessous est un extrait de mon script de construction pour compiler le setupper. vous devez exécuter un fichier de commandes depuis ant comme ceci:

<exec dir="." executable="cmd" os="Windows NT">
  <arg line="/c build.bat"/>
</exec>

exemple de lot build.bat:

set isxpath="c:\program files\inno setup 5"
set isx=%isxpath%\iscc.exe
set iwz=myproj.iss
if not exist %isx% set errormsg=%isx% not found && goto errorhandler
%isx% "%iwz%" /O"%buildpath%" /F"MySetupper.exe" >>%logfile%
goto :eof

Autres conseils

Une autre astuce intéressante lors de l’automatisation de la construction du programme d’installation consiste à utiliser la macro de préprocesseur GetFileVersion (ISPP). Ainsi, vous ne devrez pas dupliquer les numéros de version de vos fichiers (binaires) sous forme codée en dur (comme dans le settings.txt de Tom) - le compilateur de l'installateur le lira simplement à partir des ressources de version des fichiers façon. Exemple:

#define AppName "My App"
#define SrcApp "MyApp.exe"
#define FileVerStr GetFileVersion(SrcApp)
#define StripBuild(str VerStr) Copy(VerStr, 1, RPos(".", VerStr)-1)
#define AppVerStr StripBuild(FileVerStr)

[Setup]
AppName={#AppName}
AppVersion={#AppVerStr}
AppVerName={#AppName} {#AppVerStr}
UninstallDisplayName={#AppName} {#AppVerStr}
VersionInfoVersion={#FileVerStr}
VersionInfoTextVersion={#AppVerStr}
OutputBaseFilename=MyApp-{#FileVerStr}-setup

De plus, vous pouvez transférer des symboles au compilateur via le commutateur de ligne de commande / d , par exemple:

.
iscc.exe /dSpecialEdition ...

puis les utiliser plus tard dans ifdef pour créer différents types d’installateurs (un exemple stupide suit):

[Registry]
#ifdef SpecialEdition
Root: HKLM; Subkey: Software\MyCompany\MyApp; ValueName: SpecialEdition; ValueType: dword; ValueData: 1 ...
#endif
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top