nit.git
8 years agoversion 0.7.6 v0.7.6
Jean Privat [Mon, 6 Jul 2015 16:07:58 +0000 (12:07 -0400)]
version 0.7.6

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Use the DOM parser in the RSS Downloader contrib
Jean Privat [Tue, 30 Jun 2015 18:07:07 +0000 (14:07 -0400)]
Merge: Use the DOM parser in the RSS Downloader contrib

`rss_downloader` now uses the DOM XML parser instead of regex to read RSS files. It is also easier to customize its behavior from the config class.

This PR also adds a few services to the DOM parser and fix a few bugs.

---

This PR is based on #1448 with fixed line endings.

Pull-Request: #1545
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: Remove niti hacks on NativeString and NativeFile
Jean Privat [Tue, 30 Jun 2015 18:06:58 +0000 (14:06 -0400)]
Merge: Remove niti hacks on NativeString and NativeFile

Previously, the interpreter used a FlatBuffer to implement NativeString and a File to implement NativeFile. This caused issues with applications using (mostly) `is_address_null` which could not be implemented correctly with these implementations.

This PR uses a real NativeString and NativeFile to implement the same class. For NativeFile, it is handled by the FFI so removing the old code is enough. For NativeString, many of its methods are intern so they had to be updated.

Pull-Request: #1543
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: nitdoc: use svg instead of png
Jean Privat [Tue, 30 Jun 2015 18:06:55 +0000 (14:06 -0400)]
Merge: nitdoc: use svg instead of png

NItdoc asks `dot` to render svg format instead of png.

Advantages:
* better performances
* less files
* better image quality
* css-able

