From 7d8a5719cfc654a2761fa946e4c1ff9ef824bd0c Mon Sep 17 00:00:00 2001 From: Kris Maglione Date: Tue, 2 Dec 2008 14:30:07 -0500 Subject: [PATCH] Commit some changes that were somehow skipped before --- liberator/Makefile.common | 121 ++++++------------------- liberator/content/liberator-overlay.js | 33 ++++--- muttator/Makefile | 6 +- muttator/chrome.manifest | 14 --- vimperator/Makefile | 2 +- vimperator/chrome.manifest | 18 ++-- vimperator/install.rdf | 2 +- 7 files changed, 65 insertions(+), 131 deletions(-) diff --git a/liberator/Makefile.common b/liberator/Makefile.common index 8874c3af..06b7cbf2 100644 --- a/liberator/Makefile.common +++ b/liberator/Makefile.common @@ -3,70 +3,43 @@ TOP = $(shell pwd) OS = $(shell uname -s) BUILD_DATE = $(shell date "+%Y/%m/%d %H:%M:%S") +BASE = $(TOP)/../liberator DOC_SRC_FILES = $(wildcard locale/*/*.txt) DOC_FILES = ${DOC_SRC_FILES:%.txt=%.html} +MAKE_JAR = VERSION="$(VERSION)" DATE="$(BUILD_DATE)" sh $(BASE)/make_jar.sh + # TODO: specify source files manually? -JAR_TXT_FILES = ${shell find -L content skin locale \ - -type f \ - -a ! -path '*CVS*' \ - -a \( \ - -path '*.js' \ - -o -path '*.css' \ - -o -path '*.dtd' \ - -o -path '*.xml' \ - -o -path '*.xul' \ - -o -path '*.html' \ - -o -path '*.xhtml' \ - \) \ - } -JAR_DIRS = $(foreach f,${JAR_FILES},$(dir $f)) -JAR_BIN_FILES = ${shell find content skin webcontent \ - -type f \ - -a ! -path '*CVS*' \ - -a -path '*.png' \ - } -JAR_FILES = ${JAR_BIN_FILES} ${JAR_TXT_FILES} ${DOC_FILES} +JAR_BASES = $(TOP) $(BASE) +JAR_DIRS = content skin locale +JAR_TEXTS = js css dtd xml xul html xhtml +JAR_BINS = png + JAR = chrome/${NAME}.jar -XPI_TXT_FILES = install.rdf chrome.manifest TODO AUTHORS Donators NEWS License.txt \ - ${shell find -L modules components \ - -type f \ - -a ! -path '*CVS*' \ - -a \( \ - -path '*.js' \ - -o -path '*.jsm' \ - \) \ - } -XPI_DIRS = $(foreach f,${XPI_FILES},$(dir $f)) -XPI_BIN_FILES = ${JAR} Makefile.common Makefile -XPI_FILES = ${XPI_BIN_FILES} ${XPI_TXT_FILES} -XPI_NAME = ${NAME}_${VERSION}.xpi -XPI = ../downloads/${XPI_NAME} +XPI_BASES = $(JAR_BASES) $(TOP)/.. +XPI_FILES = install.rdf TODO AUTHORS Donators NEWS License.txt +XPI_DIRS = modules components chrome +XPI_TEXTS = js jsm +XPI_BINS = jar + +XPI_NAME = ${NAME}_${VERSION} +XPI_PATH = ../downloads/${XPI_NAME} +XPI = $(XPI_PATH).xpi RDF = ../downloads/update.rdf RDF_IN = ${RDF}.in BUILD_DIR = build.${VERSION}.${OS} -BUILD_JAR_DIR = ${BUILD_DIR}/jar -BUILD_XPI_DIR = ${BUILD_DIR}/xpi - -BUILD_JAR_SUBDIRS = $(sort ${JAR_DIRS:%=${BUILD_JAR_DIR}/%}) -BUILD_XPI_SUBDIRS = $(sort ${XPI_DIRS:%=${BUILD_XPI_DIR}/%}) ASCIIDOC = asciidoc -ZIP = zip -SED = sed -PERL = perl -# specify V=1 on make line to see more verbose output -Q=$(if ${V},,@) -CP_V=$(if ${V},-v) +.SILENT: #### rules -.PHONY: all help info doc jar xpi install clean distclean +.PHONY: all help info doc jar xpi install clean distclean $(JAR) all: help help: @@ -105,67 +78,33 @@ ${RDF}: ${RDF_IN} Makefile clean: @echo "Cleanup..." - ${Q}rm -f ${JAR} ${XPI} - ${Q}find . -name '*~' -exec rm -f {} \; + rm -f ${JAR} ${XPI} + find . -name '*~' -exec rm -f {} \; distclean: clean @echo "More cleanup..." - ${Q}rm -f ${DOC_FILES} - ${Q}rm -rf ${BUILD_DIR} + rm -f ${DOC_FILES} + rm -rf ${BUILD_DIR} #### xpi -${BUILD_XPI_SUBDIRS}: - ${Q}mkdir -p $@ - -${XPI}: ${BUILD_XPI_SUBDIRS} ${XPI_FILES} +$(XPI): $(JAR) @echo "Building XPI..." - ${Q}mkdir -p $(dir ${XPI}) - ${Q}for f in ${XPI_BIN_FILES} ; do \ - cp $$f ${BUILD_XPI_DIR}/$$f ; \ - done - ${Q}for f in ${XPI_TXT_FILES} ; do \ - ${SED} -e "s,###VERSION###,${VERSION},g" \ - -e "s,###DATE###,${BUILD_DATE},g" \ - < $$f > ${BUILD_XPI_DIR}/$$f ; \ - ( diff -q $$f ${BUILD_XPI_DIR}/$$f 1>/dev/null ) || \ - ( echo "modified: $$f" ; \ - diff -u $$f ${BUILD_XPI_DIR}/$$f | grep '^[-+][^-+]' ) ; \ - done - - @# sed -e -> does not work correctly on MacOS's sed, therefore we use perl - @# ${Q}${SED} -e 's,\(skin\|content\|locale/.*\)/$$,jar:chrome/${NAME}.jar!/\1/,' \ - - ${Q}${PERL} -pe 's,(skin|content|locale/.*)/$$,jar:chrome/${NAME}.jar!/\1/,' \ - < chrome.manifest > ${BUILD_XPI_DIR}/chrome.manifest - ${Q}( cd ${BUILD_XPI_DIR} && ${ZIP} -r ${TOP}/${XPI} ${XPI_FILES} ) + mkdir -p $(XPI_PATH) + awk -v 'name=$(NAME)' -f $(BASE)/process_manifest.awk $(TOP)/chrome.manifest >$(XPI_PATH)/chrome.manifest + $(MAKE_JAR) "$(XPI)" "$(XPI_BASES)" "$(XPI_DIRS)" "$(XPI_TEXTS)" "$(XPI_BINS)" "$(XPI_FILES)" @echo "SUCCESS: $@" #### jar -${BUILD_JAR_SUBDIRS}: - ${Q}mkdir -p $@ - -${JAR}: ${BUILD_JAR_SUBDIRS} ${JAR_FILES} +$(JAR): @echo "Building JAR..." - ${Q}mkdir -p $(dir ${JAR}) - ${Q}for f in ${JAR_BIN_FILES} ; do \ - cp $$f ${BUILD_JAR_DIR}/$$f ; \ - done - ${Q}for f in ${JAR_TXT_FILES} ; do \ - ${SED} -e "s,###VERSION###,${VERSION},g" \ - -e "s,###DATE###,${BUILD_DATE},g" \ - < $$f > ${BUILD_JAR_DIR}/$$f ; \ - ( diff -q $$f ${BUILD_JAR_DIR}/$$f 1>/dev/null ) || \ - ( echo "modified: $$f" ; \ - diff -u $$f ${BUILD_JAR_DIR}/$$f | grep '^[-+][^-+]' ) ; \ - done - ${Q}( cd ${BUILD_JAR_DIR} && ${ZIP} -r ${TOP}/${JAR} ${JAR_FILES} ) + $(MAKE_JAR) "$(JAR)" "$(JAR_BASES)" "$(JAR_DIRS)" "$(JAR_TEXTS)" "$(JAR_BINS)" "$(JAR_FILES)" @echo "SUCCESS: $@" #### doc ${DOC_FILES}: %.html: %.txt Makefile.common locale/en-US/asciidoc.conf @echo "DOC $@" - ${Q}${ASCIIDOC} --unsafe -a linkcss -o $@ $< + ${ASCIIDOC} --unsafe -a linkcss -o $@ $< diff --git a/liberator/content/liberator-overlay.js b/liberator/content/liberator-overlay.js index fc999ee6..5175b75b 100644 --- a/liberator/content/liberator-overlay.js +++ b/liberator/content/liberator-overlay.js @@ -5,26 +5,32 @@ modules.modules = modules; - var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"] - .getService(Components.interfaces.mozIJSSubScriptLoader); - function load(script, i) + const loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"] + .getService(Components.interfaces.mozIJSSubScriptLoader); + function load(script) { - try + for (let [i, base] in Iterator(prefix)) { - loader.loadSubScript(BASE + script, modules) - } - catch (e) - { - if (Components.utils.reportError) - Components.utils.reportError(e); - dump("liberator: Loading script " + script + ": " + e + "\n"); - if (!i || i < 3) - return load(script, i + 1); // Sometimes loading (seemingly randomly) fails + try + { + loader.loadSubScript(base + script, modules) + return; + } + catch (e) + { + if (i + 1 < prefix.length) + continue; + if (Components.utils.reportError) + Components.utils.reportError(e); + dump("liberator: Loading script " + script + ": " + e + "\n"); + } } } Components.utils.import("resource://liberator/storage.jsm", modules); + let prefix = [BASE]; + ["liberator.js", "config.js", "util.js", @@ -43,6 +49,7 @@ "template.js", "ui.js"].forEach(load); + prefix.unshift("chrome://" + modules.config.name.toLowerCase() + "/content/"); if (modules.config.scripts) modules.config.scripts.forEach(load); diff --git a/muttator/Makefile b/muttator/Makefile index c9631584..11862e34 100644 --- a/muttator/Makefile +++ b/muttator/Makefile @@ -1,6 +1,6 @@ #### configuration -VERSION = 2.0pre -NAME = vimperator +VERSION = 0.5pre +NAME = muttator -include ../liberator/Makefile.common +include Makefile.common diff --git a/muttator/chrome.manifest b/muttator/chrome.manifest index e9f7ff8f..b7df9184 100644 --- a/muttator/chrome.manifest +++ b/muttator/chrome.manifest @@ -9,23 +9,9 @@ skin liberator classic/1.0 ../liberator/skin/ override chrome://liberator/content/liberator.dtd chrome://muttator/content/liberator.dtd override chrome://liberator/content/config.js chrome://muttator/content/config.js -overlay chrome://browser/content/browser.xul chrome://liberator/content/liberator.xul -overlay chrome://browser/content/browser.xul chrome://vimperator/content/vimperator.xul - -# Thunderbird -content liberator content/ -resource liberator modules/ -locale liberator en-US locale/en-US/ -skin liberator classic/1.0 skin/ - -override chrome://liberator/content/liberator.dtd chrome://liberator/content/muttator.dtd -override chrome://liberator/content/config.js chrome://liberator/content/muttator.js - overlay chrome://messenger/content/messenger.xul chrome://liberator/content/liberator.xul overlay chrome://messenger/content/messenger.xul chrome://liberator/content/muttator.xul -#1 -#override chrome://liberator/content/compose/liberator.xul chrome://liberator/content/liberator.xul overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://liberator/content/compose/liberator.xul overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://liberator/content/compose/compose.xul diff --git a/vimperator/Makefile b/vimperator/Makefile index 592271f4..c9631584 100644 --- a/vimperator/Makefile +++ b/vimperator/Makefile @@ -3,4 +3,4 @@ VERSION = 2.0pre NAME = vimperator -include Makefile.common +include ../liberator/Makefile.common diff --git a/vimperator/chrome.manifest b/vimperator/chrome.manifest index 2e735d5d..c663f70b 100644 --- a/vimperator/chrome.manifest +++ b/vimperator/chrome.manifest @@ -1,12 +1,14 @@ # Firefox -content liberator2 webcontent/ contentaccessible=yes -content liberator content/ -resource liberator modules/ -locale liberator en-US locale/en-US/ -skin liberator classic/1.0 skin/ +content vimperator content/ +locale liberator en-US locale/en-US/ -override chrome://liberator/content/liberator.dtd chrome://liberator/content/vimperator.dtd -override chrome://liberator/content/config.js chrome://liberator/content/vimperator.js +content liberator ../liberator/content/ +resource liberator ../liberator/modules/ +skin liberator classic/1.0 ../liberator/skin/ + +override chrome://liberator/content/liberator.dtd chrome://vimperator/content/liberator.dtd +override chrome://liberator/content/config.js chrome://vimperator/content/config.js overlay chrome://browser/content/browser.xul chrome://liberator/content/liberator.xul -overlay chrome://browser/content/browser.xul chrome://liberator/content/vimperator.xul +overlay chrome://browser/content/browser.xul chrome://vimperator/content/vimperator.xul + diff --git a/vimperator/install.rdf b/vimperator/install.rdf index abd33751..766c2a95 100644 --- a/vimperator/install.rdf +++ b/vimperator/install.rdf @@ -9,7 +9,7 @@ Make Firefox behave like Vim Martin Stubenschrott http://vimperator.mozdev.org - chrome://vimperator/skin/icon.png + chrome://liberator/skin/icon.png