Commit graph

281 commits

Author SHA1 Message Date
Olivier Goffart
88d231f3ec Move the testing module from away from public api
move it the testing backend
2022-09-06 17:27:15 +02:00
ogoffart
05a49da906 Bump version number to 0.3.0 2022-09-06 13:00:22 +02:00
Olivier Goffart
fc3e8d6d99 CI: use the fluent style for the rust test
because the native style causes issues as the tests runs in different
threads
2022-08-30 22:21:03 +02:00
Olivier Goffart
9eb8518278 Add a warning when setting a two way binding for which the rhs does not declare a default value
Because of issue #1394 and because the semantic are not properly defined
currently, we decided that future version of slint should always and only
take the binding from the right hand side, even if it has no bindings.

Since we can't change the behavior in 0.2, just add a warning instead for now.
The warning can be silenced by setting a default binding for the property on the rhs.

Ignoring the warning can still lead to panic (the one in #1394)
2022-07-08 19:05:54 +02:00
ogoffart
6b15d2e479 Bump version number to 0.2.6 2022-07-06 09:58:14 +00:00
Tobias Hunger
18cbda0269 janitor: Run cargo clippy --fix 2022-05-22 11:59:00 +02:00
ogoffart
3709ded44d Bump version number to 0.2.5 2022-05-09 16:16:00 +00:00
ogoffart
c160ec2aef Bump version number to 0.2.4 2022-05-09 13:49:25 +00:00
Olivier Goffart
aaca85b250 cargo fmt 2022-05-09 09:22:53 +02:00
Olivier Goffart
a15293891b C++ test driver: fix the env variable to keep the temporary C++ file
Because in case of failure we panic or return before we get the chance
to call keep()
2022-05-09 08:58:22 +02:00
ogoffart
6395cdfc09 Bump version number to 0.2.3 2022-05-04 12:32:58 +00:00
Simon Hausmann
9c08fda888 Ensure the C++ test binaries find the right libslint_cpp
Don't rely on `cargo test`  setting the library search path environment for the dynamic linker.

As per https://doc.rust-lang.org/cargo/reference/environment-variables.html#dynamic-library-paths
PATH/LD_LIBRARY_PATH/etc. are set to include `target/debug` and "deps",
but this is documented to be a legacy feature.
2022-04-13 11:37:12 +02:00
Olivier Goffart
dd3d738774 C++ test: use the libslint_cpp.so from the deps folder
For some reason, The cargo test for the cpp driver test puts the
libslint_cpp.so library in the `deps` foilder, in addition to the
cdynlib which is generated in the normal target folder. So we end
up with two .so.

We need to have the cpp lib as a dependency because its metadata give us the
metadata on where to find the headers.
Ideally it should be an artifact dependency but this is not yet existing

Since cargo sets the LD_LIBRARY_PATH or the PATH env variable when
running the test, running the runtime built binaries work by taking
the library that is in the deps folder.
2022-04-13 10:37:37 +02:00
ogoffart
7b50791db4 Bump version number to 0.2.2 2022-03-10 08:48:33 +00:00
Olivier Goffart
0ba3a14f8a Simplify a bit the test dependencies
So compiling the tests can be a bit faster
2022-02-15 10:47:58 +01:00
ogoffart
ecd0fb7ecd Bump version number to 0.2.1 2022-02-10 16:25:28 +01:00
Tobias Hunger
4230ac2572
Update copyright information to reflect name change
Also run resue over the codebase and fix complaints from that tool.
2022-02-09 10:27:47 +01:00
Tobias Hunger
de4e195280
Rename internal crates and add a README.md to them
The README.md contains the warning that used to be in lib.rs.

Add README.md files to all internal crates

... pointing to the official public crate to use instead.

Rename internal crates

fixup: README files

fixup rename
2022-02-07 13:12:48 +01:00
Olivier Goffart
7bf6c4826f Fix a few more occurences of slixtyfps 2022-02-02 17:01:00 +01:00
Tobias Hunger
1534f87e30
Change authors to Slint Developers 2022-02-02 16:21:34 +01:00
Tobias Hunger
1a0a495bc5
Rename environment variables 2022-02-02 13:35:07 +01:00
Tobias Hunger
cc3994b58d
Rename rust API 2022-02-02 13:26:35 +01:00
Tobias Hunger
ee5ae56c4a
Move api/sixtyfps-rs to api/rs/slint (no crate rename!) 2022-02-02 13:26:34 +01:00
Simon Hausmann
fcf59f3793 Rename the C++ header files 2022-02-02 13:07:26 +01:00
Simon Hausmann
7d297da2fc Rename the sixtyfps C++ namespaces 2022-02-02 12:11:27 +01:00
Olivier Goffart
5ae1c3e1d5 C++ driver test: Fix linking against slint_cpp 2022-02-02 11:00:56 +01:00
Olivier Goffart
388f200bdc Attempt to make the updater_test in the CI sill work with the old examples 2022-02-02 10:34:14 +01:00
Olivier Goffart
7a5330ac52 Re-enable and fix the tests driver after the .slint change 2022-02-02 10:20:12 +01:00
Simon Hausmann
865e4d5146 Fix linkage against C++ library for tests after the rename 2022-02-02 10:18:06 +01:00
Olivier Goffart
03534039d6 Replace more .60 by .slint
Mainly an automated change with
    git grep -O"sed -i 's/\.60/.slint/g'" -w "\.60"

and some manual checks
2022-02-02 10:12:31 +01:00
Olivier Goffart
d706d63ce1 Replace references to the .60 files that are now renamed with .slint 2022-02-02 10:12:31 +01:00
Simon Hausmann
c333b4de2b Rename the sixtyfps-cpp crate 2022-02-02 09:27:11 +01:00
Simon Hausmann
7382ea1f2c Rename SIXTYFPS_EMBED_RESOURCES environment variable 2022-02-02 09:10:52 +01:00
Simon Hausmann
809fbfc7a6 Rename sixtyfps-node
This doesn't touch the documentation, just the package/API side
2022-02-01 22:17:35 +01:00
Simon Hausmann
2f73a27635 Rename the sixtyfps-interpreter crate 2022-02-01 18:11:25 +01:00
Simon Hausmann
cab22f8355 Rename the sixtyfps-compilerlib crate 2022-02-01 18:08:18 +01:00
Simon Hausmann
9494068201 Rename the sixtyfps-rendering-backend-selector crate 2022-02-01 18:06:49 +01:00
Tobias Hunger
842f75e653 [reorg]: Move api/sixtyfps-rs/sixtyfps-* into api/rs 2022-01-31 18:24:33 +01:00
Olivier Goffart
38d7ac42eb Add compatibility feature to our public crates
We want to be able to put existing functionality behind a feature flag while keeping
the semver compatibility.
This is only possible if that new feature flag is enabled by default, but this is not
working if the users have done `default-features = false` in their Cargo.toml.
So we add new `compat-x-y-z` feature that is mandatory to have and which is
enforced with a `compile_error!`

Now, users that whishes to not have the default features must enable it explicitly.
Say we want only x11 but not qt and wayland, the user will do
```toml
sixtyfps = { version = "0.2", default-features = false, features = ["x11", "compat-0-2-0"] }
```

Now, imagine that in the version 0.2.3, we put the SVG support behind a feature flag.
we will do this in out Cargo.toml:

```toml
[features]
default = ["compat-0-2-0", "x11", "wayland"]
compat-0-2-0 = ["compat-0-2-3", "svg"]
compat-0-2-3 = []

svg = [...]
...
```

That way, the svg feature will be enabled by default for all the users who used previous version
of SixtyFPS, and people that want to disable "svg" can just change from compat-0-2-0 to
compat-0-2-3 in their Cargo.toml
2022-01-31 17:30:24 +01:00
Tobias Hunger
a3b86690ff [reorg]: Move the rendering backends into internal 2022-01-31 16:00:50 +01:00
Tobias Hunger
e6b24bceec [reorg]: Set up and populate the internal directory
Move "internal" crates into the `internal` directory. This first batch
includes most of sixtyfps_runtime but leaves the rendering backends
alone for now.

pre-commit applied some cleanups to the moved files:
 - Consistent newline at end of file policy
 - trimming trailing whitespace
 - Formatting Cargo.toml files.
2022-01-31 16:00:50 +01:00
Olivier Goffart
2552e79675 Ignore the error which were warnings before in the updater tests 2022-01-28 13:15:02 +01:00
Olivier Goffart
a45dcc1f9a Update to edition 2021
The ffi function wrapper need to be changed because in the 2021 edition, when
the capture is moved into the closure, it moves the individual field instead
of the whole wrapper. But we need to move the whole wrapper because the Drop
of the wrapper will delete the C++ closure, and we don't want to call the
closure after it is deleted.
2022-01-25 11:40:11 +01:00
Olivier Goffart
d0b3adeba9 Requires C++20 2022-01-24 13:04:12 +01:00
Olivier Goffart
6babb73136 Update the MSRV to 1.56, and test the generated code with edition 2021 2022-01-24 13:01:59 +01:00
ogoffart
42f1964e54 Bump version number to 0.2.0 2022-01-24 11:39:50 +01:00
Tobias Hunger
2f6be7b31f Mass-add copyright headers into Cargo.toml files 2022-01-19 11:25:21 +01:00
Simon Hausmann
be83d60bd8 Simplify signature of compiler code generator
Remove the unused diagnostics parameter.
2022-01-19 10:02:23 +01:00
Simon Hausmann
1b70a65f4f Remove unnecessary dependencies for the C++ test driver
These originate from the time when the driver would call cbindgen.  Now
we depend on the sixtyfps-cpp crate, which runs cbindgen and
communicates the path to the generated headers via _DEP_ cargo link
variable.
2022-01-05 13:42:35 +01:00
Tobias Hunger
c89fa46b2c
janitor: Remove some redundent clone() calls 2022-01-04 18:20:24 +01:00