Jean Privat [Wed, 28 Jun 2017 19:58:50 +0000 (15:58 -0400)]
Merge: gtksourceview: Rewrite the language definition
The new definition includes:
* A more accurate and up-to-date grammar
* A more accurate style list
* A list of built-in annotations
* Heuristics for embedded languages
* Spell-checking only enabled for comments
* Styles for operators and lower-case identifiers available if needed
(but not highlighted by default)
## Previews
Here are the PDF outputs of various black-on-white style schemes for `examples/syntax.nit`:
* [Classic](https://github.com/nitlang/nit/files/1109793/gtksourceview-classic.pdf)
* [Kate](https://github.com/nitlang/nit/files/1109794/gtksourceview-kate.pdf)
* [Solarized Clear](https://github.com/nitlang/nit/files/1109795/gtksourceview-solarized-clear.pdf)
* [Tango](https://github.com/nitlang/nit/files/1109796/gtksourceview-tango.pdf)
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Pull-Request: #2515
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 28 Jun 2017 19:39:25 +0000 (15:39 -0400)]
Merge: gamnit: fix integer overflow when there's more than 16,383 sprites
This PR fixes a problem when more than 16,383 sprites used the same texture, thus shared a buffer. This was caused by a `short int` overflow in the vertices indices passed to OpenGL ES. Now, large groups of sprites are simply broken up into smaller groups and buffers.
In the future, if there are too many such groups we could use a larger integer.
Pull-Request: #2519
Jean Privat [Wed, 28 Jun 2017 19:39:24 +0000 (15:39 -0400)]
Merge: gamnit: premultiply alpha for a nicer alpha blending
Premultiplying RBG pixels values by their alpha reduces visible artifacts when blending between different opacity levels. It also allows for mixing obstructing blending (like smoke hiding the background) and additive blending (like explosions amplifying each other, as in the second screenshot below).
Here are the old and new explosion effects in Jump 'n' Gun (using the same texture as Action Nitro):
![old](https://user-images.githubusercontent.com/208057/
27644667-
22a0f3d0-5bf2-11e7-884b-
2e21555e5e68.png) ![new](https://user-images.githubusercontent.com/208057/
27644776-
619601c0-5bf2-11e7-84c4-
f884533efaf0.png)
By default, textures are expected to be straight (the classic not-premultiplied) and are premultiplied at loading. It can be deactivated for asset files that are already premultiplied (as with the explosion texture above).
The color services in both APIs are also affected. `Sprite::tint` remains the same, using straight colors, the easier alternative. However, `SmoothMaterial::ambient_color`, `diffuse_color` and `specular_color` should be premultiplied, giving more possibility to the clients. Alternatively, `Actor::alpha` is applied to material colors, so while RGB values of `ambient_color` are not premultiplied by `ambient_color[3]` they are premultiplied by `Actor::alpha`.
On Android, pixel values are automatically premultiplied when loaded from a file by the system, so we unpremultiply them as needed (with a strong possibility of data loss on additive blending effects). To fix this, this PR intro a new module `gamnit::android19` using services from the API 19 to disable the premultiply. This module is optional (for now) but it should be imported by all Android games with premultiplied texture asset files.
As a bonus, fix the support for Action Nitro on Android via F-Droid. The latest performance improvements to gamnit makes the game run nicely on mobiles devices!
Pull-Request: #2518
Jean Privat [Wed, 28 Jun 2017 19:39:15 +0000 (15:39 -0400)]
Merge: some Docker update
* stretch (thus java8)
* new libs
* better usable android
* better usable java
* opengl validator
Pull-Request: #2517
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 28 Jun 2017 19:39:15 +0000 (15:39 -0400)]
Merge: neo4j: fix cypher syntax for `Neo4jClient::nodes_with_labels`
newer versions of neo4j seem more picky
Pull-Request: #2516
Jean-Christophe Beaupré [Mon, 26 Jun 2017 18:42:21 +0000 (14:42 -0400)]
gtksourceview: Rewrite the language definition
The new definition includes:
* A more accurate and up-to-date grammar
* A more accurate style list
* A list of built-in annotations
* Heuristics for embedded languages
* Spell-checking only enabled for comments
* Styles for operators and lower-case identifiers available if needed
(but not highlighted by default)
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Wed, 28 Jun 2017 18:20:56 +0000 (14:20 -0400)]
examples: Add a test case for syntax highlighters
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Alexis Laferrière [Mon, 26 Jun 2017 16:23:29 +0000 (12:23 -0400)]
gamnit: don't overflow `short int` used as vertices index
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 26 Jun 2017 18:10:30 +0000 (14:10 -0400)]
action_nitro: remove dead code
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 28 Jun 2017 15:02:29 +0000 (11:02 -0400)]
action_nitro: clean Makefile and fix fdroid support
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 28 Jun 2017 14:54:33 +0000 (10:54 -0400)]
action_nitro: support premultiplied textures on Android
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 26 Jun 2017 18:09:53 +0000 (14:09 -0400)]
action_nitro: prettier particles
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 28 Jun 2017 16:02:50 +0000 (12:02 -0400)]
model_viewer: use premultiplied colors on clouds and atmospheric layers
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 28 Jun 2017 14:30:19 +0000 (10:30 -0400)]
gamnit: use API 19 services to fix premultiplied texture on Android
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 28 Jun 2017 16:55:30 +0000 (12:55 -0400)]
gamnit: leave it up to the clients to set premultiplied colors in Materials
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 26 Jun 2017 15:44:53 +0000 (11:44 -0400)]
gamnit: use premultiplied alpha
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 28 Jun 2017 15:40:38 +0000 (11:40 -0400)]
docker-full: java: setup needed environment variables
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 Jun 2017 15:38:34 +0000 (11:38 -0400)]
docker-full: install OpenGL validator
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 Jun 2017 15:38:08 +0000 (11:38 -0400)]
docker-full: install the android platforms needed by current packages
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 Jun 2017 15:36:36 +0000 (11:36 -0400)]
docker-full: android make tool executable by all users
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 Jun 2017 15:36:05 +0000 (11:36 -0400)]
docker-full: install libgmp-dev & libreadline-dev
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 28 Jun 2017 15:35:11 +0000 (11:35 -0400)]
docker: use stretch instead of jessie
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Tue, 27 Jun 2017 12:15:58 +0000 (08:15 -0400)]
gamnit: by default, use the generated mipmap for minification
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 28 Jun 2017 13:39:39 +0000 (09:39 -0400)]
neo4j: fix cypher syntax for `Neo4jClient::nodes_with_labels`
newer versions of neo4j seem more picky
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 27 Jun 2017 13:17:25 +0000 (09:17 -0400)]
Merge: gamnit: Sprite animations
Implement 2D animations on `Sprite`. The animations are started by calling `Spite::animate(animation, loops)`, stopped with `animate_stop` and can be paused/accelerated using `SpriteSet::time_mod`.
Animations are graphical only so the logic is almost entirely implemented on the GPU, the CPU acts only when the animation is explicitly changed. The drawback is that the animation pixel data must be simple: all frames share a texture, are on a line, are spaced equally and have the same dimensions. To simplify creating such animations, `Animation` has named constructors reading from the assets folder.
As usage examples, this PR reimplements the running animation in Action Nitro and adds an animation when opening the parachute. These animations test both the use of a distinct file and the use of subtextures in a larger spritesheet.
In the future, we can probably use the new `RelativeSubtexture` to gradually replace `AbsoluteSubtexture` as it doesn't require loading the texture to get its size and to create the underlying coordinates.
Pull-Request: #2509
Jean Privat [Tue, 27 Jun 2017 13:16:52 +0000 (09:16 -0400)]
Merge: gamnit: performance improvements for Dawn Arrival
This PR applies a few tweaks to optimize performances of the 2D API:
* Each sprite now caches its index in the GPU buffers, replacing the use of `index_of`. This one has the largest performance gain, especially when there is a large number of sprites using the same texture.
* Cache the last sprite on which was called `needs_update` to avoid double or triple adding it to the set of sprites to update on the GPU. This provides a small but notable gain as when a sprite's X and Y coordinates are modified, it was added twice to the set.
* Use a boolean flag instead of the set `sprites_to_update` when all sprite must be updated after a buffer resize.
These changes were tested on [Dawn Arrival](https://gitlab.com/jeremlvt/dawn_arrival) and they cut about 25-50% of the computing time.
Pull-Request: #2513
Alexis Laferrière [Mon, 19 Jun 2017 20:30:46 +0000 (16:30 -0400)]
action_nitro: animate the parachute opening
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 19 Jun 2017 00:53:45 +0000 (20:53 -0400)]
action_nitro: update to use gamnit animations
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 19 Jun 2017 20:01:44 +0000 (16:01 -0400)]
gamnit: add animations to Sprites
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 23 Jun 2017 04:08:39 +0000 (00:08 -0400)]
gamnit: don't use `sprites_to_update` after a GPU buffer resize
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 23 Jun 2017 04:08:06 +0000 (00:08 -0400)]
gamnit: cache the last sprite added to `sprites_to_update`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 23 Jun 2017 02:28:39 +0000 (22:28 -0400)]
gamnit: cache sprite GPU index, as index_of is very costly
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 19 Jun 2017 20:02:15 +0000 (16:02 -0400)]
gamnit: add a subtexture with relative border coordinates
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 18 Jun 2017 00:31:46 +0000 (20:31 -0400)]
gamnit: pass the elapsed time in the world of each sprite set to the shader
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 18 Jun 2017 03:06:03 +0000 (23:06 -0400)]
asteronits: convert sound effect from a broken mp3 to ogg
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Mon, 19 Jun 2017 20:23:40 +0000 (16:23 -0400)]
Merge: Clean benches
Some cleanup in the benchmark/ directory to remove the yellow dots in http://gresil.org/jenkins/job/nit_bench/
Pull-Request: #2505
Jean Privat [Mon, 19 Jun 2017 20:23:39 +0000 (16:23 -0400)]
Merge: frontend: introduce `parse_annotations` phase
A simple annotations access framework.
Useful when you only need to know if a module, class or property definition contains an annotation in its source code and you don't have a modelbuilder.
One the phase is applied one can access the annotations through the related MEntity:
~~~nit
fun is_annotated_with_foo(mentity: AnnotatedMEntity): Bool do
return mentity.has_annotation("foo")
end
~~~
I introduced a specific super class to avoid the introduction of `annotations` directly into the MEntity since the concept of annnotations is weird when talking about a MClass or a MType.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #2504
Jean Privat [Mon, 19 Jun 2017 20:23:26 +0000 (16:23 -0400)]
Merge: neo4j: Prevent accidental code injections in the tests
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Pull-Request: #2503
Jean Privat [Mon, 19 Jun 2017 20:03:17 +0000 (16:03 -0400)]
bench/engines: add a sanitary check to just run the various benched programs
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 19 Jun 2017 19:59:16 +0000 (15:59 -0400)]
bench/engines: remove `jwrapper` output directory
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 19 Jun 2017 19:41:50 +0000 (15:41 -0400)]
bench/markdown: disable pandoc
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 19 Jun 2017 19:19:52 +0000 (15:19 -0400)]
bench/string: check force run on fast instances
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 19 Jun 2017 19:19:25 +0000 (15:19 -0400)]
bench/string: fix typo in shell script
Signed-off-by: Jean Privat <jean@pryen.org>
Alexandre Terrasa [Mon, 19 Jun 2017 17:03:04 +0000 (13:03 -0400)]
frontend: introduce `parse_annotations` phase
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean-Christophe Beaupré [Sat, 17 Jun 2017 04:50:22 +0000 (00:50 -0400)]
neo4j: Prevent accidental code injections in the tests
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Sat, 17 Jun 2017 04:45:50 +0000 (00:45 -0400)]
neo4j: Fix the example for `CypherQuery::set`
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean Privat [Sat, 17 Jun 2017 00:25:19 +0000 (20:25 -0400)]
Merge: Use prefixed chars instead of raw values
The title says everything, basically all uses of `0xXXu8` in `core::text::flat` were replaced by their prefixed versions for better readability.
This PR will however need c_src to be regenerated for integration.
I PR this now however to make sure it is not forgotten when a c_src is later regenerated and for review purposes.
Pull-Request: #2059
Reviewed-by: Jean Privat <jean@pryen.org>
Reviewed-by: Jean-Christophe Beaupré <jcbrinfo.public@gmail.com>
Jean Privat [Sat, 17 Jun 2017 00:24:44 +0000 (20:24 -0400)]
Merge: subset: Add grammar and kind
Implement the syntactic, inheritance and instantiation rules.
Obsoletes: #2469
Pull-Request: #2483
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Sat, 17 Jun 2017 00:24:33 +0000 (20:24 -0400)]
Merge: gamnit: customize writing with BMFont
Add format services to `TestSprites` implemented (only) by `BMFont`: `align, valign, wrap, max_width` and `max_height`. You can see the result in the screenshot of the new showcase/test program:
![screenshot from 2017-06-15 15 53 28](https://user-images.githubusercontent.com/208057/
27199185-
1b9a36dc-51e3-11e7-9700-
8dde5724e98a.png)
Pull-Request: #2499
Reviewed-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Tue, 13 Jun 2017 14:36:02 +0000 (10:36 -0400)]
gamnit: add an example to showcase fonts support
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 14 Jun 2017 13:35:16 +0000 (09:35 -0400)]
gamnit: implement new `TextSprites` settings in `BMFont`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 13 Jun 2017 14:34:58 +0000 (10:34 -0400)]
gamnit: add customization settings to `TextSprites`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 13 Jun 2017 11:50:59 +0000 (07:50 -0400)]
gamnit: fix actually using the attribute partial_line_skip
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Mon, 12 Jun 2017 20:26:40 +0000 (16:26 -0400)]
gamnit: accept float values in `BMFont`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 16 Jun 2017 18:56:43 +0000 (14:56 -0400)]
Merge: oot: add 2 random projects found on the Internet.
They seems to be free software, so I think it is ok to include them...
Pull-Request: #2484
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Fri, 16 Jun 2017 18:56:41 +0000 (14:56 -0400)]
Merge: neo4j: Add a fluent interface to set queries’ parameters
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Pull-Request: #2498
Jean Privat [Fri, 16 Jun 2017 18:56:04 +0000 (14:56 -0400)]
Merge: modelize_property: Add a variable to shorten some code
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Pull-Request: #2492
Jean Privat [Fri, 16 Jun 2017 18:56:03 +0000 (14:56 -0400)]
Merge: docker: don't let `strip` fails the build because nit-makepackage is not a binary
Pull-Request: #2502
Reviewed-by: Jean-Christophe Beaupré <jcbrinfo.public@gmail.com>
Jean Privat [Fri, 16 Jun 2017 18:42:59 +0000 (14:42 -0400)]
oot: update force-change the repo url
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 9 Jun 2017 14:07:01 +0000 (10:07 -0400)]
oot: add 2 random projects found on the Internet.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 16 Jun 2017 13:01:10 +0000 (09:01 -0400)]
docker: don't let `strip` fails the build because nit-makepackage is not a binary
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 15 Jun 2017 19:46:37 +0000 (15:46 -0400)]
Merge: Attempt to fix the tests neo4j
The issue was related to a non-cleaned DB, so we try to force-clean.
Pull-Request: #2496
Reviewed-by: Jean-Christophe Beaupré <jcbrinfo.public@gmail.com>
Jean Privat [Thu, 15 Jun 2017 19:46:35 +0000 (15:46 -0400)]
Merge: nitc: use ccache again
c02e04291807cf97228068cc5b52f453d84ab37b unexpectedly disable ccache.
Since CC is set by default [1], the ?= attempt did never assign anything [2].
The solution is to assign unless if CC is set by another mean.
This can be done thanks to the origin function [3].
[1]: https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html
[2]: https://www.gnu.org/software/make/manual/html_node/Flavors.html
[3]: https://www.gnu.org/software/make/manual/html_node/Origin-Function.html
Pull-Request: #2497
Jean Privat [Thu, 15 Jun 2017 19:43:39 +0000 (15:43 -0400)]
Merge: modelize_class: Refactor
Various refactorings that will be useful for later.
Pull-Request: #2486
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 15 Jun 2017 19:43:37 +0000 (15:43 -0400)]
Merge: gamnit: replace missing textures by a checker texture
Use a checker texture to replace textures that fail to load. This replaces the previous behavior where an invalid texture name was passed to OpenGL ES which displayed it as full black.
In support, revamp the implementation of `CheckerTexture` to be only black and white and to have a size of 32 pixels by default. The new color is more neutral while being easier to spot and report by an end user (see the tower in the screenshot below). And the new size will make it easier to see than the previous 2x2 on non-scaled 2D sprites.
Also intro `CustomTexture`, a texture build programmatically by setting the color of each pixel. This can be used to create very simple textures (like the crosshair or the fuel indicator in the screenshot) or to represent end user drawings. This API is not very optimized, but clients can still subclass `Texture` for performance critical textures.
![screenshot from 2017-06-10 14 30 13](https://user-images.githubusercontent.com/208057/
27045782-
11600cde-4f70-11e7-80ac-
742e3ab96204.png)
Pull-Request: #2490
Jean Privat [Thu, 15 Jun 2017 19:43:36 +0000 (15:43 -0400)]
Merge: tests: measure time with elapsed time instead of user-mode time
This will help to identify where the real elapsed time is going.
Pull-Request: #2491
Reviewed-by: Jean-Christophe Beaupré <jcbrinfo.public@gmail.com>
Jean Privat [Thu, 15 Jun 2017 19:43:35 +0000 (15:43 -0400)]
Merge: modelize_property: Remove an unreachable case
Exploit the De Morgan’s law.
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Pull-Request: #2493
Jean Privat [Thu, 15 Jun 2017 19:43:34 +0000 (15:43 -0400)]
Merge: nit-makepackage: add missing manpage
jenkins does not like missing manpages, even for trivial tools.
Pull-Request: #2494
Jean Privat [Thu, 15 Jun 2017 19:43:31 +0000 (15:43 -0400)]
Merge: core: move file related services from `String` to `Text`
Update services from `core::file` to accept any `Text` as receiver or argument. In order to avoid breaking any clients, the return type is left to `String`. However, to get better performances, future improvements could also change the return type to `Text`, and update all the clients.
Pull-Request: #2495
Jean-Christophe Beaupré [Thu, 15 Jun 2017 19:16:36 +0000 (15:16 -0400)]
modelize_property: Add a variable to shorten some code
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Fri, 9 Jun 2017 05:30:16 +0000 (01:30 -0400)]
modelize_class: Link `subset_kind` with its corresponding production
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Fri, 9 Jun 2017 04:38:35 +0000 (00:38 -0400)]
parser: Recompile
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Fri, 9 Jun 2017 04:38:02 +0000 (00:38 -0400)]
parser: Add the concrete grammar for predicate definitions
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Thu, 15 Jun 2017 17:24:37 +0000 (13:24 -0400)]
neo4j: Add a fluent interface to set queries’ parameters
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean Privat [Thu, 15 Jun 2017 15:29:35 +0000 (11:29 -0400)]
nitc: use ccache again
c02e04291807cf97228068cc5b52f453d84ab37b unexpectedly disable ccache.
Since CC is set by default[1], the ?= attempt did never assign anything[2].
The solution is to assign unless if CC is set by another mean.
This can be done thanks to the origin function[3].
[1]: https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html
[2]: https://www.gnu.org/software/make/manual/html_node/Flavors.html
[3]: https://www.gnu.org/software/make/manual/html_node/Origin-Function.html
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 15 Jun 2017 13:18:58 +0000 (09:18 -0400)]
tests/neo4j: hardening the test not_empty to `length == 1`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 15 Jun 2017 13:16:43 +0000 (09:16 -0400)]
tests/neo4j: clear the potential existing elements before starting the tests
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Christophe Beaupré [Wed, 14 Jun 2017 03:48:23 +0000 (23:48 -0400)]
modelize_property: Remove an unreachable case
Exploit the De Morgan’s law.
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Wed, 14 Jun 2017 21:15:30 +0000 (17:15 -0400)]
modelize_property: Implement `is_new` like `is_init`
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Alexis Laferrière [Mon, 12 Jun 2017 15:57:56 +0000 (11:57 -0400)]
core: move more servies to Text (receiver and args only)
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Wed, 14 Jun 2017 01:52:23 +0000 (21:52 -0400)]
gamnit: intro `CustomTexture::fill`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 10 Jun 2017 18:39:45 +0000 (14:39 -0400)]
gamnit: move `pixelated=` up to `Texture`
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sun, 11 Jun 2017 02:54:06 +0000 (22:54 -0400)]
gamnit: intro custom textures, built programmatically pixel per pixel
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 14 Jun 2017 13:08:41 +0000 (09:08 -0400)]
nit-makepackage: add missing manpage
jenkins does not like missing manpages, even for trivial tools.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 14 Jun 2017 12:44:40 +0000 (08:44 -0400)]
test: use `command` instead of `env` to bypass Bash’s built-ins
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Christophe Beaupré [Fri, 9 Jun 2017 04:37:33 +0000 (00:37 -0400)]
parser: Add the abstract grammar for predicate definitions
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Fri, 9 Jun 2017 04:34:16 +0000 (00:34 -0400)]
parser_nodes: Allow to flag predicate definitions
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Thu, 8 Jun 2017 23:38:23 +0000 (19:38 -0400)]
parser: Add the grammar for subset definitions
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Thu, 8 Jun 2017 23:34:03 +0000 (19:34 -0400)]
parser_nodes: Add a class kind for class subsets
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Fri, 9 Jun 2017 15:06:44 +0000 (11:06 -0400)]
model: Add a class kind for class subsets
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Fri, 9 Jun 2017 15:06:33 +0000 (11:06 -0400)]
model: Don’t blacklist in specialization rules
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Mon, 29 May 2017 15:44:06 +0000 (11:44 -0400)]
model: Add `can_customize_isa` and `can_init` attributes to class kinds
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean Privat [Tue, 13 Jun 2017 15:21:16 +0000 (11:21 -0400)]
tests: measure time with elapsed time instead of user-mode time
This will help to identify where the real elapsed time is going.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Christophe Beaupré [Tue, 13 Jun 2017 00:30:13 +0000 (20:30 -0400)]
modelize_class: Test the handling of a formal supertypes
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Tue, 13 Jun 2017 00:29:06 +0000 (20:29 -0400)]
modelize_class: Fix the wording of an error message.
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean-Christophe Beaupré [Tue, 13 Jun 2017 00:28:18 +0000 (20:28 -0400)]
modelize_class: Don’t crash on a formal supertype
Signed-off-by: Jean-Christophe Beaupré <jcbrinfo@users.noreply.github.com>
Jean Privat [Mon, 12 Jun 2017 20:39:34 +0000 (16:39 -0400)]
Merge: nitweb: use ui-router
A lot of refactoring to replace ng-router by ui-router.
The finality is to provide direct links within documentations tabs:
* link to dependencies: http://nitweb.moz-code.org/doc/core/graph
* link to code: http://nitweb.moz-code.org/doc/core::kernel/code
* link to linearization: http://nitweb.moz-code.org/doc/core::Array/lin
Also removed the special pages for mclassdefs and mpropdefs. They now link directly to their relative mclass/mproperty linearization:
* http://nitweb.moz-code.org/doc/core::Array/lin#pthreads::redef_collections$core::Array
* http://nitweb.moz-code.org/doc/core::SimpleCollection::add_all/lin#core$CircularArray$SimpleCollection::add_all
Demo: http://nitweb.moz-code.org/
Fixes #2177
Pull-Request: #2489
Jean Privat [Mon, 12 Jun 2017 20:39:27 +0000 (16:39 -0400)]
Merge: testmodel: what about docunits to test model-related services?
Just create standalone pre-constructed models already filled with entities that are exposed as attributes.
Then use these models to test various services.
In the prof-of-concept PR, I just added 2 simple docunits.
Pull-Request: #2488
Reviewed-by: Jean-Christophe Beaupré <jcbrinfo.public@gmail.com>
Jean Privat [Mon, 12 Jun 2017 20:39:13 +0000 (16:39 -0400)]
Merge: lib/popcorn: introduce BoolValidator in popcorn::pop_validation
A Boolean validator.
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>
Pull-Request: #2478
Reviewed-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 12 Jun 2017 20:39:02 +0000 (16:39 -0400)]
Merge: More package.ini
package.ini file are not mandatory, so to convince people to use then, here is a new tool.
Pull-Request: #2485
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Jean-Christophe Beaupré <jcbrinfo.public@gmail.com>