nit.git
7 years agotyping: `isa` do not adapt to a supertype.
Jean Privat [Sat, 25 Jun 2016 16:03:57 +0000 (12:03 -0400)]
typing: `isa` do not adapt to a supertype.

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

7 years agoMerge: Basic Memory Profiler
Jean Privat [Fri, 24 Jun 2016 19:19:04 +0000 (15:19 -0400)]
Merge: Basic Memory Profiler

Here a proof of concept of a basic memory profiler for Nit.
The approach is an option `--trace-memory` that generate a logger with the rest of the code.
Each allocation event produce a line in an time-stamped log file.

When compiling nitc with nitc, the generated log is 300MB. Quite big but manageable.
There is not a lot of optimizations, we let the libc cache the writing of the log.
So there is an overhead.

without `--trace-memory`:
* real 0m5.721s
* user 0m7.216s

with it
* real  0m8.730s (+52%, beause IO I think)
* user 0m9.600s (+33%)

To process the log file, a autonomous tool `memplot` is provided that is made of a nit converter to csv and a R plot script.
There is not a lot of usability, configuration is done by hacking the source code :)

Here a result for the nitc compilation

![memory](https://cloud.githubusercontent.com/assets/135828/16327063/245d273c-399a-11e6-82d3-950db85f7326.png)

The PR is divided into 3 parts:

* preparation of the infrastructure in the compiler (agnostic)
* extension of nitc that refines methods to add the logger
* the quick and dirty memplot tool

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

7 years agoMerge: loader accept qualified names
Jean Privat [Fri, 24 Jun 2016 19:19:01 +0000 (15:19 -0400)]
Merge: loader accept qualified names

Tools understand qualified names `foo::bar` to designate a module in a package.
Basically all this was to allow `-m foo::bar` when compiling.

The specification of the loader is now a little more complex but should be more expressive and POLA.

* `nitc foo.nit` compile the file `./foo.nit`
* `nitc foo` compile a module `foo` that ca be: `./foo/foo.nit` or else `nitlib/foo.nit` or `nitlib/foo/foo.nit`
* `nitc ./foo` or `nitc foo/` or `nitc foo/foo.nit` compile the module `./foo/foo.nit`
* `nitc foo::bar` compile the module `bar` of the package `foo`. foo can be a local directory (`./foo/`) or a sub-directory of the nitpath (`nitlib/foo`). This in fact should work like `import foo::bar` in source code.

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

7 years agoMerge: app.nit: propagate events (such as a button press) to the parents of the control
Jean Privat [Fri, 24 Jun 2016 19:18:47 +0000 (15:18 -0400)]
Merge: app.nit: propagate events (such as a button press) to the parents of the control

UI events, such as a button press or a check box toggle, were only sent to the observers of a control, and the control itself. For this reason, every button was watched by the window or some other container.

Propagating the events to the parents (direct and indirect) reaches the window and all of its containers. This allows for more modular code and components, and it removes the need for manually declaring the window as an observer.

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

7 years agoman: document --trace-memory in nitc.md
Jean Privat [Fri, 24 Jun 2016 13:00:28 +0000 (09:00 -0400)]
man: document --trace-memory in nitc.md

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

7 years agoman: new section DEBUGGING in nitc.md
Jean Privat [Fri, 24 Jun 2016 13:00:01 +0000 (09:00 -0400)]
man: new section DEBUGGING in nitc.md

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

7 years agocontrib/memplot: to visualize output of --trace-memory
Jean Privat [Fri, 24 Jun 2016 12:59:07 +0000 (08:59 -0400)]
contrib/memplot: to visualize output of --trace-memory

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

7 years agotests: add test_loader.args and some detached packages
Jean Privat [Fri, 24 Jun 2016 12:48:56 +0000 (08:48 -0400)]
tests: add test_loader.args and some detached packages

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

7 years agonitc: add memory_logger.nit
Jean Privat [Fri, 24 Jun 2016 02:28:25 +0000 (22:28 -0400)]
nitc: add memory_logger.nit

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

7 years agocompiler: add hooks for before and at the begin of the C `main`
Jean Privat [Fri, 24 Jun 2016 02:09:59 +0000 (22:09 -0400)]
compiler: add hooks for before and at the begin of the C `main`

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

7 years agocompiler: do not call C `nit_alloc` directly but a Nit method.
Jean Privat [Fri, 24 Jun 2016 02:08:36 +0000 (22:08 -0400)]
compiler: do not call C `nit_alloc` directly but a Nit method.

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

7 years agocompiler: remove services for deprecated calloc_array
Jean Privat [Fri, 24 Jun 2016 02:06:05 +0000 (22:06 -0400)]
compiler: remove services for deprecated calloc_array

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

7 years agoengines: remove useless native method `calloc_string`
Jean Privat [Fri, 24 Jun 2016 02:05:06 +0000 (22:05 -0400)]
engines: remove useless native method `calloc_string`

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

7 years agocalculator & benitlux: remove obsolete explicit observer declaration
Alexis Laferrière [Fri, 24 Jun 2016 01:20:21 +0000 (21:20 -0400)]
calculator & benitlux: remove obsolete explicit observer declaration

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

7 years agoapp.nit: events are propagated to parents of controls
Alexis Laferrière [Thu, 23 Jun 2016 22:09:44 +0000 (18:09 -0400)]
app.nit: events are propagated to parents of controls

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

7 years agoapp.nit: fix name of `align` parameter for use in autoinit
Alexis Laferrière [Thu, 23 Jun 2016 22:08:20 +0000 (18:08 -0400)]
app.nit: fix name of `align` parameter for use in autoinit

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

7 years agoMerge: nitlight as a service with embedded editor and ajax updates
Jean Privat [Thu, 23 Jun 2016 20:21:52 +0000 (16:21 -0400)]
Merge: nitlight as a service with embedded editor and ajax updates

It is less and less an example but nitlight_as_a_service now features a client-side editor (http://codemirror.net/) and update the page with some crappy ajax code.

http://test.nitlanguage.org/

Pull-Request: #2197

7 years agoMerge: nitcc: add prefixes
Jean Privat [Thu, 23 Jun 2016 20:21:48 +0000 (16:21 -0400)]
Merge: nitcc: add prefixes

This add the `Prefixes` operator that returns the set of all prefixes of a regular language.
This also fixes some bugs.

Pull-Request: #2195

7 years agoMerge: Nitweb snippets
Jean Privat [Thu, 23 Jun 2016 20:21:37 +0000 (16:21 -0400)]
Merge: Nitweb snippets

Documentation of this PR is [here](http://nitweb.moz-code.org/docdown?snippet=IyBIZWxsbyBHaXRodWIKClRoaXMgaXMgYSBkb2N1bWVudGF0aW9uIHNuaXBwZXQuCllvdSBjYW4gdXNlIGl0IHRvIGRvY3VtZW50IHRoaW5ncyBvbiB0aGUgZmx5IGFuZCBzaGFyZSBpdCB3aXRoIG90aGVyIE5pdCB1c2Vycy4KCiMjIEJhc2ljcwoKQmFzaWNhbGx5LCBEb2Nkb3duIGFsbG93cyB5b3UgdG8gd3JpdGUgbWFyZG93biBkb2N1bWVudGF0aW9uIHVzaW5nIHRoZSBbbWFya2Rvd25dKGh0dHBzOi8vZGFyaW5nZmlyZWJhbGwubmV0L3Byb2plY3RzL21hcmtkb3duLykgZm9ybWF0LgoKU29tZSBleGFtcGxlczoKCn5%2BfnJhdwoqIHRoaXMKKiBpcyBhCiogbGlzdAp%2Bfn4KCj4gVGhpcyBpcyBhIGNpdGF0aW9uLgoKIyMgV3JpdGluZyBuaXQgY29kZQoKRG9jZG93biBkZXBlbmRzIG9uIHRoZSBuaXQgaGlnaGxpZ2h0ZXIgc28geW91IGNhbiB3cml0ZSBOaXQgd2l0aGluIHlvdXIgZG9jIHNuaXBwZXQ6Cgp%2Bfn4KcHJpbnQgImhlbGxvIHdvcmxkIgp%2Bfn4KCiMjIExpbmtpbmcgbW9kZWwgZW50aXRpZXMKCkRvY2Rvd24gdXNlcyBgW1t3aWtpbGlua3NdXWAgdG8gZW5oYW5jZSB0aGUgbWFya2Rvd24gbGFuZ3VhZ2UgZm9yIGRvY3VtZW50YXRpb24uCgpVc2luZyB3aWtpbGlua3MgeW91IGNhbiBjcmVhdGUgbGlua3MgdG8gdGhlIGRvY3VtZW50YXRpb24gb2YgYSBNRW50aXR5IGxpa2UgdGhpczogW1tjb3JlOjpBcnJheV1dCllvdSBjYW4gbGluayB0byBtZW50aXRpZXMgbGlrZSB0aGlzOiBbW2NvcmVdXS4KClRoZSBgZG9jYCBjb21tYW5kIGluamVjdHMgdGhlIGRvY3VtZW50YXRpb24gb2YgYSBNRW50aXR5IGludG8gdGhlIHNuaXBwZXQ6Cgp%2Bfn4KW1tkb2M6IGNvcmU6OkFycmF5XV0Kfn5%2BCgpFeGFtcGxlIHdpdGggdGhlIFtbY29yZTo6QXJyYXldXSBjbGFzczoKW1tkb2M6IGNvcmU6OkFycmF5XV0KCiMjIExpc3RzCgpUaGUgYGxpc3RgIGNvbW1hbmQgaXMgdXNlZCB0byBpbmplY3QgbWVudGl0aWVzIGxpc3RzIGludG8gYSBzbmlwcGV0czoKCiAgICBbW2xpc3Q6IGNvcmU6OmFycmF5XV0KCkV4YW1wbGUgd2l0aCB0aGUgY2xhc3NlcyBpbnRvIHRoZSBbW2NvcmU6OmFycmF5XV0gbW9kdWxlOgpbW2xpc3Q6IGNvcmU6OmFycmF5XV0KCiMjIEluamVjdGluZyBjb2RlCgpVc2UgdGhlIGBjb2RlYCBjb21tYW5kIHRvIGludHJvZHVjZSBhIGNvZGUgc25pcHBldCBpbnRvIHlvdXIgZG9jdW1lbnRhdGlvbjoKCiAgICBbW2NvZGU6IGNvcmU6OkFycmF5Ojpmcm9tXV0KCkV4YW1wbGU6CltbY29kZTogY29yZTo6QXJyYXk6OmZyb21dXQoKIyMgR3JhcGgKCkZpbmFsbHksIHRoZSBgZ3JhcGhgIGNvbW1hbmQgY2FuIGJlIHVzZWQgdG8gaW5zZXJ0IGEgU1ZHIGdyYXBoIGFib3V0IGEgbWVudGl0eS4KCiAgICBbW2dyYXBoOiBjb3JlOjpjb2xsZWN0aW9uXV0KCkV4YW1wbGU6CgpbW2dyYXBoOiBjb3JlOjpjb2xsZWN0aW9uXV0KCiMjIEVycm9ycyBhbmQgd2FybmluZ3MKCk5pdHdlYiB3aWxsIGNoZWNrIHlvdXIgc25pcHBldCBmb3IgaW5jb25zaXN0ZW5jaWVzLgoKSXQgaXMgYWJsZSB0byBsb2NhdGUgdW5rbm93biBjb21tYW5kczoKCn5%2BfnJhdwpbW2xvbDogbG9sXV0Kfn5%2BCgpbW2xvbDogbG9sXV0KClVua25vd24gZW50aXRpZXM6Cgp%2Bfn5yYXcKW1tkb2M6IGxvbF1dCn5%2BfgoKW1tkb2M6IGxvbF1dCgpBbmQgZXZlbiB3YXJuIHlvdSB3aGVuIGluY2x1ZGluZyBlbXB0eSBkb2N1bWVudGF0aW9uOgoKfn5%2BcmF3CltbZG9jOiBjb3JlJENvbXBhcmFibGUkT2JqZWN0OjpTRUxGXV0Kfn5%2BCgpbW2RvYzogY29yZSRDb21wYXJhYmxlJE9iamVjdDo6U0VMRl1d).

PS: Review only the last 3 commits, others are from #2193.

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

7 years agonitcc: tests prefixes
Jean Privat [Thu, 23 Jun 2016 01:33:21 +0000 (21:33 -0400)]
nitcc: tests prefixes

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

7 years agonitcc: fix `Automaton::trim`
Jean Privat [Tue, 21 Jun 2016 17:45:32 +0000 (13:45 -0400)]
nitcc: fix `Automaton::trim`

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

7 years agonitcc: add `Automaton::assert_valid`
Jean Privat [Tue, 21 Jun 2016 17:45:12 +0000 (13:45 -0400)]
nitcc: add `Automaton::assert_valid`

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

7 years agonitcc: add `Prefixes` operator
Jean Privat [Tue, 21 Jun 2016 17:06:36 +0000 (13:06 -0400)]
nitcc: add `Prefixes` operator

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

7 years agonitcc: to_minimal_dfa fix transition checks (and document it)
Jean Privat [Tue, 21 Jun 2016 17:04:45 +0000 (13:04 -0400)]
nitcc: to_minimal_dfa fix transition checks (and document it)

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

7 years agohighlight: avoid some NPE and fix warnings
Jean Privat [Thu, 23 Jun 2016 19:06:27 +0000 (15:06 -0400)]
highlight: avoid some NPE and fix warnings

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

7 years agonitlight_aas: inject a tailing `\n` to avoid parsing issues.
Jean Privat [Thu, 23 Jun 2016 19:08:15 +0000 (15:08 -0400)]
nitlight_aas: inject a tailing `\n` to avoid parsing issues.

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

7 years agonitlight_aas: ajax update the content
Jean Privat [Thu, 23 Jun 2016 18:18:20 +0000 (14:18 -0400)]
nitlight_aas: ajax update the content

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

7 years agonitlight_aas: register and clean line widgets.
Jean Privat [Thu, 23 Jun 2016 18:15:51 +0000 (14:15 -0400)]
nitlight_aas: register and clean line widgets.

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

7 years agonitlight_aas: use linewidgets for error messages
Jean Privat [Thu, 23 Jun 2016 18:10:08 +0000 (14:10 -0400)]
nitlight_aas: use linewidgets for error messages

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

7 years agonitlight_aas: move up hightlightcode
Jean Privat [Thu, 23 Jun 2016 18:07:24 +0000 (14:07 -0400)]
nitlight_aas: move up hightlightcode

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

7 years agonitlight_aas: use codemirror as editor
Jean Privat [Thu, 23 Jun 2016 18:04:18 +0000 (14:04 -0400)]
nitlight_aas: use codemirror as editor

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

7 years agonitlight_aas: HLCode for standalone highlighted piece of code
Jean Privat [Thu, 23 Jun 2016 17:37:14 +0000 (13:37 -0400)]
nitlight_aas: HLCode for standalone highlighted piece of code

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

7 years agonitlight_aas: use templates
Jean Privat [Thu, 23 Jun 2016 17:33:53 +0000 (13:33 -0400)]
nitlight_aas: use templates

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

7 years agonitweb/angular: add DocDown snippets page
Alexandre Terrasa [Wed, 22 Jun 2016 01:20:45 +0000 (21:20 -0400)]
nitweb/angular: add DocDown snippets page

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

7 years agonitweb: add /docdown route
Alexandre Terrasa [Wed, 22 Jun 2016 01:20:10 +0000 (21:20 -0400)]
nitweb: add /docdown route

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

7 years agosrc/doc: add doc command DocGraph
Alexandre Terrasa [Wed, 22 Jun 2016 01:19:51 +0000 (21:19 -0400)]
src/doc: add doc command DocGraph

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

7 years agosrc/doc: remove doc_commands dependency to doc_base
Alexandre Terrasa [Tue, 21 Jun 2016 17:31:57 +0000 (13:31 -0400)]
src/doc: remove doc_commands dependency to doc_base

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

7 years agoMerge: nitweb: misc enhancements and cleaning
Jean Privat [Wed, 22 Jun 2016 17:34:47 +0000 (13:34 -0400)]
Merge: nitweb: misc enhancements and cleaning

## PR summary

* remove useless modules since angular introduction
* factorize some angular code
* factorize routes /package, /group, /module... into /doc
* display error messages
* add a loading progress bar

### Unified routes

Instead of having different prefix on the kind of mentity, URLs are no unified under the `doc/` prefix:

* http://nitweb.moz-code.org/doc/core
* http://nitweb.moz-code.org/doc/core::Array
* http://nitweb.moz-code.org/doc/core::Sequence::append

### Error messages

Unknown mentities now trigger an error message:

* http://nitweb.moz-code.org/doc/core::Sequence::append2

### Loading bar

There is now an orange (but discrete) progress bar in the top of the screen while loading ressources dynamically.

Checkout the top of the screen while loading: http://nitweb.moz-code.org/

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

7 years agonitweb/angular: add loading bar on top of screen
Alexandre Terrasa [Tue, 21 Jun 2016 16:25:25 +0000 (12:25 -0400)]
nitweb/angular: add loading bar on top of screen

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

7 years agonitweb/angular: display an error message when no doc is found for a full_name
Alexandre Terrasa [Tue, 21 Jun 2016 16:24:47 +0000 (12:24 -0400)]
nitweb/angular: display an error message when no doc is found for a full_name

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

7 years agonitweb: api return the unified web_url
Alexandre Terrasa [Tue, 21 Jun 2016 15:51:11 +0000 (11:51 -0400)]
nitweb: api return the unified web_url

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

7 years agonitweb/angular: remove factorized header
Alexandre Terrasa [Tue, 21 Jun 2016 15:50:56 +0000 (11:50 -0400)]
nitweb/angular: remove factorized header

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

7 years agonitweb/angular: unify documentation packages
Alexandre Terrasa [Tue, 21 Jun 2016 15:50:23 +0000 (11:50 -0400)]
nitweb/angular: unify documentation packages

no more /package /group etc...

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

7 years agonitweb/angular: introduce namespace directive
Alexandre Terrasa [Tue, 21 Jun 2016 15:49:41 +0000 (11:49 -0400)]
nitweb/angular: introduce namespace directive

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

7 years agosrc: move model_html module from web/ to doc/
Alexandre Terrasa [Sat, 28 May 2016 20:10:11 +0000 (16:10 -0400)]
src: move model_html module from web/ to doc/

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

7 years agonitweb: remove useless modules since Angular app introduction
Alexandre Terrasa [Sat, 28 May 2016 20:08:43 +0000 (16:08 -0400)]
nitweb: remove useless modules since Angular app introduction

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

7 years agoMerge: nitweb: add graphs stubs
Jean Privat [Tue, 21 Jun 2016 19:15:40 +0000 (15:15 -0400)]
Merge: nitweb: add graphs stubs

Add some very simple graphs tabs to nitweb:

* Packages: http://nitweb.moz-code.org/package/popcorn
* Groups: http://nitweb.moz-code.org/group/popcorn%3E
* Modules: http://nitweb.moz-code.org/module/core::array
* Classes: http://nitweb.moz-code.org/class/core::Array

Pull-Request: #2174
Reviewed-by: Istvan SZALAÏ <istvan.szalai@savoirfairelinux.com>
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Arthur Delamare <arthur.delamare@viacesi.fr>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>

7 years agoMerge: model: Fix spelling mistake
Jean Privat [Tue, 21 Jun 2016 19:15:34 +0000 (15:15 -0400)]
Merge: model: Fix spelling mistake

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

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

7 years agoMerge: Java FFI: Improve documentation of `java` and `jvm`
Jean Privat [Tue, 21 Jun 2016 19:15:27 +0000 (15:15 -0400)]
Merge: Java FFI: Improve documentation of `java` and `jvm`

This PR improves the documentation of the modules related to the Java FFI: `java` and `jvm`. Besides the doc itself, the name of the module `java::base` has been changed to the more meaningful `java::ffi_support`.

As a bonus, the JVM API is simplified a bit, there's one less unused class in the Android modules and a few other details have been fixed.

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

7 years agomodel: Fix spelling mistake
jcbrinfo [Tue, 21 Jun 2016 17:27:07 +0000 (13:27 -0400)]
model: Fix spelling mistake

Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>

7 years agonitcc: to_minimal_dfa accepts non-tagged DFA
Jean Privat [Tue, 21 Jun 2016 17:03:54 +0000 (13:03 -0400)]
nitcc: to_minimal_dfa accepts non-tagged DFA

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

7 years agonitweb/angular: show entities graph
Alexandre Terrasa [Thu, 9 Jun 2016 15:25:10 +0000 (11:25 -0400)]
nitweb/angular: show entities graph

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

7 years agonitweb: add /api/graph/:entity
Alexandre Terrasa [Sat, 28 May 2016 17:46:58 +0000 (13:46 -0400)]
nitweb: add /api/graph/:entity

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

7 years agonitweb: add /api/inheritance/:id service
Alexandre Terrasa [Wed, 8 Jun 2016 15:44:43 +0000 (11:44 -0400)]
nitweb: add /api/inheritance/:id service

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

7 years agomodel_collect: generalize hierarchy_poset service
Alexandre Terrasa [Wed, 8 Jun 2016 15:44:05 +0000 (11:44 -0400)]
model_collect: generalize hierarchy_poset service

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

7 years agolib/dot: add package.ini
Alexandre Terrasa [Tue, 21 Jun 2016 14:23:49 +0000 (10:23 -0400)]
lib/dot: add package.ini

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

7 years agolib/dot: add examples
Alexandre Terrasa [Mon, 20 Jun 2016 22:42:08 +0000 (18:42 -0400)]
lib/dot: add examples

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

7 years agolib: introduce `dot` package
Alexandre Terrasa [Mon, 20 Jun 2016 22:42:00 +0000 (18:42 -0400)]
lib: introduce `dot` package

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

7 years agolib/jvm: document LD_LIBRARY_PATH
Alexis Laferrière [Tue, 21 Jun 2016 13:45:45 +0000 (09:45 -0400)]
lib/jvm: document LD_LIBRARY_PATH

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

7 years agoMerge: nitweb: add signatures to mproperties lists
Jean Privat [Tue, 21 Jun 2016 13:34:16 +0000 (09:34 -0400)]
Merge: nitweb: add signatures to mproperties lists

Demo: http://nitweb.moz-code.org/class/nitcorn::FileServer

Closes #2176

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

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

7 years agoMerge: libevent: improve "Error from bufferevent" with socket error code and name
Jean Privat [Tue, 21 Jun 2016 13:34:13 +0000 (09:34 -0400)]
Merge: libevent: improve "Error from bufferevent" with socket error code and name

This PR improves what is logged on callbacks reporting an error on a socket. It prints the error code and string from the last socket error. Some errors are ignored: ETIMEDOUT and ECONNRESET.

In the future, we may want to add more expected errors to the list, ignore all of them or let the client chose with a list, I don't know. Note that `event_callback` can be specialized by the clients, so they have access to this too.

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

7 years agoMerge: app.nit: update AsyncHttpRequest API, add examples and a simple implementation
Jean Privat [Tue, 21 Jun 2016 13:34:09 +0000 (09:34 -0400)]
Merge: app.nit: update AsyncHttpRequest API, add examples and a simple implementation

This PR updates the API of `AsyncHttpRequest`, using more general names for methods and adding a new variation point `uri`. The useful `uri_root` and `uri_tail` are still available as they are more practical to factorize code in real programs. Also provide the `http_status_code` to callbacks when the request succeeded.

Fix a few bugs: correct the ordering of the callback to the UI thread, and join the thread from the UI thread after request is completed.

Intro the new `SimpleAsyncHttpRequest` which prints feedback to the console on errors. It can be used when the response from the server is ignored, or as a quick and dirty first version in the prototype.

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

7 years agonitweb: add signatures to refs
Alexandre Terrasa [Mon, 20 Jun 2016 23:38:43 +0000 (19:38 -0400)]
nitweb: add signatures to refs

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

7 years agotests: update test_jvm
Alexis Laferrière [Mon, 20 Jun 2016 22:52:45 +0000 (18:52 -0400)]
tests: update test_jvm

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

7 years agocalculator: fix indentation
Alexis Laferrière [Sun, 12 Jun 2016 17:57:15 +0000 (13:57 -0400)]
calculator: fix indentation

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

7 years agolib/java: improve doc and remove duplicates
Alexis Laferrière [Sun, 12 Jun 2016 18:22:06 +0000 (14:22 -0400)]
lib/java: improve doc and remove duplicates

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

7 years agolib/java: rename `base` module to `ffi_support`
Alexis Laferrière [Mon, 20 Jun 2016 20:46:57 +0000 (16:46 -0400)]
lib/java: rename `base` module to `ffi_support`

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

7 years agolib/android: remove unused class `JavaClassLoader`
Alexis Laferrière [Wed, 15 Jun 2016 19:07:51 +0000 (15:07 -0400)]
lib/android: remove unused class `JavaClassLoader`

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

7 years agolib/android: fix type of NativeListOfScanResult
Alexis Laferrière [Wed, 15 Jun 2016 19:07:30 +0000 (15:07 -0400)]
lib/android: fix type of NativeListOfScanResult

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

7 years agolib/jvm: drop the complicated logic around `JniEnvRef`
Alexis Laferrière [Sun, 12 Jun 2016 18:21:00 +0000 (14:21 -0400)]
lib/jvm: drop the complicated logic around `JniEnvRef`

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

7 years agolib/jvm: update doc
Alexis Laferrière [Sun, 12 Jun 2016 17:58:10 +0000 (13:58 -0400)]
lib/jvm: update doc

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

7 years agolibevent: better "Error from bufferevent" and don't print everything
Alexis Laferrière [Mon, 20 Jun 2016 19:54:24 +0000 (15:54 -0400)]
libevent: better "Error from bufferevent" and don't print everything

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

7 years agolibevent: extract evutil_socket_error and evutil_socket_error_to_string
Alexis Laferrière [Sat, 18 Jun 2016 15:12:33 +0000 (11:12 -0400)]
libevent: extract evutil_socket_error and evutil_socket_error_to_string

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

7 years agoapp.nit: intro SimpleAsyncHttpRequest
Alexis Laferrière [Mon, 20 Jun 2016 14:44:02 +0000 (10:44 -0400)]
app.nit: intro SimpleAsyncHttpRequest

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

7 years agoapp.nit: intro example for AsyncHttpRequest
Alexis Laferrière [Mon, 20 Jun 2016 13:43:51 +0000 (09:43 -0400)]
app.nit: intro example for AsyncHttpRequest

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

7 years agoapp.nit: add `http_status_code` to `on_load`
Alexis Laferrière [Mon, 20 Jun 2016 13:20:02 +0000 (09:20 -0400)]
app.nit: add `http_status_code` to `on_load`

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

7 years agoapp.nit: update clients of AsyncHttpRequest
Alexis Laferrière [Mon, 20 Jun 2016 13:19:33 +0000 (09:19 -0400)]
app.nit: update clients of AsyncHttpRequest

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

7 years agoapp.nit: join AsyncHttpRequests
Alexis Laferrière [Mon, 20 Jun 2016 13:27:54 +0000 (09:27 -0400)]
app.nit: join AsyncHttpRequests

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

7 years agoapp.nit: fix order of callbacks in AsyncHttpRequest
Alexis Laferrière [Sat, 18 Jun 2016 15:11:53 +0000 (11:11 -0400)]
app.nit: fix order of callbacks in AsyncHttpRequest

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

7 years agoapp.nit: update AsyncHttpRequest API
Alexis Laferrière [Mon, 20 Jun 2016 13:13:55 +0000 (09:13 -0400)]
app.nit: update AsyncHttpRequest API

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

7 years agoMerge: Opportunity: log errors to stderr and update message on failed event creation
Jean Privat [Mon, 20 Jun 2016 14:27:23 +0000 (10:27 -0400)]
Merge: Opportunity: log errors to stderr and update message on failed event creation

Log all errors to stderr and remove prints on normal behavior.

Also update the error message, as the "meetup already exists" is now impossible because we dropped the uniqueness of name/date/location a while back.

This is related to #2186, where the file descriptor leak lead to bloated log files, a disk full and failed event creation by lack of space.

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

7 years agoMerge: libevent: force closing connections on error to fix file descriptors leak
Jean Privat [Mon, 20 Jun 2016 14:27:21 +0000 (10:27 -0400)]
Merge: libevent: force closing connections on error to fix file descriptors leak

The libevent wrapper did not always free and close connections on errors. These are expected errors, like when a file download is cancelled half-way through or when a push connection expires. This recently caused xymus.net to crash due to the exhaustion of file descriptors available to the process.

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

7 years agoopportunity: print errors to stderr
Alexis Laferrière [Sat, 18 Jun 2016 13:45:24 +0000 (09:45 -0400)]
opportunity: print errors to stderr

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

7 years agoopportunity: inline Meetup::to_s for prettier prints
Alexis Laferrière [Sat, 18 Jun 2016 13:45:08 +0000 (09:45 -0400)]
opportunity: inline Meetup::to_s for prettier prints

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

7 years agoopportunity: remove prints in normal behavior
Alexis Laferrière [Sat, 18 Jun 2016 13:44:35 +0000 (09:44 -0400)]
opportunity: remove prints in normal behavior

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

7 years agoopportunity: update error message on failure to create event
Alexis Laferrière [Fri, 17 Jun 2016 23:13:31 +0000 (19:13 -0400)]
opportunity: update error message on failure to create event

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

7 years agolibevent: force_close the connection on error (don't wait on buffers)
Alexis Laferrière [Fri, 17 Jun 2016 22:24:22 +0000 (18:24 -0400)]
libevent: force_close the connection on error (don't wait on buffers)

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

7 years agolibevent: move close logic from C to Nit, and intro force_close
Alexis Laferrière [Fri, 17 Jun 2016 22:23:41 +0000 (18:23 -0400)]
libevent: move close logic from C to Nit, and intro force_close

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

7 years agosrc: add examples/test_loader.nit
Jean Privat [Fri, 17 Jun 2016 19:42:08 +0000 (15:42 -0400)]
src: add examples/test_loader.nit

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

7 years agoidentify_module: give hint for qualified modules
Jean Privat [Fri, 17 Jun 2016 19:40:15 +0000 (15:40 -0400)]
identify_module: give hint for qualified modules

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

7 years agoloader: accept qualified notation `foo::bar` and handle error
Jean Privat [Fri, 17 Jun 2016 19:39:29 +0000 (15:39 -0400)]
loader: accept qualified notation `foo::bar` and handle error

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

7 years agoloader: simplify special cases of identify_module
Jean Privat [Fri, 17 Jun 2016 19:37:59 +0000 (15:37 -0400)]
loader: simplify special cases of identify_module

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

7 years agoloader: add `last_loader_error` to handle the potential error messages.
Jean Privat [Fri, 17 Jun 2016 19:36:45 +0000 (15:36 -0400)]
loader: add `last_loader_error` to handle the potential error messages.

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

7 years agoloader: `identify_group` ignore local files that are not directories.
Jean Privat [Fri, 17 Jun 2016 17:20:27 +0000 (13:20 -0400)]
loader: `identify_group` ignore local files that are not directories.

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

7 years agoMerge: Highlight: client can provide an linking policy
Jean Privat [Wed, 15 Jun 2016 23:09:32 +0000 (19:09 -0400)]
Merge: Highlight: client can provide an linking policy

Links to entities can be defined by specializing `HighlightVisitor::hrefto`

Nitlight uses it to correctly provide better links (and avoid generating dead links)

Pull-Request: #2184
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>

7 years agotests: update .res of nitlight and test_highlight
Jean Privat [Mon, 13 Jun 2016 20:48:30 +0000 (16:48 -0400)]
tests: update .res of nitlight and test_highlight

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

7 years agohighlight: remove default links. Clients have to provide them
Jean Privat [Mon, 13 Jun 2016 20:46:52 +0000 (16:46 -0400)]
highlight: remove default links. Clients have to provide them

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

7 years agotest_highlight: use only local links
Jean Privat [Mon, 13 Jun 2016 20:45:39 +0000 (16:45 -0400)]
test_highlight: use only local links

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

7 years agonitlight: use contextual links
Jean Privat [Mon, 13 Jun 2016 20:44:37 +0000 (16:44 -0400)]
nitlight: use contextual links

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

7 years agohighlight: add HighlightVisitor::hrefto to allow clients to tweak generated links
Jean Privat [Mon, 13 Jun 2016 20:40:01 +0000 (16:40 -0400)]
highlight: add HighlightVisitor::hrefto to allow clients to tweak generated links

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