Commit ff7f3126 authored by JC Brand's avatar JC Brand

Merge branch 'master' of github.com:jcbrand/converse.js

Conflicts:
	Makefile
parents 6aa38952 65b1898f
module.exports = function(grunt) { module.exports = function(grunt) {
var path = require('path');
var cfg = require('./package.json'); var cfg = require('./package.json');
grunt.initConfig({ grunt.initConfig({
jst: { jst: {
...@@ -62,6 +63,10 @@ module.exports = function(grunt) { ...@@ -62,6 +63,10 @@ module.exports = function(grunt) {
dest: 'css/converse.min.css', dest: 'css/converse.min.css',
src: ['css/converse.css'] src: ['css/converse.css']
} }
},
touch: {
npm: ['stamp-npm'],
bower: ['stamp-bower']
} }
}); });
grunt.loadNpmTasks('grunt-contrib-cssmin'); grunt.loadNpmTasks('grunt-contrib-cssmin');
...@@ -69,6 +74,7 @@ module.exports = function(grunt) { ...@@ -69,6 +74,7 @@ module.exports = function(grunt) {
grunt.loadNpmTasks('grunt-contrib-jst'); grunt.loadNpmTasks('grunt-contrib-jst');
grunt.loadNpmTasks('grunt-json'); grunt.loadNpmTasks('grunt-json');
grunt.loadNpmTasks('grunt-contrib-requirejs'); grunt.loadNpmTasks('grunt-contrib-requirejs');
grunt.loadNpmTasks('grunt-touch');
grunt.registerTask('test', 'Run Tests', function () { grunt.registerTask('test', 'Run Tests', function () {
var done = this.async(); var done = this.async();
...@@ -107,23 +113,26 @@ module.exports = function(grunt) { ...@@ -107,23 +113,26 @@ module.exports = function(grunt) {
var child_process = require('child_process'); var child_process = require('child_process');
var exec = child_process.exec; var exec = child_process.exec;
var callback = function (err, stdout, stderr) { var callback = function (err, stdout, stderr) {
grunt.log.write(stdout);
if (err) { if (err) {
grunt.log.write('build failed with error code '+err.code); grunt.log.write('build failed with error code '+err.code);
grunt.log.write(stderr); grunt.log.write(stderr);
} done(false);
grunt.log.write(stdout); } else
done(); done();
}; };
exec('./node_modules/requirejs/bin/r.js -o src/build.js && ' + var rjsext = (process.platform === 'win32') ? '.cmd' : '';
'./node_modules/requirejs/bin/r.js -o src/build.js optimize=none out=builds/converse.js && ' + var rjs = path.resolve('./node_modules/.bin/r.js' + rjsext);
'./node_modules/requirejs/bin/r.js -o src/build-no-jquery.js &&' + exec(rjs + ' -o src/build.js && ' +
'./node_modules/requirejs/bin/r.js -o src/build-no-jquery.js optimize=none out=builds/converse.nojquery.js && ' + rjs + ' -o src/build.js optimize=none out=builds/converse.js && ' +
'./node_modules/requirejs/bin/r.js -o src/build-no-locales-no-otr.js && ' + rjs + ' -o src/build-no-jquery.js &&' +
'./node_modules/requirejs/bin/r.js -o src/build-no-locales-no-otr.js optimize=none out=builds/converse-no-locales-no-otr.js && ' + rjs + ' -o src/build-no-jquery.js optimize=none out=builds/converse.nojquery.js && ' +
'./node_modules/requirejs/bin/r.js -o src/build-no-otr.js &&' + rjs + ' -o src/build-no-locales-no-otr.js && ' +
'./node_modules/requirejs/bin/r.js -o src/build-no-otr.js optimize=none out=builds/converse-no-otr.js && ' + rjs + ' -o src/build-no-locales-no-otr.js optimize=none out=builds/converse-no-locales-no-otr.js && ' +
'./node_modules/requirejs/bin/r.js -o src/build-website-no-otr.js &&' + rjs + ' -o src/build-no-otr.js &&' +
'./node_modules/requirejs/bin/r.js -o src/build-website.js', callback); rjs + ' -o src/build-no-otr.js optimize=none out=builds/converse-no-otr.js && ' +
rjs + ' -o src/build-website-no-otr.js &&' +
rjs + ' -o src/build-website.js', callback);
// XXX: It might be possible to not have separate build config files. For example: // XXX: It might be possible to not have separate build config files. For example:
// 'r.js -o src/build.js paths.converse-dependencies=src/deps-no-otr paths.locales=locale/nolocales out=builds/converse-no-locales-no-otr.min.js' // 'r.js -o src/build.js paths.converse-dependencies=src/deps-no-otr paths.locales=locale/nolocales out=builds/converse-no-locales-no-otr.min.js'
}); });
......
# You can set these variables from the command line. # You can set these variables from the command line.
BOWER ?= ./node_modules/.bin/bower BOWER ?= node_modules/.bin/bower
BUILDDIR = ./docs BUILDDIR = ./docs
PAPER = PAPER =
PHANTOMJS ?= ./node_modules/.bin/phantomjs PHANTOMJS ?= ./node_modules/.bin/phantomjs
...@@ -86,14 +86,14 @@ clean:: ...@@ -86,14 +86,14 @@ clean::
dev: clean dev: clean
npm install npm install
${BOWER} update; $(BOWER) update;
bundler install --path=. bundler install --path=.
######################################################################## ########################################################################
## Builds ## Builds
css:: css::
${SASS} sass/converse.scss > css/converse.css $(SASS) sass/converse.scss > css/converse.css
build:: build::
$(GRUNT) jst $(GRUNT) jst
......
# You can set these variables from the command line.
GRUNT ?= node_modules\.bin\grunt.cmd
BOWER ?= node_modules\.bin\bower
PHANTOMJS ?= node_modules\.bin\phantomjs
SASS ?= sass
RMRF ?= rmdir /q /s
RMF ?= del /q
.PHONY: all help clean css minjs build
all: dev
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " dev to set up the development environment"
@echo " build create minified builds containing converse.js and all its dependencies"
########################################################################
## Install dependencies
stamp-npm: package.json
npm install
$(GRUNT) touch:npm
stamp-bower: stamp-npm bower.json
$(BOWER) install
$(GRUNT) touch:bower
clean::
@if EXIST stamp-npm $(RMF) stamp-npm
@if EXIST stamp-bower $(RMF) stamp-bower
@if EXIST node_modules\. $(RMRF) node_modules
@if EXIST components\. $(RMRF) components
dev: clean
npm install
$(BOWER) update
bundler install --path=.
########################################################################
## Builds
css::
$(SASS) sass/converse.scss > css/converse.css
build::
$(GRUNT) jst
$(GRUNT) minify
########################################################################
## Tests
check:: stamp-npm
$(PHANTOMJS) node_modules/phantom-jasmine/lib/run_jasmine_test.coffee tests.html
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
"requirejs-text": "~2.0.12", "requirejs-text": "~2.0.12",
"requirejs-tpl-jcbrand": "*", "requirejs-tpl-jcbrand": "*",
"momentjs": "~2.6.0", "momentjs": "~2.6.0",
"jquery.browser": "https://raw.githubusercontent.com/jcbrand/jquery-browser-plugin/ae5e88aa7a26f583e8865c3961ba857918c4c9c1/dist/jquery.browser.js", "jquery.browser": ">=0.0.7",
"jquery-easing-original": "https://raw.githubusercontent.com/jcbrand/jquery.easing/7de3458b1845a72c1f407debf6b223c8446396bf/jquery.easing.1.3.js", "jquery-easing-original": "https://raw.githubusercontent.com/jcbrand/jquery.easing/7de3458b1845a72c1f407debf6b223c8446396bf/jquery.easing.1.3.js",
"bootstrap": "~3.2.0", "bootstrap": "~3.2.0",
"bootstrapJS": "https://raw.githubusercontent.com/jcbrand/bootstrap/7d96a5f60d26c67b5348b270a775518b96a702c8/dist/js/bootstrap.js", "bootstrapJS": "https://raw.githubusercontent.com/jcbrand/bootstrap/7d96a5f60d26c67b5348b270a775518b96a702c8/dist/js/bootstrap.js",
......
...@@ -163,8 +163,8 @@ ...@@ -163,8 +163,8 @@
var converse = this; var converse = this;
// Logging // Logging
Strophe.log = function (level, msg) { console.log(level+' '+msg); }; Strophe.log = function (level, msg) { converse.log(level+' '+msg, level); };
Strophe.error = function (msg) { console.log('ERROR: '+msg); }; Strophe.error = function (msg) { converse.log(msg, 'error'); };
// Add Strophe Namespaces // Add Strophe Namespaces
Strophe.addNamespace('CHATSTATES', 'http://jabber.org/protocol/chatstates'); Strophe.addNamespace('CHATSTATES', 'http://jabber.org/protocol/chatstates');
......
...@@ -12,6 +12,8 @@ Changelog ...@@ -12,6 +12,8 @@ Changelog
* #292 Better support for XEP-0085 Chat State Notifications. [jcbrand] * #292 Better support for XEP-0085 Chat State Notifications. [jcbrand]
* #295 Document "allow_registration". [gbonvehi] * #295 Document "allow_registration". [gbonvehi]
* #304 Added Polish translations. [ser] * #304 Added Polish translations. [ser]
* New Makefile.win to build in Windows environments. [gbonvehi]
* Strophe.log and Strophe.error now uses converse.log to output messages. [gbonvehi]
0.8.6 (2014-12-07) 0.8.6 (2014-12-07)
------------------ ------------------
......
...@@ -12,6 +12,8 @@ follow the instructions below to create this folder and fetch Converse's ...@@ -12,6 +12,8 @@ follow the instructions below to create this folder and fetch Converse's
3rd-party dependencies. 3rd-party dependencies.
.. note:: .. note::
Windows environment: We recommend installing the required tools using `Chocolatey <https://chocolatey.org/>`_
You will need Node.js (nodejs.install), Git (git.install) and optionally to build using Makefile, GNU Make (make)
If you have trouble setting up a development environment on Windows, If you have trouble setting up a development environment on Windows,
please read `this post <http://librelist.com/browser//conversejs/2014/11/5/openfire-converse-and-visual-studio-questions/#b28387e7f8f126693b11598a8acbe810>`_ please read `this post <http://librelist.com/browser//conversejs/2014/11/5/openfire-converse-and-visual-studio-questions/#b28387e7f8f126693b11598a8acbe810>`_
in the mailing list.: in the mailing list.:
...@@ -27,6 +29,9 @@ version `here <https://nodejs.org/download>`_. ...@@ -27,6 +29,9 @@ version `here <https://nodejs.org/download>`_.
Also make sure you have ``Git`` installed. `Details <http://git-scm.com/book/en/Getting-Started-Installing-Git>`_. Also make sure you have ``Git`` installed. `Details <http://git-scm.com/book/en/Getting-Started-Installing-Git>`_.
.. note::
Windows users should use Chocolatey as recommended above.:
Once you have *Node.js* and *git* installed, run the following command inside the Converse.js Once you have *Node.js* and *git* installed, run the following command inside the Converse.js
directory: directory:
...@@ -34,6 +39,11 @@ directory: ...@@ -34,6 +39,11 @@ directory:
make dev make dev
On Windows you need to specify Makefile.win to be used by running:
::
make -f Makefile.win dev
Or alternatively, if you don't have GNU Make: Or alternatively, if you don't have GNU Make:
:: ::
......
...@@ -24,7 +24,7 @@ require.config({ ...@@ -24,7 +24,7 @@ require.config({
"eventemitter": "components/otr/build/dep/eventemitter", "eventemitter": "components/otr/build/dep/eventemitter",
"jquery": "components/jquery/dist/jquery", "jquery": "components/jquery/dist/jquery",
"jquery-private": "src/jquery-private", "jquery-private": "src/jquery-private",
"jquery.browser": "components/jquery.browser/index", "jquery.browser": "components/jquery.browser/dist/jquery.browser",
"jquery.easing": "components/jquery-easing-original/index", // XXX: Only required for https://conversejs.org website "jquery.easing": "components/jquery-easing-original/index", // XXX: Only required for https://conversejs.org website
"moment": "components/momentjs/moment", "moment": "components/momentjs/moment",
"strophe": "components/strophe/strophe", "strophe": "components/strophe/strophe",
......
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<script type="text/javascript" src="components/backbone.browserStorage/backbone.browserStorage.js"></script> <script type="text/javascript" src="components/backbone.browserStorage/backbone.browserStorage.js"></script>
<script type="text/javascript" src="components/backbone.overview/backbone.overview.js"></script> <script type="text/javascript" src="components/backbone.overview/backbone.overview.js"></script>
<script type="text/javascript" src="components/momentjs/moment.js"></script> <script type="text/javascript" src="components/momentjs/moment.js"></script>
<script type="text/javascript" src="components/jquery.browser/index.js"></script> <script type="text/javascript" src="components/jquery.browser/dist/jquery.browser.js"></script>
<script type="text/javascript" src="components/typeahead.js/index.js"></script> <script type="text/javascript" src="components/typeahead.js/index.js"></script>
<script type="text/javascript" src="components/jed/jed.js"></script> <script type="text/javascript" src="components/jed/jed.js"></script>
<script type="text/javascript" src="builds/locales.js"></script> <script type="text/javascript" src="builds/locales.js"></script>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment