Commit Graph

275 Commits

Author SHA1 Message Date
Roman Valls Guimera
3ffdd9bdcd Rust 1.36 and 1.37 are ancient history ;P 2021-02-08 22:19:21 +11:00
Roman Valls Guimera
69cccbc4b8 Use local link path for examples 2021-02-08 22:18:44 +11:00
Roman Valls Guimera
9ba62812c6 Remove sub-sub projects, thx @MarcAntoine-Aranaud ;) 2021-02-08 22:18:44 +11:00
Roman Valls Guimera
037dd58453 Restructured as @MarcAntoine-Arnaud suggested: examples workspace, more amenable to CI and examples are easier to find than in https://github.com/media-io/yaserde_examples 2021-02-08 22:18:44 +11:00
Roman Valls Guimera
e17dbbb605 Migrate yaserde examples from its own repo to its main one: https://github.com/media-io/yaserde_examples 2021-02-08 22:18:44 +11:00
Roman Valls Guimera
e412777f36 Avoid rustdoc testing the code under rust crate-level block 2021-02-08 22:18:44 +11:00
Roman Valls Guimera
db005b568f Cargo fmt 2021-02-08 22:18:44 +11:00
Roman Valls Guimera
d8d84313df Initial serialize documentation, showcasing XML attributes and children. Left to document or fix are: dependencies and pretty-printing 2021-02-08 22:18:44 +11:00
Marc-Antoine Arnaud
e326a978fd update supported rust version 2021-02-08 12:04:27 +01:00
Marc-Antoine Arnaud
63c28f4ab8 update travis link (use now .com) 2021-02-08 12:03:29 +01:00
Marc-Antoine Arnaud
083c9b9ac5 Merge branch 'djrodgerspryor-master' 2021-02-08 11:43:43 +01:00
Marc-Antoine Arnaud
b5451dfadb update syntax 2021-02-08 11:43:22 +01:00
Marc-Antoine Arnaud
0dc03c94ab Merge branch 'master' of https://github.com/djrodgerspryor/yaserde into djrodgerspryor-master 2021-02-08 11:39:57 +01:00
Marc-Antoine ARNAUD
44854b0d4d
Merge pull request #105 from ephraimkunz/serialize-conflict
Use fully qualified method names to prevent collisions with serde derive macros
2021-02-08 11:37:25 +01:00
Marc-Antoine ARNAUD
31093262b3
Merge pull request #102 from ephraimkunz/master
Prevent Yaserde from reading non #[yaserde(...)] attributes
2021-02-08 11:36:29 +01:00
Ephraim Kunz
269975d953 Use fully qualified method names to prevent collisions with serde derive macros 2021-02-05 19:26:54 -08:00
Ephraim Kunz
07c2106256 Add unit test for attribute filtering 2021-02-04 20:02:39 -08:00
Ephraim Kunz
7d2658adaf Add filter to only look at 'yaserde' attributes 2021-02-04 19:45:34 -08:00
Daniel Rodgers-Pryor
4a015130a2 Actually support serializer formatting config
By passing the values through to xml-rs
2021-01-10 00:06:23 +11:00
Marc-Antoine Arnaud
fcab1c0245 bump to 0.5.1 2021-01-08 10:10:02 +01:00
Marc-Antoine Arnaud
040219067f bump env_logger 2021-01-08 10:09:36 +01:00
Marc-Antoine Arnaud
79fd706666 fix version in dependency 2021-01-08 10:06:59 +01:00
Marc-Antoine Arnaud
2926e0b620 bump to 0.5.0 2021-01-08 10:05:50 +01:00
Marc-Antoine ARNAUD
2ee3dcda42
Merge pull request #97 from lumeohq/macro-refactor
Refactor macro code
2021-01-08 09:49:26 +01:00
Jonas Platte
a1fc2f9fad
Revert parts of "Use absolute paths in generated code"
to restore compatibility with older versions of Rust.
2020-12-17 18:32:06 +01:00
Jonas Platte
d19c57d23d
Replace String::from by .into() / .to_owned() / format!() 2020-12-17 17:53:16 +01:00
Jonas Platte
c455f12d23
Drop unnecessary qualification of String outside of generated code 2020-12-17 17:50:16 +01:00
Jonas Platte
d3ee4112e3
Clean up visitor code generation 2020-12-17 17:50:16 +01:00
Jonas Platte
12ddcdbc87
Use absolute paths in generated code
With this, the derives should work with most of the crates and types
the generated code refers to being aliased.

