diff --git a/Makefile b/Makefile
index e99daa832..107551d6a 100644
--- a/Makefile
+++ b/Makefile
@@ -5,7 +5,9 @@ DEFAULT_BROWSERS := resources/browser_manifests/browser_manifest.json
DEFAULT_TESTS := test_manifest.json
EXTENSION_SRC := ./extensions/
+EXTENSION_BASE_VERSION := 4bb289ec499013de66eb421737a4dbb4a9273eda
FIREFOX_EXTENSION_NAME := pdf.js.xpi
+FIREFOX_AMO_EXTENSION_NAME := pdf.js.amo.xpi
CHROME_EXTENSION_NAME := pdf.js.crx
all: bundle
@@ -158,7 +160,7 @@ web: | production extension compiler pages-repo
@cp $(BUILD_TARGET) $(GH_PAGES)/$(BUILD_TARGET)
@cp -R web/* $(GH_PAGES)/web
@cp web/images/* $(GH_PAGES)/web/images
- @cp $(EXTENSION_SRC)/firefox/*.xpi $(GH_PAGES)/$(EXTENSION_SRC)/firefox/
+ @cp $(FIREFOX_BUILD_DIR)/$(FIREFOX_EXTENSION_NAME) $(FIREFOX_BUILD_DIR)/update.rdf $(GH_PAGES)/$(EXTENSION_SRC)/firefox/
@cp $(GH_PAGES)/web/index.html.template $(GH_PAGES)/index.html;
@mv -f $(GH_PAGES)/web/viewer-production.html $(GH_PAGES)/web/viewer.html;
@cd $(GH_PAGES); git add -A;
@@ -201,8 +203,7 @@ pages-repo: | $(BUILD_DIR)
# This target produce a restartless firefox extension containing a
# copy of the pdf.js source.
CONTENT_DIR := content
-FIREFOX_CONTENT_DIR := $(EXTENSION_SRC)/firefox/$(CONTENT_DIR)/
-CHROME_CONTENT_DIR := $(EXTENSION_SRC)/chrome/$(CONTENT_DIR)/
+BUILD_NUMBER := `git log --format=oneline $(EXTENSION_BASE_VERSION).. | wc -l | awk '{print $$1}'`
PDF_WEB_FILES = \
web/images \
web/compatibility.js \
@@ -210,26 +211,66 @@ PDF_WEB_FILES = \
web/viewer.js \
web/viewer-production.html \
$(NULL)
+
+FIREFOX_BUILD_DIR := $(BUILD_DIR)/firefox
+FIREFOX_BUILD_CONTENT := $(FIREFOX_BUILD_DIR)/$(CONTENT_DIR)/
+FIREFOX_CONTENT_DIR := $(EXTENSION_SRC)/firefox/$(CONTENT_DIR)/
+FIREFOX_EXTENSION_FILES_TO_COPY = \
+ *.js \
+ *.rdf \
+ chrome.manifest \
+ components \
+ $(NULL)
+FIREFOX_EXTENSION_FILES = \
+ content \
+ *.js \
+ install.rdf \
+ chrome.manifest \
+ components \
+ content \
+ $(NULL)
+
+CHROME_BUILD_DIR := $(BUILD_DIR)/chrome
+CHROME_CONTENT_DIR := $(EXTENSION_SRC)/chrome/$(CONTENT_DIR)/
+CHROME_BUILD_CONTENT := $(CHROME_BUILD_DIR)/$(CONTENT_DIR)/
+CHROME_EXTENSION_FILES = \
+ extensions/chrome/*.json \
+ extensions/chrome/*.html \
+ $(NULL)
extension: | production
+ # Clear out everything in the firefox extension build directory
+ @rm -Rf $(FIREFOX_BUILD_DIR)
+ @mkdir -p $(FIREFOX_BUILD_CONTENT)
+ @mkdir -p $(FIREFOX_BUILD_CONTENT)/$(BUILD_DIR)
+ @mkdir -p $(FIREFOX_BUILD_CONTENT)/web
+ @cd extensions/firefox; cp -r $(FIREFOX_EXTENSION_FILES_TO_COPY) ../../$(FIREFOX_BUILD_DIR)/
# Copy a standalone version of pdf.js inside the content directory
- @rm -Rf $(FIREFOX_CONTENT_DIR)
- @mkdir -p $(FIREFOX_CONTENT_DIR)/$(BUILD_DIR)
- @mkdir -p $(FIREFOX_CONTENT_DIR)/web
- @cp $(BUILD_TARGET) $(FIREFOX_CONTENT_DIR)/$(BUILD_DIR)
- @cp -r $(PDF_WEB_FILES) $(FIREFOX_CONTENT_DIR)/web/
- @mv -f $(FIREFOX_CONTENT_DIR)/web/viewer-production.html $(FIREFOX_CONTENT_DIR)/web/viewer.html
-
+ @cp $(BUILD_TARGET) $(FIREFOX_BUILD_CONTENT)/$(BUILD_DIR)/
+ @cp -r $(PDF_WEB_FILES) $(FIREFOX_BUILD_CONTENT)/web/
+ @mv -f $(FIREFOX_BUILD_CONTENT)/web/viewer-production.html $(FIREFOX_BUILD_CONTENT)/web/viewer.html
+ # Update the build version number
+ @sed -i.bak "s/PDFJSSCRIPT_BUILD/$(BUILD_NUMBER)/" $(FIREFOX_BUILD_DIR)/install.rdf
+ @sed -i.bak "s/PDFJSSCRIPT_BUILD/$(BUILD_NUMBER)/" $(FIREFOX_BUILD_DIR)/update.rdf
+ @rm -f $(FIREFOX_BUILD_DIR)/*.bak
# Create the xpi
- @cd $(EXTENSION_SRC)/firefox; zip -r $(FIREFOX_EXTENSION_NAME) *
+ @cd $(FIREFOX_BUILD_DIR); zip -r $(FIREFOX_EXTENSION_NAME) $(FIREFOX_EXTENSION_FILES)
@echo "extension created: " $(FIREFOX_EXTENSION_NAME)
+ # Build the amo extension too (remove the updateUrl)
+ @sed -i.bak "/updateURL/d" $(FIREFOX_BUILD_DIR)/install.rdf
+ @rm -f $(FIREFOX_BUILD_DIR)/*.bak
+ @cd $(FIREFOX_BUILD_DIR); zip -r $(FIREFOX_AMO_EXTENSION_NAME) $(FIREFOX_EXTENSION_FILES)
+ @echo "AMO extension created: " $(FIREFOX_AMO_EXTENSION_NAME)
- # Copy a standalone version of pdf.js inside the extension directory
- @rm -Rf $(CHROME_CONTENT_DIR)
- @mkdir -p $(CHROME_CONTENT_DIR)/$(BUILD_DIR)
- @mkdir -p $(CHROME_CONTENT_DIR)/web
- @cp $(BUILD_TARGET) $(CHROME_CONTENT_DIR)/$(BUILD_DIR)
- @cp -r $(PDF_WEB_FILES) $(CHROME_CONTENT_DIR)/web/
- @mv -f $(CHROME_CONTENT_DIR)/web/viewer-production.html $(CHROME_CONTENT_DIR)/web/viewer.html
+ # Clear out everything in the chrome extension build directory
+ @rm -Rf $(CHROME_BUILD_DIR)
+ @mkdir -p $(CHROME_BUILD_CONTENT)
+ @mkdir -p $(CHROME_BUILD_CONTENT)/$(BUILD_DIR)
+ @mkdir -p $(CHROME_BUILD_CONTENT)/web
+ @cp -R $(CHROME_EXTENSION_FILES) $(CHROME_BUILD_DIR)/
+ # Copy a standalone version of pdf.js inside the content directory
+ @cp $(BUILD_TARGET) $(CHROME_BUILD_CONTENT)/$(BUILD_DIR)/
+ @cp -r $(PDF_WEB_FILES) $(CHROME_BUILD_CONTENT)/web/
+ @mv -f $(CHROME_BUILD_CONTENT)/web/viewer-production.html $(CHROME_BUILD_CONTENT)/web/viewer.html
# Create the crx
#TODO
diff --git a/extensions/firefox/install.rdf b/extensions/firefox/install.rdf
index 8b793c525..f4e6b43ea 100644
--- a/extensions/firefox/install.rdf
+++ b/extensions/firefox/install.rdf
@@ -6,7 +6,7 @@
uriloader@pdf.js
pdf.js
- 0.1.0
+ 0.2.PDFJSSCRIPT_BUILD
chrome://pdf.js/skin/logo.png
@@ -17,9 +17,11 @@
true
true
- Vivien Nicolas
+ Mozilla Labs
pdf.js uri loader
https://github.com/mozilla/pdf.js/
2
+
+ https://github.com/mozilla/pdf.js/raw/gh-pages/extensions/firefox/update.rdf
diff --git a/extensions/firefox/update.rdf b/extensions/firefox/update.rdf
new file mode 100644
index 000000000..c12e53dc6
--- /dev/null
+++ b/extensions/firefox/update.rdf
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+ 0.2.PDFJSSCRIPT_BUILD
+
+
+ {ec8030f7-c20a-464f-9b0e-13a3a9e97384}
+ 6.0
+ 11.*
+
+ https://github.com/mozilla/pdf.js/raw/gh-pages/extensions/firefox/pdf.js.xpi
+
+
+
+
+
+
+
+
\ No newline at end of file