プロダクト(ソフトウェア)に依存関係を持たせる

細かい部分に関しては、こちらを参照してください。

  1. スタックファイルを定義する
    <?xml version="1.0" encoding="Shift_JIS"?>
    <!DOCTYPE stack PUBLIC
      "-//OpenStandia/Installer//DTD Stack Configuration 1.0//EN"
      "http://openstandia.sourceforge.jp/dtd/stack_1_0.dtd">
    
    <stack>
      <application>
        <name>サンプルスタック</name>
        <ver>1.0.0.0</ver>
        <description>スタックのサンプルです。</description>
        <properties>
          <products-dir>products/samples</products-dir>
        </properties>
      </application>
      <install-befores/>
      <products>
        <product no="13" name="依存先プロダクト" def="${stack.application.properties.products-dir}/depend-dest-1.0.0/win.xml"/>
        <product no="14" name="依存先プロダクト" def="${stack.application.properties.products-dir}/depend-dest-1.0.0/linux.xml"/>
        <product no="15" name="依存元プロダクト" def="${stack.application.properties.products-dir}/depend-src-1.0.0/win.xml">
          <depends>
            <depend no="13"/>
          </depends>
        </product>
        <product no="16" name="依存元プロダクト" def="${stack.application.properties.products-dir}/depend-src-1.0.0/linux.xml">
          <depends>
            <depend no="14"/>
          </depends>
        </product>
      </products>
      <install-afters/>
    </stack>
    
    これは、「依存元プロダクト」は、「依存先プロダクト」が、
    同時にインストールされないと「依存元プロダクト」はインストールできないという意味です。
  • プロダクト番号15のプロダクトは、プロダクト番号13に依存する
  • プロダクト番号16のプロダクトは、プロダクト番号14に依存する
  • ただし、アンインストール、アップデートには依存チェックはありません。
    プロダクトファイル、起動バッチ(シェル)に特別なことをする必要はないので、
    こちらを参照してください。
    以上で終了です。
    各起動バッチ、シェルを実行することで実行されたり、しなかったりするはずです。