Recommend Me


Lundi 19 janvier 2009

soapUI pour Mac

Classé dans : Java, MacOSX, Tout et rien — greg @ 20:42

MAJ — Désolé, j’avais oublié de vous mettre les liens de téléchargement :

Il y a quelque mois, je vous proposais d’utiliser soapUI sous forme de .app sur Mac.

Depuis nous sommes passés à la version 2.5. Et je n’avais pas pris le temps de refaire le .app. En effet jusqu’à maintenant j’utilisais le Jar Bundler de MacOSX pour générer des .app à partir de .jar. Cette solution à l’avantage d’être simple, malheureusement il n’est pas possible de sauvegarder un quelconque projet et il faut donc tout refaire à chaque fois.

Je me suis donc amusé à écrire un petit script shell qui permet facilement de recréer le .app de soapUI :

#!/bin/bash
# Make SOAP-UI.app

MKSOAP_UI_APP_VERSION="0.0.1"

echo "soapui.app generator for Mac"
echo "Version "$MKSOAP_UI_APP_VERSION
echo "Copyright (c)2009 - Gregoire Lejeune"
echo

echo -n "Chemin d’accès au répertoire de soap-ui : "
read SUI_PATH

echo -n "Version : "
read SOAPUI_VERSION

rm -rf SoapUI.app

# Creation de l‘arborescence du .app
mkdir -p SoapUI.app/Contents/MacOS
mkdir -p SoapUI.app/Contents/Resources/Java

# Copy de JavaApplicationStub
cp /System/Library/Frameworks/JavaVM.framework/Versions/Current/Resources/MacOS/JavaApplicationStub SoapUI.app/Contents/MacOS

# Creation du PkgInfo
echo "APPL????" > SoapUI.app/Contents/PkgInfo

# Mise en place du Info.plist…
cat <<EOF > SoapUI.app/Contents/Info.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
  <key>CFBundleName</key>
  <string>SoapUI</string>
  <key>CFBundleVersion</key>
  <string>$SOAPUI_VERSION</string>
  <key>CFBundleAllowMixedLocalizations</key>
  <string>true</string>
  <key>CFBundleExecutable</key>
  <string>JavaApplicationStub</string>
  <key>CFBundleDevelopmentRegion</key>
  <string>English</string>
  <key>CFBundlePackageType</key>
  <string>APPL</string>
  <key>CFBundleSignature</key>
  <string>????</string>
  <key>CFBundleInfoDictionaryVersion</key>
  <string>6.0</string>
  <key>CFBundleIconFile</key>
  <string>soapui.icns</string>
  <key>Java</key>
  <dict>
    <key>MainClass</key>
    <string>com.eviware.soapui.SoapUI</string>
    <key>JVMVersion</key>
    <string>1.5+</string>
    <key>ClassPath</key>
      <array>
EOF

# …et copie des fichiers .jar
for f in $SUI_PATH/lib/* $SUI_PATH/bin/*.jar
do
  FILENAME=`basename $f`
  cp $f SoapUI.app/Contents/Resources/Java
  if [ "${FILENAME##*.}" = "jar" ]
  then
    echo "      <string>\$JAVAROOT/$FILENAME</string>" >> SoapUI.app/Contents/Info.plist
  fi
done

cat <<EOG >> SoapUI.app/Contents/Info.plist
      </array>
    <key>Properties</key>
    <dict>
      <key>apple.laf.useScreenMenuBar</key>
      <string>true</string>
    </dict>
  </dict>
</dict>
</plist>
EOG

# Ajout de l’icone
cp soapui.icns SoapUI.app/Contents/Resources

# Ajout de l‘attribut "bundle" pour le .app
/Developer/Tools/SetFile -a B SoapUI.app

# That’s all folks !
echo "Done."

Après le lancement de ce script, on vous demandera de donne le chemin vers le répertoire des binaires (jars) de soapUI et le numéro de version.

Pour l’icône, j’ai pris le .ico dans les sources et je l’ai passé à img2icns.

• • •

2 commentaires »

  1. [...] compris, je ne suis pas conquis par leur solution et j’ai donc continué à utiliser la mienne dont vous pouvez télécharger le [...]

    Ping par algo::rithmique — Jeudi 20 août 2009 @ 14:46
  2. [...] compris, je ne suis pas conquis par leur solution et j’ai donc continué à utiliser la mienne dont vous pouvez télécharger le [...]

    Ping par SoapUI-3.0.1.app | algo::rithmique — Jeudi 20 août 2009 @ 14:54

RSS des commentairesTrackBack URI

Laisser un commentaire

You must be logged in to post a comment.

Powered by: WordPress • Template adapted from the Simple Green' Wench theme - RSS