Commit graph

92 commits

Author SHA1 Message Date
Simon Hausmann
4a9cd954b8 Rework the Rust entry point API for the interpreter
Switch to the stateful `ComponentCompiler` concept that we discussed for the C++ API.
2021-03-18 18:20:50 +01:00
Olivier Goffart
0e351de1a6 Create a new crate to expose the C++ 2021-03-16 16:34:02 +01:00
Simon Hausmann
79aefcb303 Fix compilation of tests 2021-03-15 20:02:31 +01:00
Olivier Goffart
fef4a10ebd Use the new API for the interpreter in wasm
Improve the ComponenetDefinition::from_source
2021-03-15 17:57:46 +01:00
Olivier Goffart
48333370a6 Use the new interpreter API in things that depends on it 2021-03-15 17:29:27 +01:00
Simon Hausmann
70ff7baa85 Fix compilation after diagnostics API changes 2021-03-15 10:43:26 +01:00
Olivier Goffart
096f55e365 Change behavior of percent sice within the layout
So that size with percentages don't affect the maximum/minimum size

Fixes #117
2021-02-11 20:32:26 +01:00
Olivier Goffart
49c7300907 Support for if else in statements 2021-02-05 13:53:37 +01:00
Olivier Goffart
4fd3eaf9d1 Add a SIXTYFPS_TEST_FILTER macro to be able to limit the tests we compile in
Quite usefull to quicly compile some tests for the rust backend which is slow to compile
2021-02-03 10:41:19 +01:00
Olivier Goffart
a143656dc9 Test driver: move some common code in the lib 2021-02-03 10:32:25 +01:00
Olivier Goffart
f2ab456a7b Test the .60 snippet in the documentation 2021-02-02 14:56:22 +01:00
Olivier Goffart
7613b9231f Rename the rust test driver in a consistant way 2021-02-01 18:45:14 +01:00
Olivier Goffart
50ce2d08fd Split the nodejs and the interpreter test driver 2021-02-01 18:43:48 +01:00
Olivier Goffart
c25f383308 WIP: split interpreter and nodejs 2021-02-01 18:37:24 +01:00
Olivier Goffart
6b20d05efb Move the C++ driver to its own crate 2021-02-01 18:34:49 +01:00
Olivier Goffart
09ce4142a5 Some reorganization of the testdriver 2021-02-01 18:13:19 +01:00
Olivier Goffart
efd6a5479c don't make xtask depends on the test driver lib 2021-02-01 18:13:08 +01:00
Olivier Goffart
c2dc0cef2c Finish return statement handling 2021-01-25 15:32:00 +01:00
Olivier Goffart
0d2d48be4f Rename "signal" to "callback" 2020-12-18 09:51:01 +01:00
Simon Hausmann
5f9f1ce047 Fix the build
Fix the remaining CompilerConfiguration uses that I missed :(
2020-12-10 16:13:17 +01:00
Olivier Goffart
7113187864 C++: Fix warnings 2020-11-19 13:50:15 +01:00
Olivier Goffart
359f42c5f7 Prepare the compiler to be async
This will allow the online editor to load imports from URL asynchroniously later

Since currently the compiler is only working on a single thread, and that we
never await on a future that could block, it is allowed to use the spin_on executor
2020-10-30 15:00:04 +01:00
Simon Hausmann
c188851b45 Fix nodejs tests on Windows
npm is in fact `npm.cmd` and Rust's std::process::Command doesn't look
for executables with .cmd extension. This is a common issue but also a deliberate choice
it appears (due to emulating CreateProcess).
2020-10-20 16:30:16 +02:00
Simon Hausmann
279ce560f9 Convert NodeJS API to use & export TypeScript
This will make the types available to API consumers and makes the
documentation clearer.
2020-10-20 15:57:50 +02:00
Simon Hausmann
309fa8aef1 Fix build 2020-10-14 15:34:38 +02:00
Olivier Goffart
1138c9dbed Normalize the spelling of SixtyFPS 2020-10-13 07:48:55 +02:00
Simon Hausmann
c16f2f2185 Clean up test cases
Instead of all files collected in a flat directory, restructure them
into categories and thus sub-directories.
2020-09-29 17:00:48 +02:00
Olivier Goffart
2275cd638a C++ Test: make sure to re-run cbindgen in case of changes
Also add -g to ease debugging
2020-09-15 12:18:36 +02:00
Olivier Goffart
67764f8250 Fix the build of the C++ testcases 2020-09-06 14:50:56 +02:00
Olivier Goffart
c80975c85c Use C++17 in the msvc tests 2020-09-06 00:07:53 +02:00
Olivier Goffart
5759e912d0 On windows, we must close the file otherwise the compiler won't be able to open it 2020-09-05 23:47:08 +02:00
Olivier Goffart
82bfcc388a Add some debug to find out why the test is failling to compile 2020-09-05 23:12:08 +02:00
Olivier Goffart
9c32de9fac Attempt to pass the right options to MSVC 2020-09-05 22:40:40 +02:00
Olivier Goffart
103e5659e4 More escaping for slashes in path 2020-09-05 19:56:56 +02:00
Olivier Goffart
3c46df46d9 Attempt to fix window build by properly escaping backslashes 2020-09-05 17:42:12 +02:00
Olivier Goffart
4f5e8c7aff Do not print the warnings from tests.
Warning as expected as even code with warning need to be tested.
If anything, we could ensure that warning were indeed expected
by testing against a `^warning` comment
2020-09-05 17:29:00 +02:00
Simon Hausmann
ff9c118e07 Propagate warnings to the end of the compilation step and print them 2020-09-04 20:34:20 +02:00
Simon Hausmann
628426aded Rename cpp.rs to cppdriver.rs
This makes completion better :-)
2020-09-03 12:58:52 +02:00
Olivier Goffart
2ef7cd6d96 Fix interpreter test 2020-09-01 12:47:40 +02:00
Olivier Goffart
6d41b1981d Move the Qt style to a new backend: the Qt backend
Currently the Qt backend still redirect everything to the GL backend,
but the goal is to use QPainter and QWindow

