aboutsummaryrefslogtreecommitdiff
path: root/files/ja/creating_xpi_installer_modules
diff options
context:
space:
mode:
authorPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
committerPeter Bengtsson <mail@peterbe.com>2020-12-08 14:40:17 -0500
commit33058f2b292b3a581333bdfb21b8f671898c5060 (patch)
tree51c3e392513ec574331b2d3f85c394445ea803c6 /files/ja/creating_xpi_installer_modules
parent8b66d724f7caf0157093fb09cfec8fbd0c6ad50a (diff)
downloadtranslated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.gz
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.tar.bz2
translated-content-33058f2b292b3a581333bdfb21b8f671898c5060.zip
initial commit
Diffstat (limited to 'files/ja/creating_xpi_installer_modules')
-rw-r--r--files/ja/creating_xpi_installer_modules/index.html230
1 files changed, 230 insertions, 0 deletions
diff --git a/files/ja/creating_xpi_installer_modules/index.html b/files/ja/creating_xpi_installer_modules/index.html
new file mode 100644
index 0000000000..adc2abaf4a
--- /dev/null
+++ b/files/ja/creating_xpi_installer_modules/index.html
@@ -0,0 +1,230 @@
+---
+title: Creating XPI Installer Modules
+slug: Creating_XPI_Installer_Modules
+tags:
+ - XPInstall
+ - 移行
+translation_of: Archive/Mozilla/XPInstall/Creating_XPI_installer_modules
+---
+<h2 id="Mozilla_.E3.81.AE.E3.81.9F.E3.82.81.E3.81.AE.E6.96.B0.E3.81.97.E3.81.84.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.82.92.E4.BD.9C.E3.82.8B.EF.BC.88Creating_New_Packages_for_Mozilla.EF.BC.89" name="Mozilla_.E3.81.AE.E3.81.9F.E3.82.81.E3.81.AE.E6.96.B0.E3.81.97.E3.81.84.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.82.92.E4.BD.9C.E3.82.8B.EF.BC.88Creating_New_Packages_for_Mozilla.EF.BC.89">Mozilla のための新しいパッケージを作る(Creating New Packages for Mozilla)</h2>
+
+<div class="note">
+<p>この記事はかなり古い上に、Mozilla Suite および SeaMonkey (Toolkit へと変換されるまで)にしか当てはまりません。さまざまな Toolkit のためのアドオンは、<a href="ja/Toolkit_API#Official_References">異なる方法で</a> パッケージしてください。</p>
+</div>
+
+<h2 id=".E3.81.AF.E3.81.98.E3.82.81.E3.81.AB" name=".E3.81.AF.E3.81.98.E3.82.81.E3.81.AB">はじめに</h2>
+
+<p>Mozilla は、テーマや UI の他のパーツすべてをパッケージするという方法に 大きな変化を取り入れました。最近のビルドの <strong>chrome\</strong> ディレクトリの下には パッケージサブディレクトリに加えて、一にぎりの JAR ファイル や Java アーカイブがあることに気が付くでしょう(下の図を参照してください)。 これらのアーカイブはサブディレクトリに余分にあります: Mozilla は現在、あなたが自分で Mozilla をビルドするときに変更できるように、UI の圧縮されたバージョンと圧縮されていないバージョンの両方をインストールするのです。</p>
+
+<p>これらの JAR ファイルに加えて、いくつかの新しい RDF ファイルもあります。 これらの新しいファイルは Mozilla UI がパッケージされ、インストールされる方法の 変更を表します。chrome ディレクトリにはまだ圧縮されていないファイルのサブディレクトリが 標準で含まれていますが、ファイルを集めて配付する新しい方法はパフォーマンスを改善し、UI コンポーネントを小さく、インストールしやすくし、インストール作業をひじょうに簡単なものにしました。</p>
+
+<p><img alt="画像:chrome_dir.gif"></p>
+
+<p>しかし、この新しい取り決めは、web 開発者やユーザーインタフェース開発者にとっては 簡単になっていません。 chrome サブディレクトリから適切なリソース(すなわち、XUL、JavaScript、CSS ファイル) をみつけて それをテキストエディタで編集するという 比較的単純な作業は、 数多くの開発者が より混乱し難解と思う何かに置き換えられました。 ここでは Mozilla の新しいパッケージングのしくみを述べ、新しいパッケージを作る (それによって 再配布し、インストールし、ユーザーが利用可能になる)ための チュートリアルを提供します。</p>
+
+<h2 id=".E6.96.B0.E3.81.97.E3.81.84.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.83.B3.E3.82.B0.E3.81.AE.E3.81.97.E3.81.8F.E3.81.BF" name=".E6.96.B0.E3.81.97.E3.81.84.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.83.B3.E3.82.B0.E3.81.AE.E3.81.97.E3.81.8F.E3.81.BF">新しいパッケージングのしくみ</h2>
+
+<p>新しいパッケージングのしくみの完全な説明は、このページの他にあります。 より詳しいのは最近 mozilla.org のウェブサイトに追加された <a class="external" href="http://www.mozilla-japan.org/build/jar-packaging.html">Jar パッケージング</a> で、設計、目標、jar パッケージングにとりうるオプションが詳しく説明されています。 ここでフォローするのは、設計の<em>ごく</em>かんたんな概要と Mozilla がインストール可能なパッケージに期待するものの説明です。</p>
+
+<p>リソースは、トップレベルにある<em>contents.rdf</em> にその中身が定義されている JAR アーカイブに集められます。<em>contents.rdf</em> ファイルは Mozilla の chrome レジストリに対して、アーカイブの構造と内容を記述していて、記述が正確な限り あなたの好きなようにアレンジすることができます。このチュートリアルにしたがって あなたが作るパッケージでは、たとえば、すべてのリソースは <strong>content\</strong> サブディレクトリの下におかれますが、単純に skin や locale リソ−スといっしょに 直接トップにアーカイブすることもできます。あなたがそうしたいのなら。</p>
+
+<p>以前は、1つの<em>manifest.rdf</em> ファイルが全体のパッケージディレクトリや アーカイブ内のリソースを記述していましたが、現在<em>contents.rdf</em> ファイルはあなたのやりたいように、パッケージ記述の大部分を占めることも、 ほんの一部を担うこともできます。すなわち、あなたのパッケージの中に、いろいろな パーツを記述するために複数の<em>contents.rdf</em> を使うこと(例えば 1つはあなたのパッケージの skin のために、別のは content のために といったふうに)も、従来通り 1つだけの<em>contents.rdf</em> で済ますこともできます。</p>
+
+<p>Mozilla はこれらの内容の記述や インストレーション作業の一部(このチュートリアルで説明しているように)として レジストレーションによって あるいは installed-chrome.txt という名前のショートカットファイルによっても処理されるリソース に敏感です。 installed-chrome.txt によって開発者は独自の contents.rdf ファイルを指定することができ、開発する内容に応じて登録することができます (ここでは説明していない作業)。別の方法として、chrome レジストリは contents.rdf ファイルに示されます。contents.rfd ファイルは新しいリソースへ指定を変更し、 リソ−スはその時点で Mozilla に登録され、ユーザーが利用できるようになります。</p>
+
+<h2 id=".E6.96.B0.E3.81.97.E3.81.84.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.82.92.E4.BD.9C.E3.82.8B" name=".E6.96.B0.E3.81.97.E3.81.84.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E3.82.92.E4.BD.9C.E3.82.8B">新しいパッケージを作る</h2>
+
+<p>このセクションで説明しているパッケージはとてもシンプルなものですが、 新しいパッケージのしくみや 自身をその一部をして含む再配布可能なソフトウェアを作る chrome レジストリを使います。ここで説明しているようなパッケージを一度作ってしまえば、 Mozilla ユーザーは そのダウンロードとインストールを 1ステップで行うことができます。</p>
+
+<h3 id="Barley_.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8" name="Barley_.E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8">Barley パッケージ</h3>
+
+<p><img alt="The Barley window" style="float: right;">barley(オオムギ)パッケージは、2つのボタンと1つの画像要素からなるシンプルな XUL ウィンドウです。 "show aphids" のボタンは、JavaScript ファイル<em>barley.js</em> で定義された function を呼び出して、 アラート・ダイアログを表示します。</p>
+
+<p>私たちはこのウィンドウへの特別なアクセスのために Mozilla UI を(たとえば、Tasks メニューやほかのどこかの項目として)更新することはないので、barley パッケージを前述のようにユーザーが使える状態にインストールするには、 特別なスタートアップオプションを使って Mozilla を起動します:</p>
+
+<p>mozilla -chrome <a class="external" rel="freelink">chrome://barley/content</a></p>
+
+<p>このオプションは Mozilla に、デフォルト、すなわちメインブラウザウィンドウ以外の chrome をロードすることを指示します。このオプションが機能するためには、指定された chrome がインストールされ、Mozilla に正しく登録されている必要があります。 <a class="external" rel="freelink">chrome://</a> url ポインタは Mozilla/bin/chrome/barley/content ディレクトリに相当し、 インストールされていれば、そこにメインの XUL ファイルや他のリソースが存在します。</p>
+
+<h3 id=".E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E4.BD.9C.E6.88.90.E3.81.AE.E6.A6.82.E8.A6.81" name=".E3.83.91.E3.83.83.E3.82.B1.E3.83.BC.E3.82.B8.E4.BD.9C.E6.88.90.E3.81.AE.E6.A6.82.E8.A6.81">パッケージ作成の概要</h3>
+
+<p>このチュートリアルは、新しいパッケージを作るための 次のような手順を説明します:</p>
+
+<ul>
+ <li><a href="#xul">リソースを開発</a></li>
+ <li><a href="#organize">リソースを体系づけ(Organizing)</a></li>
+ <li><a href="#contents">contents.rdf ファイルを作成</a></li>
+ <li><a href="#install">Barley インストールスクリプトを作る</a></li>
+ <li><a href="#xpi">XPI を作成</a></li>
+</ul>
+
+<p>次の XPI ファイルをダウンロードして zip ソフトウェアを使って開き、 ここで説明しているパッケージをしらべる(かインストールする!)ことができます。</p>
+
+<ul>
+ <li><a class="external" href="http://www.mozilla.org/docs/xul/xulnotes/barley.xpi">barley.xpi</a></li>
+</ul>
+
+<p>ここで説明しているリソースはすべて XPI アーカイブに含まれていて、 あなたの独自の開発に使うために改変することができます。</p>
+
+<h3 id=".E3.83.AA.E3.82.BD.E3.83.BC.E3.82.B9.E3.82.92.E9.96.8B.E7.99.BA" name=".E3.83.AA.E3.82.BD.E3.83.BC.E3.82.B9.E3.82.92.E9.96.8B.E7.99.BA">リソースを開発</h3>
+
+<p>いうまでもなく、あなたが最初に作成しなければならないもののひとつは、 あなたが実際に再配布可能にしようとするソフトウェアです。Barley パッケージ UI は、画像のついた単一の XUL ウィンドウです:</p>
+
+<pre class="eval">&lt;?xml version="1.0"?&gt;
+&lt;?xml-stylesheet href="<a class="external" rel="freelink">chrome://communicator/skin/</a>" type="text/css"?&gt;
+
+&lt;window title="barley window"
+ xmlns:html="<a class="external" href="http://www.w3.org/1999/xhtml" rel="freelink">http://www.w3.org/1999/xhtml</a>"
+ xmlns="<a class="external" href="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" rel="freelink">http://www.mozilla.org/keymaster/gat...re.is.only.xul</a>"
+ width="175" height="375" x="20" y="20" persist="width height x y"
+ orient="vertical"
+ autostretch="always"&gt;
+
+ &lt;script src="<font color="darkblue">barley.js</font>"/&gt;
+
+ &lt;image src="<font color="darkblue">barley.gif</font>" /&gt;
+ &lt;box orient="horizontal" autostretch="never"&gt;
+ &lt;button label="barley corn" /&gt;
+ &lt;button label="show aphids" onclick="bar();" /&gt;
+ &lt;/box&gt;
+&lt;/window&gt;
+</pre>
+
+<p>ウィンドウがインポートする他のファイルは 濃い青 で色分けしてあります。XUL ファイルの先頭のスタイルシート処理手順は新しい skin を参照するのではなく、communicator.css をインポートして その skin の基本的なウィジェットの スタイルを実現することに注意してください。</p>
+
+<p>JavaScript ファイル<em>barley.js</em> は、以下のように定義された単一の function、bar() を含んでいます:</p>
+
+<pre class="eval">function bar() {
+ alert("aphids");
+}
+</pre>
+
+<p>Barley パッケージで使われているのと同じ GIF 画像を使いたいのなら <a class="external" href="http://www.mozilla.org/docs/xul/xulnotes/barley.gif">ここ</a> からひっぱることができます。</p>
+
+<p>これらのリソースを開発していて、そのパッケージを作る前なら、 Mozilla の File -&gt; Open(ファイル -&gt; 開く)を使って<em>barley.xul</em> を開いて 基本的なレイアウトと機能をテストすることができます。Mozilla はそのファイルを別のウィンドウでは表示しないかもしれません (まして別のパッケージとしては解釈されません)が、画像や JavaScript function が<em>barley.js</em> に定義されたように働くのは見ることができるはずです (3つのファイルは同じワーキングディレクトリに置かれます)。</p>
+
+<h3 id=".E3.83.AA.E3.82.BD.E3.83.BC.E3.82.B9.E3.82.92.E4.BD.93.E7.B3.BB.E3.81.A5.E3.81.91.EF.BC.88Organizing.EF.BC.89" name=".E3.83.AA.E3.82.BD.E3.83.BC.E3.82.B9.E3.82.92.E4.BD.93.E7.B3.BB.E3.81.A5.E3.81.91.EF.BC.88Organizing.EF.BC.89">リソースを体系づけ(Organizing)</h3>
+
+<p>パッケージに含めるための基本的なファイルができたら それらを束ねることができるように、すべてを 1つのディレクトリに置きます。 パッケージに独自のテーマや言語パック、その他のコンポーネントを含めるのなら、それもここです (別のパーツの役割を反映するサブディレクトリ構造を作る必要はありません)。 Barley パッケージのためには、1つのサブディレクトリ <strong>content\</strong> を作ればいいだけです (下の図をみてください)。</p>
+
+<pre class="eval">barley/
+ content/
+ barley.gif
+ barley.js
+ barley.xul
+</pre>
+
+<h3 id="contents.rdf_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.9C.E6.88.90" name="contents.rdf_.E3.83.95.E3.82.A1.E3.82.A4.E3.83.AB.E3.82.92.E4.BD.9C.E6.88.90">contents.rdf ファイルを作成</h3>
+
+<p>ソフトウェアパッケージのもっとも重要な要素のひとつが<em>contents.rdf</em> ファイルで chrome レジストリが認識できる条件としてパッケージの内容を記述するものです。 このような独自の中身をもつ、しかし特別なローカリゼーションやカスタムスキンを持たないパッケージでは、<em>contents.rdf</em> ファイルは Mozilla パッケージの "root" との相対関係で パッケージを記述します。 次のリストでは、赤色の項目は barley パッケージのための記述で あなたの独自のディストリビューションのためには書き換えることができます。</p>
+
+<pre class="eval">&lt;?xml version="1.0"?&gt;
+&lt;RDF:RDF xmlns:RDF="<a class="external" href="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rel="freelink">http://www.w3.org/1999/02/22-rdf-syntax-ns#</a>"
+ xmlns:chrome="<a class="external" href="http://www.mozilla.org/rdf/chrome#" rel="freelink">http://www.mozilla.org/rdf/chrome#</a>"&gt;
+
+ <font color="green">&lt;!-- list all the packages being supplied --&gt;</font>
+ &lt;RDF:Seq about="urn:mozilla:package:root"&gt;
+ &lt;RDF:li resource="urn:mozilla:package:<font color="darkred">barley</font>"/&gt;
+ &lt;/RDF:Seq&gt;
+
+ <font color="green">&lt;!-- package information --&gt;</font>
+ &lt;RDF:Description about="urn:mozilla:package:<font color="darkred">barley</font>"
+ chrome:displayName="<font color="darkred">Barley Grain</font>"
+ chrome:author="<font color="darkred">Ian Oeschger</font>"
+ chrome:name="<font color="darkred">barley</font>"&gt;
+ &lt;/RDF:Description&gt;
+
+&lt;/RDF:RDF&gt;
+
+</pre>
+
+<p>上のリストのような contents.rdf ファイルをつくって、<strong>contents\</strong> サブディレクトリに ほかのパッケージリソースといっしょに置いてください。</p>
+
+<pre class="eval"> barley/
+ content/
+ barley.gif
+ barley.js
+ barley.xul
+ contents.rdf
+</pre>
+
+<p>これらの 4つのファイルが、新しいパッケージに必要なすべてです。次のステップは ワーキングディレクトリの中身を zip 化することです。WinZip やその他の ZIP ソフトウェアを使って contents\ サブディレクトリの新しいアーカイブを作り、<em>barley.jar</em> という名前をつけてください:</p>
+
+<p><img alt="画像:Barley_JAR.png"></p>
+
+<p>このステップが完了すれば、Barley パッケージは Mozilla UI の JAR パッケージと同じ状態になっています。<em>comm.jar</em>や<em>en-US.jar</em>、その他のアーカイブされた UI パッケージは似たような(少し複雑だとしても)構造と<em>barley.jar</em> のような内部仕様をもっています。</p>
+
+<h3 id="Barley_.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E3.82.B9.E3.82.AF.E3.83.AA.E3.83.97.E3.83.88.E3.82.92.E4.BD.9C.E3.82.8B" name="Barley_.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB.E3.82.B9.E3.82.AF.E3.83.AA.E3.83.97.E3.83.88.E3.82.92.E4.BD.9C.E3.82.8B">Barley インストールスクリプトを作る</h3>
+
+<p>あとは、JAR ファイルを Mozilla の XP インストール技術を使ってインストールできるように パッケージかすることです。XPI ファイルフォーマット("zippy" と発音します)は アーカイブをインストールするのに Mozilla の XP インストールを使うことを明示するために使われます。 XPI ファイルは一般的に、インストールされるべきリソース(この場合、Mozilla/bin/chrome ディレクトリにインストールしたい<em>barley.jar</em>)とインストール作業を導くインストールスクリプト を含んでいます。</p>
+
+<p>Barley のためには、そのインストレーションスクリプトは次のようになっています。:</p>
+
+<p> </p>
+
+<pre class="eval"><font color="green">// initInstall(<em>name + version</em>,<em>name</em>,<em>version</em>); </font>
+var err = initInstall("<font color="darkred">barley v</font>", "<font color="darkred">barley</font>", "");
+logComment("initInstall: " + err);
+
+addFile("<font color="darkred">Barley Grain</font>", <font color="green"> // displayName from contents.rdf </font>
+ "<font color="darkred">barley.jar</font>", <font color="green">// JAR source </font>
+ getFolder("Chrome"), <font color="green"> // target folder </font>
+ ""); <font color="green"> // target subdir </font>
+
+<font color="green">// registerChrome(<em>TYPE</em>,<em>location</em>,<em>source</em>)</font>
+registerChrome(PACKAGE | DELAYED_CHROME, getFolder("Chrome","<font color="darkred">barley.jar</font>"), "<font color="darkred">content/</font>");
+
+if (err==SUCCESS)
+ performInstall();
+else
+ cancelInstall(err);
+</pre>
+
+<p>Note that there is no version number on Barley, and so the<em>name + version</em> parameter has a "v" and then nothing else. Note also the use of resource attributes specified in the<em>contents.rdf</em> file in the JAR. It is the correspondence of this installation script, the resources themselves, and the contents.rdf file that registers the package and makes it available.</p>
+
+<h3 id="Creating_a_XPI" name="Creating_a_XPI">Creating a XPI</h3>
+
+<p>The final step in the tutorial is to create a XPI archive in which the<em>install.js</em> script and the<em>barley.jar</em> can be redistributed. The archiving of an archive may seem a little redundant--and if you want you can instead use the XPI to archive the install script and "flat", or uncompressed, versions of the resources. But the XPI puts all of the resources of your package together, including the instructions for installing it. Like the JAR format that Mozilla uses to archive the UI packages, the XPI format is just a specially-ordered ZIP file. For a XPI file to be valid and installable, it must contain an installation script like the one above that tells Mozilla XPInstall where to put the new resources and how to register them.</p>
+
+<p>To create a XPI, use your ZIP archiver again to archive the JAR file and the installation script<em>install.js</em>. The archive, named barley.xpi, should contain the following two files:</p>
+
+<pre class="eval">barley.jar
+install.js
+</pre>
+
+<p>This ZIP file, when opened from Mozilla using File -&gt; Open, will initialize its own installation and display a message like the following:</p>
+
+<p><img alt="Image:barley_dlog.png"></p>
+
+<p>When you click OK, Mozilla installs the new package. Exit Mozilla and restart it with</p>
+
+<pre class="eval">mozilla -chrome <a class="external" rel="freelink">chrome://barley/content</a>
+</pre>
+
+<p>and the new package displays. The resources are installed in the mozilla/bin/chrome/ directory, and the XPI itself can be redistributed for installation on other machines.</p>
+
+<h2 id="Notes" name="Notes">Notes</h2>
+
+<ol>
+ <li>There exist a lot of ZIP archivers/unarchivers. For Unix, you can either use the preinstalled zip tool, or e.g. <a class="external" href="http://www.7-zip.org/">7-Zip</a> (free software). For Windows, you can e.g. use <a class="external" href="http://www.7-zip.org/">7-Zip</a> (free software), or <a class="external" href="http://www.winzip.com/">WinZip</a> (commercial).</li>
+</ol>
+
+<h2 id="See_Also" name="See_Also">See Also</h2>
+
+<ul>
+ <li><a class="external" href="http://www.mozilla.org/build/jar-packaging.html">JAR Packaging</a></li>
+ <li><a class="external" href="http://java.sun.com/j2se/1.5.0/docs/guide/jar/jar.html">The JAR File Specification</a></li>
+</ul>
+
+<div class="originaldocinfo">
+<h2 id="Original_Document_Information" name="Original_Document_Information">Original Document Information</h2>
+
+<ul>
+ <li>Author(s): <a class="link-mailto" href="mailto:oeschger@netscape.com">Ian Oeschger</a></li>
+ <li>Original Document: <a class="external" href="http://www.mozilla.org/docs/xul/xulnotes/xulnote_packages.html">Creating New Packages for Mozilla</a></li>
+ <li>Last Updated Date: March 8, 2003</li>
+ <li>Copyright Information: Copyright (C) <a class="link-mailto" href="mailto:oeschger@netscape.com">Ian Oeschger</a></li>
+</ul>
+</div>
+
+<p> </p>