Skip to content
This repository was archived by the owner on Jul 2, 2024. It is now read-only.

Clean build and translation tools #98

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
version = $(shell cat VERSION)
excludefromxpi = .git/\* .tx/\* \*.xpi \*.sh update\*.txt Makefile VERSION
releasebranch = ec-4.0

# Default target is build package
build:
# Update version number inside install.rdf file from VERSION file
sed -i 's/\(\s*\)<em:version>[^<]*\?<\/em:version>/\1<em:version>$(version)<\/em:version>/' install.rdf
# Disable automatic updates of the extension
cat defaults/preferences/update_disable.txt > defaults/preferences/update.js
# Finally, create the xpi file
zip -r exchangecalendar-v"$(version)".xpi -x $(excludefromxpi) -- .

# Target to publish a new release:
release: l10n-auto-commit build
git add -- install.rdf
git commit -m "releases v$(version)"
git tag "v$(version)"
@echo 'Translations updated, build done, tag added.'
@echo 'Now, if the release is well done, please run one "git push" to publish code and one "git push v$(version)" to publish the new tag.'

# Targets to update translations
# Requires an already configured Transifex client: https://docs.transifex.com/client/introduction
# This project has a .tx/ directory which references currently known localisation files

# Get translations updates from Transifex
l10n-get:
git checkout $(releasebranch)
tx pull -a

l10n-auto-commit: l10n-get
git add -- locale interfaces/exchangeAddressBook/locale/
-git commit -m 'l10n: automatic translations updates'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like a typo.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The dash prefix is the way for Makefiles to say "execute this line and if you get an error, continue anyway the rest of the script".

Here, it allows us to continue the script even if nothing needs to be committed (the return value of the git command is non-zero if there was nothing to commit).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got to love Makefile syntax :D


# Send new texts to translate to Transifex
l10n-push:
git checkout $(releasebranch)
tx push

# Target to beautify and build your code while developing it
dev: beautify build

# Beautifier are configured to use indentation with 4 spaces
beautify: beautify-xml beautify-js

beautify-xml:
find \( -name "*.xml" -o -name "*.rdf" -o -name "*.xul" \) -exec \
tidy --input-xml yes --indent auto --indent-spaces 4 --indent-attributes yes \
--preserve-entities yes --quote-ampersand no --quote-nbsp no --output-xml yes \
--strict-tags-attributes no --write-back yes \
{} \;
beautify-js:
find -name "*.js" -exec \
js-beautify --indent-size=4 --indent-char=' ' --jslint-happy \
--operator-position after-newline --brace-style end-expand --replace \
{} \;
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
4.0.0-beta5
32 changes: 0 additions & 32 deletions build.sh

This file was deleted.

210 changes: 0 additions & 210 deletions translationupdater.sh

This file was deleted.