Benchmarks against nitdoc-next (#1446):
![image](https://cloud.githubusercontent.com/assets/583144/8102371/88a6ed90-0fed-11e5-953b-cd0fa34b8f10.png)

Pull-Request: #1501
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agocontrib/rss: fix using the short filename to build patterns
Alexis Laferrière [Fri, 26 Jun 2015 20:48:53 +0000 (16:48 -0400)]
contrib/rss: fix using the short filename to build patterns

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/rss: do not check for previously downloaded files
Alexis Laferrière [Fri, 26 Jun 2015 20:48:28 +0000 (16:48 -0400)]
contrib/rss: do not check for previously downloaded files

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/rss: extract action applied to selected elements
Alexis Laferrière [Fri, 26 Jun 2015 17:59:52 +0000 (13:59 -0400)]
contrib/rss: extract action applied to selected elements

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/rss: use the dom parser
Alexis Laferrière [Fri, 26 Jun 2015 17:30:22 +0000 (13:30 -0400)]
contrib/rss: use the dom parser

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/file: fix doc of `Path::filename`
Alexis Laferrière [Fri, 26 Jun 2015 17:59:00 +0000 (13:59 -0400)]
lib/file: fix doc of `Path::filename`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/dom: intro `XMLStartTag::data`
Alexis Laferrière [Fri, 26 Jun 2015 17:29:37 +0000 (13:29 -0400)]
lib/dom: intro `XMLStartTag::data`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/dom: intro `XMLEntity::[]`
Alexis Laferrière [Fri, 26 Jun 2015 17:29:22 +0000 (13:29 -0400)]
lib/dom: intro `XMLEntity::[]`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/nitc: ignore SIGPIPE
Alexis Laferrière [Sun, 28 Jun 2015 13:55:10 +0000 (09:55 -0400)]
src/nitc: ignore SIGPIPE

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agoMerge: Deserialization manage errors & easily create Nit object from pure JSON
Jean Privat [Tue, 30 Jun 2015 11:42:50 +0000 (07:42 -0400)]
Merge: Deserialization manage errors & easily create Nit object from pure JSON

This PR intro better error management to the deserialization phase, the abstract engine and the JSON implementation. Deserialization of a malformed JSON string or a JSON serialized object from a different program version do not crash the program anymore, it will instead raise errors. When errors are raised, the deserialized object may be inconsistent with uninitialized attribute. Depending on the context, the object may have to be discarded or, usually with the user consent, it can be used with possible fatal failures later.

### Cool bonus part
This PR also lighten the JSON format expected by the deserializer. This allow for nicer custom creation of Nit objects from JSON.

For example, given a Opportunity-like Web app using the Nit class `MeetupConfig` declared like so:

~~~nit
class MeetupConfig
    serialize

    var description: String
    var max_participants: nullable Int
    var answers: Array[FlatString]
end
~~~

On the client-side JavaScript code, one can create a JSON object that will be converted to a Nit instance of `MeetupConfig` by the JSON deserialization services:

~~~json
{"__class": "MeetupConfig", "description": "My Awesome Meetup",
 "max_participants": null, "answers": ["Pepperoni", "Chicken"]}
~~~

### Future work

* We may need to precise the types of a few errors. Especially to differentiate between fatal errors and errors that can be overlooked. There is already `IOError` and `AttributeTypeError` that should be considered fatal.
* Infer advanced array type, such as `Array[MeetupConfig]`. As of now, only arrays of string, int, float, objects and their nullable variants are created.

Pull-Request: #1544
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Minor Improvements to the Parallelisation Phase
Jean Privat [Tue, 30 Jun 2015 11:42:45 +0000 (07:42 -0400)]
Merge: Minor Improvements to the Parallelisation Phase

Support modules without a module declaration and nullable types in threaded methods.

---
Don't worry, it's the last PR for today and my dev branches are getting short.

Pull-Request: #1546
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

8 years agoMerge: Fix issues in tests introduced by previous series
Jean Privat [Tue, 30 Jun 2015 11:42:27 +0000 (07:42 -0400)]
Merge: Fix issues in tests introduced by previous series

The main issue was that args where no more tested because of a bad variable scoping in bash

Pull-Request: #1547
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agoMerge: mongodb: auto generate ObjectId for inserted and saved documents
Jean Privat [Tue, 30 Jun 2015 00:48:48 +0000 (20:48 -0400)]
Merge: mongodb: auto generate ObjectId for inserted and saved documents

This PR enables the generation of unique ObjectIds for new JsonObject added to collection.

Example when inserting a document:
~~~nit
var obj = new JsonObject
obj["foo"] = "bar"
print obj.to_json
~~~

Object before insertion:
~~~json
{
   "foo": "bar"
}
~~~

After insertion:
~~~nit
collection.insert(obj)
print obj.to_json
~~~
~~~json
{
   "_id": {"$oid": "5578e5e5f34422650c27af01"},
   "foo": "bar"
}
~~~

Pull-Request: #1500
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: lib/markdown: add some tests for xml parsing inside a markdown block.
Jean Privat [Tue, 30 Jun 2015 00:48:41 +0000 (20:48 -0400)]
Merge: lib/markdown: add some tests for xml parsing inside a markdown block.

Added some test in the hope to reproduce #1059 bug. Everything is working as expected.

Closes: #1059 (can't reproduce)

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #1497
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: examples: add json example from rosetta code
Jean Privat [Tue, 30 Jun 2015 00:48:34 +0000 (20:48 -0400)]
Merge: examples: add json example from rosetta code

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #1494
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: DOM XML
Jean Privat [Tue, 30 Jun 2015 00:48:27 +0000 (20:48 -0400)]
Merge: DOM XML

Hi,

As Nit programmers, we might have to parse XML sometimes for one use or another.

We already had a SAX parser in library for the cases when one wanted to parse a long XML document in a memory-conscious way, often at the expense of the simplicity of the end-program.

This PR adds a very simple DOM parser that will need to be improved and robustified later, but who right now does the basics and should parse valid xml documents.

There is still a long way to get a full spec-compliant XML parser, but this is one base.

Pull-Request: #1448
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agotests: niti does not report the same line than nitc
Alexis Laferrière [Mon, 29 Jun 2015 22:57:33 +0000 (18:57 -0400)]
tests: niti does not report the same line than nitc

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agotests: update json serialization test results
Alexis Laferrière [Mon, 29 Jun 2015 20:47:05 +0000 (16:47 -0400)]
tests: update json serialization test results

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agotests: test a custom JsonDeserializer::class_name_heuristic
Alexis Laferrière [Mon, 29 Jun 2015 14:41:28 +0000 (10:41 -0400)]
tests: test a custom JsonDeserializer::class_name_heuristic

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: add hook to customize the deserialization of plain JSON objects
Alexis Laferrière [Mon, 29 Jun 2015 14:28:48 +0000 (10:28 -0400)]
lib/json: add hook to customize the deserialization of plain JSON objects

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: document deserializing custom JSON code to Nit objects
Alexis Laferrière [Mon, 29 Jun 2015 12:35:27 +0000 (08:35 -0400)]
lib/json: document deserializing custom JSON code to Nit objects

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agotests: test the tolerance of the JSON deserializer on custom JSON code
Alexis Laferrière [Mon, 29 Jun 2015 01:31:00 +0000 (21:31 -0400)]
tests: test the tolerance of the JSON deserializer on custom JSON code

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agotests: tests.sh do not grep on inexisting file to avoid warnings
Jean Privat [Mon, 29 Jun 2015 21:47:57 +0000 (17:47 -0400)]
tests: tests.sh do not grep on inexisting file to avoid warnings

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agotests: tests. use local variable in functions to avoid scope issues
Jean Privat [Mon, 29 Jun 2015 21:44:03 +0000 (17:44 -0400)]
tests: tests. use local variable in functions to avoid scope issues

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agosrc/parellalization_phase: minor style tweaks
Alexis Laferrière [Mon, 1 Jun 2015 13:14:32 +0000 (09:14 -0400)]
src/parellalization_phase: minor style tweaks

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/parallelisation_phase: do not rely on module name declaration
Alexis Laferrière [Mon, 1 Jun 2015 13:11:12 +0000 (09:11 -0400)]
src/parallelisation_phase: do not rely on module name declaration

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/parellalization_phase: support nullable parameters in threaded methods
Alexis Laferrière [Sun, 31 May 2015 23:06:26 +0000 (19:06 -0400)]
src/parellalization_phase: support nullable parameters in threaded methods

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/parallelisation_phase: remove superfluous if block
Alexis Laferrière [Sun, 31 May 2015 23:01:11 +0000 (19:01 -0400)]
src/parallelisation_phase: remove superfluous if block

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/markdown: add some tests for xml parsing inside a markdown block.
Alexandre Terrasa [Mon, 29 Jun 2015 15:20:39 +0000 (11:20 -0400)]
lib/markdown: add some tests for xml parsing inside a markdown block.

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agolib/mongodb: check null receiver when accessing names collection
Alexandre Terrasa [Mon, 29 Jun 2015 15:16:54 +0000 (11:16 -0400)]
lib/mongodb: check null receiver when accessing names collection

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agolib/mongodb: set automatic last id when inserting or saving a JsonObject
Alexandre Terrasa [Mon, 29 Jun 2015 15:16:28 +0000 (11:16 -0400)]
lib/mongodb: set automatic last id when inserting or saving a JsonObject

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agotests: Added tests for DOM XML parser
Lucas Bajolet [Mon, 29 Jun 2015 15:02:59 +0000 (11:02 -0400)]
tests: Added tests for DOM XML parser

Signed-off-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agolib/json: infer type of simple JSON array at deserialization
Alexis Laferrière [Mon, 29 Jun 2015 10:53:46 +0000 (06:53 -0400)]
lib/json: infer type of simple JSON array at deserialization

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: serialize `Array[nullable Serializable]` as any other arrays
Alexis Laferrière [Mon, 29 Jun 2015 12:28:57 +0000 (08:28 -0400)]
lib/json: serialize `Array[nullable Serializable]` as any other arrays

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agoMerge: contrib/opportunité: prevent useless xss exploit in meetup confirmation
Jean Privat [Mon, 29 Jun 2015 12:21:02 +0000 (08:21 -0400)]
Merge: contrib/opportunité: prevent useless xss exploit in meetup confirmation

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

Pull-Request: #1541
Reviewed-by: Jean-Philippe Caissy <jpcaissy@piji.ca>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agoMerge: Personalized tests
Jean Privat [Mon, 29 Jun 2015 12:20:56 +0000 (08:20 -0400)]
Merge: Personalized tests

Extends the tests.sh infrastructure to be configurable by os and hostname

* handle `sav/$os`, `sav/$os/fixme`, `sav/$hostname` and `sav/$hostname/fixme` sav directories that can contains specific results `.res` when there is an expected divergence on results per architecture or machine
* specific `$hostname.skip` file to skip tests on a host basis (`$os.skip` files did already exists to filter at the architecture level)
* additional `sav/$foo/cc.skip` and `sav/$foo/exec.skip` where foo can be engines, os or hostname to fine-tune more things

Pull-Request: #1540
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agoMerge: Opportunity templates and pizzas
Jean Privat [Mon, 29 Jun 2015 12:20:50 +0000 (08:20 -0400)]
Merge: Opportunity templates and pizzas

Adds templates to the Opportunity meetup creation page. The default software provides: 4 kinds of pizzas, 5 days work week and 7 days week. The software customized for xymus.net also provides: pizzas special LATECE and meeting hours for UQAM Sciences.

It is already available at http://xymus.net/opportunity/.

Pull-Request: #1539
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: Third batch of rosettacode
Jean Privat [Mon, 29 Jun 2015 12:20:43 +0000 (08:20 -0400)]
Merge: Third batch of rosettacode

Cleaning, small fixes and/or improved tests

Pull-Request: #1535
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

8 years agoMerge: Audio API implementation for linux
Jean Privat [Mon, 29 Jun 2015 12:20:36 +0000 (08:20 -0400)]
Merge: Audio API implementation for linux

fixes #1527.
The ideal solution would still be to implement SDL sounds but for now, this will be sufficient

Pull-Request: #1533
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agoMerge: example: add arithmetic mean example from rosetta code
Jean Privat [Mon, 29 Jun 2015 12:20:29 +0000 (08:20 -0400)]
Merge: example: add arithmetic mean example from rosetta code

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

Pull-Request: #1480
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agolib&src/serialization: use deserialize_class_intern to avoid conflicts with custom...
Alexis Laferrière [Mon, 29 Jun 2015 10:52:41 +0000 (06:52 -0400)]
lib&src/serialization: use deserialize_class_intern to avoid conflicts with custom implementations

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/serialization_phase: fix searching for `deserialize_class` in `Deserializer`
Alexis Laferrière [Mon, 29 Jun 2015 10:51:12 +0000 (06:51 -0400)]
src/serialization_phase: fix searching for `deserialize_class` in `Deserializer`

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: there's no need for the length attribute in the generated JSON
Alexis Laferrière [Mon, 29 Jun 2015 10:44:37 +0000 (06:44 -0400)]
lib/json: there's no need for the length attribute in the generated JSON

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: clear error list on each call to deserialize
Alexis Laferrière [Mon, 29 Jun 2015 02:14:46 +0000 (22:14 -0400)]
lib/json: clear error list on each call to deserialize

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: improve the human readable version of JsonParseError
Alexis Laferrière [Mon, 29 Jun 2015 01:31:26 +0000 (21:31 -0400)]
lib/json: improve the human readable version of JsonParseError

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: the `__kind` attribute is optional
Alexis Laferrière [Mon, 29 Jun 2015 01:35:48 +0000 (21:35 -0400)]
lib/json: the `__kind` attribute is optional

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: parse errors are moved to deserializer errors
Alexis Laferrière [Mon, 29 Jun 2015 01:35:14 +0000 (21:35 -0400)]
lib/json: parse errors are moved to deserializer errors

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: serialization is more tolerant to errors
Alexis Laferrière [Mon, 29 Jun 2015 00:47:43 +0000 (20:47 -0400)]
lib/json: serialization is more tolerant to errors

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/json: object __id is optional
Alexis Laferrière [Mon, 29 Jun 2015 00:47:17 +0000 (20:47 -0400)]
lib/json: object __id is optional

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/serialization_phase: generate code to be more tolerant to errors
Alexis Laferrière [Mon, 29 Jun 2015 02:09:08 +0000 (22:09 -0400)]
src/serialization_phase: generate code to be more tolerant to errors

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/serialization: deserialize_class should not be public
Alexis Laferrière [Mon, 29 Jun 2015 02:10:34 +0000 (22:10 -0400)]
lib/serialization: deserialize_class should not be public

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agolib/serialization: prepare to collect errors and customize reactions to them
Alexis Laferrière [Tue, 26 May 2015 09:57:14 +0000 (05:57 -0400)]
lib/serialization: prepare to collect errors and customize reactions to them

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/serialization: use multiline strings
Alexis Laferrière [Tue, 26 May 2015 00:51:44 +0000 (20:51 -0400)]
src/serialization: use multiline strings

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agotests: remove undefined tests results that work without the hacks
Alexis Laferrière [Fri, 26 Jun 2015 23:03:28 +0000 (19:03 -0400)]
tests: remove undefined tests results that work without the hacks

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/niti: mkdir the compile dir only if it doesn't exist
Alexis Laferrière [Fri, 26 Jun 2015 23:02:49 +0000 (19:02 -0400)]
src/niti: mkdir the compile dir only if it doesn't exist

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/niti: use a real NativeString
Alexis Laferrière [Fri, 26 Jun 2015 23:10:52 +0000 (19:10 -0400)]
src/niti: use a real NativeString

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/niti: remove hack on NativeFile
Alexis Laferrière [Fri, 26 Jun 2015 23:12:33 +0000 (19:12 -0400)]
src/niti: remove hack on NativeFile

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/niti: remove intern implementations to extern methods
Alexis Laferrière [Fri, 26 Jun 2015 21:18:45 +0000 (17:18 -0400)]
src/niti: remove intern implementations to extern methods

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunité: prevent useless xss exploit in meetup confirmation
Alexis Laferrière [Thu, 25 Jun 2015 20:33:18 +0000 (16:33 -0400)]
contrib/opportunité: prevent useless xss exploit in meetup confirmation

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agonitdoc: update tests for svg
Alexandre Terrasa [Thu, 11 Jun 2015 07:46:27 +0000 (03:46 -0400)]
nitdoc: update tests for svg

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agonitdoc: convert dot to svg instead of png
Alexandre Terrasa [Thu, 11 Jun 2015 06:57:32 +0000 (02:57 -0400)]
nitdoc: convert dot to svg instead of png

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agobench_nitdoc: allow other git ref than origin/master
Alexandre Terrasa [Thu, 11 Jun 2015 07:40:54 +0000 (03:40 -0400)]
bench_nitdoc: allow other git ref than origin/master

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agoexample: add arithmetic mean example from rosetta code
Alexandre Terrasa [Wed, 24 Jun 2015 18:45:38 +0000 (14:45 -0400)]
example: add arithmetic mean example from rosetta code

Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

8 years agocontrib/friendz/friendz_linux.nit uses linux audio app
BlackMinou [Sun, 21 Jun 2015 17:41:58 +0000 (19:41 +0200)]
contrib/friendz/friendz_linux.nit uses linux audio app

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agoAudio : Introduces linux audio
BlackMinou [Sun, 21 Jun 2015 17:41:17 +0000 (19:41 +0200)]
Audio : Introduces linux audio

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agotests: skips some tests for Darwin
Jean Privat [Tue, 23 Jun 2015 18:10:26 +0000 (14:10 -0400)]
tests: skips some tests for Darwin

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agocontrib/opportunity: add the 'Clear' template
Alexis Laferrière [Tue, 23 Jun 2015 15:38:18 +0000 (11:38 -0400)]
contrib/opportunity: add the 'Clear' template

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agotests: skip tests by hostname
Jean Privat [Tue, 23 Jun 2015 15:03:25 +0000 (11:03 -0400)]
tests: skip tests by hostname

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agotests: exec.skip and cc.skip are searched in the sav directories
Jean Privat [Tue, 23 Jun 2015 14:59:14 +0000 (10:59 -0400)]
tests: exec.skip and cc.skip are searched in the sav directories

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agotests: special sav directories available for uname and system.
Jean Privat [Fri, 19 Jun 2015 01:32:38 +0000 (21:32 -0400)]
tests: special sav directories available for uname and system.

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agoexamples/xymus.net: use the french Opportunité name in the header
Alexis Laferrière [Tue, 23 Jun 2015 14:51:23 +0000 (10:51 -0400)]
examples/xymus.net: use the french Opportunité name in the header

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agoexamples/xymus.net: add UQAM/LATECE specific opportunities templates
Alexis Laferrière [Tue, 23 Jun 2015 14:51:01 +0000 (10:51 -0400)]
examples/xymus.net: add UQAM/LATECE specific opportunities templates

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunity: provide french translation for default templates
Alexis Laferrière [Tue, 23 Jun 2015 14:50:21 +0000 (10:50 -0400)]
contrib/opportunity: provide french translation for default templates

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunity: add opportunities templates
Alexis Laferrière [Thu, 26 Mar 2015 15:54:44 +0000 (11:54 -0400)]
contrib/opportunity: add opportunities templates

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunity: improve style of the maybe option checkbox
Alexis Laferrière [Wed, 25 Mar 2015 19:01:26 +0000 (15:01 -0400)]
contrib/opportunity: improve style of the maybe option checkbox

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agorosetta: ethiopian_multiplication
Renata Carvalho [Thu, 11 Jun 2015 15:05:36 +0000 (11:05 -0400)]
rosetta: ethiopian_multiplication

Close #1464

Signed-off-by: Renata Carvalho <renatawm@gmail.com>

8 years agoRosettaCode: Vignere
Simon Zeni [Tue, 23 Jun 2015 00:11:24 +0000 (20:11 -0400)]
RosettaCode: Vignere

Close #1479

8 years agotests: add pig_the_dice_game
Jean Privat [Tue, 23 Jun 2015 00:04:25 +0000 (20:04 -0400)]
tests: add pig_the_dice_game

Signed-off-by: Jean Privat <jean@pryen.org>

8 years agorosettacode: pig the dice game
Romain Chanoir [Tue, 23 Jun 2015 00:04:11 +0000 (20:04 -0400)]
rosettacode: pig the dice game

Close #1485

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agoMerge: rosetta code: one_dimensional_cellular_automata
Jean Privat [Mon, 22 Jun 2015 23:55:45 +0000 (19:55 -0400)]
Merge: rosetta code: one_dimensional_cellular_automata

Signed-off-by: Jean Privat <jean@pryen.org>

Pull-Request: #1493

8 years agoMerge: Opportunity i18n & traduction française
Jean Privat [Mon, 22 Jun 2015 23:54:30 +0000 (19:54 -0400)]
Merge: Opportunity i18n & traduction française

This PR brings partial i18n support to Opportunity with a french translation. Most strings from the
 UI are covered but not the error messages. This PR also fixes a few bugs in the i18n phase.

I still have difficulty with the deployment. Launching my web server use `LANGUAGE=fr sudo bin/xymus_net` works, but not when using `daemonize -E LANGUAGE=fr ...`. @R4PaSs do you have an idea for a solution?

http://xymus.net/opportunity/ temporary serves the French version of the site. I may have to revert tot the English version if I need monit and I can't fix the locale issue.

Pull-Request: #1531
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

8 years agoMerge: Geometry fix
Jean Privat [Mon, 22 Jun 2015 23:53:43 +0000 (19:53 -0400)]
Merge: Geometry fix

There was a big mistake in the boxes API where you would get the bottom of a line when calling for it's top and get the top when you were calling for the bottom xD, so fixed it.
There also was a bug with the usage of the Numerics in the quadtree API.
Also implemented a to_s for quadtree, but not sure if it needs to stay here.

Pull-Request: #1534
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Use light FFI instead of the legacy NI in the lib
Jean Privat [Mon, 22 Jun 2015 23:52:49 +0000 (19:52 -0400)]
Merge: Use light FFI instead of the legacy NI in the lib

Update all extern methods previously implemented with the legacy NI to use the light FFI. Also cleans up the `_nit.[ch]` files and a few redundant `is extern` declarations.

There could be a performance hit because we add at least one layer of indirection when invoking the extern method code. And some were previously only macros applied within the generated internal code... However I don't see a difference with the performance of nitc and it can be optimized by the C compiler.

The C structure used in the `exec` module should be replaced by a Nit class. I've added 2 FIXMEs to make it clear. The C structure makes dealing with calls to `pipe` easier but it also makes the rest of the code more complex than needed.

The only use of the legacy NI left is the parser generated by the modified SableCC.

Pull-Request: #1520
Reviewed-by: Jean Privat <jean@pryen.org>

8 years agoMerge: Nitunit fails bad code
Jean Privat [Mon, 22 Jun 2015 19:36:14 +0000 (15:36 -0400)]
Merge: Nitunit fails bad code

Documentation that contains only bad code (not tagged) is now reported by nitunit as it should be.

Pull-Request: #1522
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

8 years agoMerge: Adaptive typing: fix buggy warning messages
Jean Privat [Mon, 22 Jun 2015 19:36:12 +0000 (15:36 -0400)]
Merge: Adaptive typing: fix buggy warning messages

 #1257 relaxed some rules about untyped code in order to allow the compiler to compute a fixed point. So an inconsistent state with untyped code was permitted during the typing.

The problem is that errors messages or warnings could be prematurely displayed during the analysis thus be false because based on non final information.
The solution is to add a post-processing after the fixed point and delay the premature warning so that the information used is computed and reliable.

Moreover, the `useless null test because always null` is now brought back (it was disabled because caused too much unreliable noise)

Close #1257

Pull-Request: #1524
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Romain Chanoir <chanoir.romain@courrier.uqam.ca>

8 years agotests: skip nitpick args1 in niti and nitvm
Alexis Laferrière [Mon, 22 Jun 2015 13:42:06 +0000 (09:42 -0400)]
tests: skip nitpick args1 in niti and nitvm

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunity: gitignore .pot and .mo files
Alexis Laferrière [Sun, 21 Jun 2015 21:06:16 +0000 (17:06 -0400)]
contrib/opportunity: gitignore .pot and .mo files

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/i18n_phase: there's no need to unescape
Alexis Laferrière [Sat, 20 Jun 2015 11:44:01 +0000 (07:44 -0400)]
src/i18n_phase: there's no need to unescape

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/i18n_phase: breakup 2 complexe lines of code
Alexis Laferrière [Sat, 20 Jun 2015 11:48:51 +0000 (07:48 -0400)]
src/i18n_phase: breakup 2 complexe lines of code

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agosrc/i18n_phase: use an escape custom to gettext
Alexis Laferrière [Fri, 19 Jun 2015 14:59:30 +0000 (10:59 -0400)]
src/i18n_phase: use an escape custom to gettext

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunity: add rule to build .mo files
Alexis Laferrière [Sat, 20 Jun 2015 03:02:54 +0000 (23:02 -0400)]
contrib/opportunity: add rule to build .mo files

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunity: intro french translation
Alexis Laferrière [Fri, 19 Jun 2015 15:04:10 +0000 (11:04 -0400)]
contrib/opportunity: intro french translation

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunity: hack to circumvent #1530
Alexis Laferrière [Fri, 19 Jun 2015 15:02:49 +0000 (11:02 -0400)]
contrib/opportunity: hack to circumvent #1530

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agocontrib/opportunity: prepare for i18n by separating the localized strings from the...
Alexis Laferrière [Fri, 19 Jun 2015 15:01:24 +0000 (11:01 -0400)]
contrib/opportunity: prepare for i18n by separating the localized strings from the rest

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

8 years agogeometry/quadtree: fixed use of the numerics
BlackMinou [Sun, 21 Jun 2015 17:32:41 +0000 (19:32 +0200)]
geometry/quadtree: fixed use of the numerics

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agogeometry/boxes: top and bottom in ILine were inversed...
BlackMinou [Sun, 21 Jun 2015 17:35:58 +0000 (19:35 +0200)]
geometry/boxes: top and bottom in ILine were inversed...

Signed-off-by: BlackMinou <romain.chanoir@viacesi.fr>

8 years agolib/text: protect the `format` method against inconsistencies
Alexis Laferrière [Fri, 19 Jun 2015 15:00:24 +0000 (11:00 -0400)]
lib/text: protect the `format` method against inconsistencies

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>