2017年2月12日日曜日

Firefox のアドオンでビルドした xpi ファイルに内に JAR を含める必要がなくなった

概要

Firefox のアドオンのレビューでタイトルの理由でアドオンの公開がリジェクトされました
その対応方法を紹介します

環境

  • Firefox 47.0
  • Eclipse Mars
  • Spket IDE Plugin 1.0.0.787

エラー詳細

レビュアーから来たメールに記載されていたリジェクトの理由は以下の通りです

1) The add-on contains JAR file. This can result in performance issues in add-ons that target Gecko 4 and above. You should no longer use JAR files to package your chrome files. Please unpack this package to chrome directory and remove JAR file. Please see (https://developer.mozilla.org/en/Extensions/Updating_extensions_for_Firefox_4#XPI_unpacking) for more information."

対応内容

今までアドオンのソースファイルなどは JAR ファイルに圧縮して chrome フォルダ配下に配置して、その上で xpi ファイルにしていました
構造としては以下の通りです

$ tree
.
├── chrome
│   └── stu.jar
├── chrome.manifest
└── install.rdf

今まではこの構造で審査が通っていたのですが、これからは以下の通りでないと審査が通らなくなったようです

$ tree
.
├── chrome
│   ├── content
│   │   ├── about.xul
│   │   ├── pref.xul
│   │   ├── stu.js
│   │   └── stu.xul
│   ├── locale
│   │   └── en-US
│   │       └── stu.dtd
│   └── skin
│       ├── stu.css
│       ├── stu.png
│       └── stu64.png
├── chrome.manifest
└── install.rdf

要するに chrome 配下に配置していた JAR ファイルを JAR にしないでそのまま配置する必要があるということです

最後に

紹介は以上です
自分の場合は Spket IDE で開発をしており xpi ファイルを作成するために Ant を使っていました
なので、build.xml ファイルを修正することで正しい xpi ファイルを作成できるようにしました

自分の場合は結構昔からアドオンの開発を行っていたので JAR にする構成になっていたのかもしれません
もしかすると別の環境でビルドすれば全く問題ないかもしれません

参考サイト

0 件のコメント:

コメントを投稿