Notably, methods are still mostly invoked using regular method syntax
so those coming from trait could still be aliased by outside code.
2020-12-17 17:50:16 +01:00
Jonas Platte
52fb60ec8b
Remove most extern crate statements from yaserde_derive
yaserde_derive is an edition 2018 crate, so these are not necessary.
2020-12-17 17:48:26 +01:00
Jonas Platte
c98845fc42
Remove redundant lib name from yaserde_derive/Cargo.toml 2020-12-02 15:48:10 +01:00
Marc-Antoine ARNAUD
15576efeb3
Merge pull request #93 from marcelbuesing/fix-keyword-in-label
Avoid breaking keywords in labels.
2020-10-12 09:03:07 +02:00
marcelbuesing
798455faa8
Avoid breaking keywords in labels.
Keywords such as `ref` previously lead to labels such as `__#ref__value`.
This should be `__ref__value`.
2020-10-07 10:13:52 +02:00
Marc-Antoine Arnaud
6e2930e2df bump to 0.4.3 2020-08-26 23:33:12 +02:00
Marc-Antoine Arnaud
fc5625a5e4 parse bool as defined in xs:boolean 2020-08-26 23:32:24 +02:00
Marc-Antoine Arnaud
dc558a73e4 publish 0.4.2 2020-08-05 10:56:35 +02:00
Marc-Antoine ARNAUD
c25d8d420f
Merge pull request #88 from marcelbuesing/master
Enforce std String in macros to avoid collisions
2020-08-05 10:38:16 +02:00
marcelbuesing
701b92a2a4
Enforce std String in macros to avoid collisions 2020-08-03 20:28:53 +02:00
Marc-Antoine ARNAUD
b7545504ac
Merge pull request #86 from horacimacias/master
Rename vector fields in struct
2020-08-03 11:27:57 +02:00
Horaci Macias
974ff0ee1a formatted 2020-07-21 09:37:29 +02:00
Horaci Macias
c2d9a9fb64 Before formatting 2020-07-21 09:36:55 +02:00
Horaci Macias
c76ad9fe59 Working on flatten 2020-07-21 09:11:59 +02:00
Horaci Macias
10e02eb555 Trying to fix tabs 2020-07-20 17:35:07 +02:00
Horaci Macias
b1d11f4e3a Trying to address https://github.com/media-io/yaserde/issues/63 2020-07-20 17:16:00 +02:00
Marc-Antoine ARNAUD
460c8320c6
Merge pull request #83 from scottlamb/pr-debugging-and-cleanups
debugging and cleanups
2020-07-14 20:39:47 +02:00
Scott Lamb
8a1e1e2e16 minor cleanup of element skipping
* "skipped" is unnecessary: it's always false at depth == 0,
  so its one use in "if depth == 0 && !skipped" can be removed.
* the element doesn't need a binding, and shadowing "named_element"
  confused me.
* remove old commented-out path that errored on unknown elements
2020-06-20 06:27:19 -07:00
Scott Lamb
c889461eef improve logging in deserialize path and tests
* Log the depth of elements as they're fetched
* Log the starting depth of structs/enums and their Rust symbol names
  (not just XML element names, which may differ significantly)
* Log every element in the struct/enum match loop at trace level.
* Log file/line numbers at a few key points in the tests.
  This is helpful in finding failures happen in some of the longer
  tests.

This logging helps me understand the data flow as I play with changes
for #76.
2020-06-20 06:27:19 -07:00
Scott Lamb
cb272454a4 init logging from yaserde crate's tests
As described here:
https://docs.rs/env_logger/0.7.1/env_logger/#capturing-logs-in-tests

This boilerplate means that "RUST_LOG=trace cargo test" does the right
thing:

* logs actually show up
* logs are separated by test, even when tests are run in parallel
2020-06-20 06:26:22 -07:00
Scott Lamb
0660a9e855 ignore a couple extra "target" directories
Crates within a workspace aren't supposed to have their own "target"
directories. But yet these directories appear when I edit files with vim
and YouCompleteMe. Ignoring them makes tools like "rg" more pleasant to
use.
2020-06-19 21:58:05 -07:00
Marc-Antoine Arnaud
9a2aec0abe update cache strategy on Travis, add rust 1.43 and 1.44 2020-06-08 10:54:25 +02:00