This also adds a "default" backend, whose goal is to select the proper
backend at compile time
2020-08-31 17:26:04 +02:00
Olivier Goffart
65acdd78b0 Use xtask to generate the headers instead of build.rs of each lib
Fixes #14
2020-08-27 11:50:09 +02:00
Olivier Goffart
58cdaeb8dd Update license header to mention that commertial option are available 2020-08-26 13:23:42 +02:00
Simon Hausmann
66dce1a1bc Don't build the nodejs API when running tests
Assume that it is already build and pick up the library in the same directory where we pick
up the C++ libraries.
2020-08-25 14:01:57 +02:00
Olivier Goffart
ea1f215367 Some polishinbg of the .toml files
- Give all the sixtyfps-* create a 0.0.1 version
 - Make sure that the internal dependences are using the exact same version
   (so "=0.0.1")
 - Add the description/homepage/repository fields in the .toml files
 - Set publish=false  to crates that are not meant to be published on crates.io
2020-08-24 16:28:11 +02:00
Simon Hausmann
7f1d9f5252 Commit correct license tags to Cargo.toml
For now that's GPL-3.0 only, but this can be changed :-)
2020-08-18 10:12:59 +02:00
Simon Hausmann
2823f32692 Apply license headers to all non-binary/non-json sources 2020-08-17 17:55:20 +02:00
Simon Hausmann
09cae799d3 Fix return type of compile_syntax_node
All call sites are only interested in the root component, so might
as well return that.
2020-07-28 09:21:32 +02:00
Olivier Goffart
05c5f7c53d Test and fix animations on properties
The animation should not start when the property is initialized, only when the
property is set by the setter
2020-07-23 11:45:34 +02:00
Simon Hausmann
da85889c74 Make sure to re-run tests if an external include path changed 2020-07-19 18:36:36 +02:00
Simon Hausmann
cb081a6bda Test that loading types from the include path works
This uses the recently added "hooks" or APIs to pass an include path that's specified in the test case itself.
2020-07-19 18:31:10 +02:00