Commit Graph

423 Commits

Author SHA1 Message Date
ebbcdb271b
add smithy package to tests
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-30 13:49:02 -07:00
dfa0be60b9
update code generation without containing struct
Some checks failed
continuous-integration/drone/push Build is failing
Instead we will rely here on the implicit struct provided by the file
itself. This means that when the service_manifest.zig import is
assigned, we don't end up with a construct like "manifest.sts.sts" to
get to the sts service. This simplifies greatly the way that
servicemodel.zig needs to behave.

One down side, however, is that the structure does not seem
accessible with the current zig language, making metaInfo unable
to access itself as it did before. Or maybe it can, I just can't find
it. So, this change also adds a new "service_metadata" public constant
with the same declarations being published at the file level, and
that is the new return from the metaInfo function. Our aws.zig
only really needs the action and that metadata, so we're ok with that
even if there is some duplication (we could codegen pointers over, and
maybe should to save a little bit of space).
2021-06-30 13:40:20 -07:00
13e43528b5
move install to end
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-30 11:13:12 -07:00
487abc057f
perform build before test/add gen as a dependency for test
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-30 11:09:30 -07:00
b82dc3f50d
add build badge to README
Some checks failed
continuous-integration/drone/push Build is failing
2021-06-30 11:04:03 -07:00
0831c0a84c
add ci 2021-06-30 11:00:36 -07:00
e98d64f39c
update build.zig and README 2021-06-30 09:37:14 -07:00
3c9f91c012
rework servicemodel to avoid comptime_string @import
This method was in violation of the accepted proposal
https://github.com/ziglang/zig/issues/2206
and disallowed in the compiler as of adc2aed,
now in 0.8.0.
2021-06-30 09:21:08 -07:00
dcfefa4072
address zig changes in awshttp. zig 15a030ef3 or newer needed
There are two recent changes in zig that effect awshttp.

1. cf65ab8 disallows unused variables. Fair enough and backward
compatible.
2. https://github.com/ziglang/zig/issues/2115#issuecomment-827968279

This comment resulted in a backward incompatible change to use the
underlying value from a C enum rather than its symbol. This reduces
edge cases in the compiler. Ultimately we may want awshttp to define
zig enums that mirror the C enums, but for now I've commented the
definitions of the C enums used.
2021-06-30 09:14:28 -07:00
de41b456d3
address unused variable in generated metaInfo function 2021-06-30 09:12:34 -07:00
267e72051d
make services direct imports/pub const in generated service manifest 2021-06-30 09:11:53 -07:00
9c3be78d9f
address new compilation errors introduced in zig cf65ab8 2021-06-30 09:10:08 -07:00
ad7aa96678
use new smithy package in generated code 2021-06-30 09:07:35 -07:00
ac07c9300f
extract smithy to separate package 2021-06-30 09:05:21 -07:00
22e39dd6e1
allow for spaces in the name to be "handled" (ignored) 2021-06-29 17:19:34 -07:00
ae7ecb1179
update gitignore for codegen 2021-06-29 17:10:52 -07:00
aa5b46c046
move codegen out of src - we will handle differently 2021-06-29 17:10:01 -07:00
7dc8e0e938
get all json tests passing with updated zig 0.9.0 (current master)
Key changes:

1. Remove all unused variables (see zig commit cf65ab8)
2. Remove tests requiring other files
3. Specify enum type when providing specific enum values (see zig
commits around 507a8096d)
2021-06-29 14:50:21 -07:00
b2ebc5a621
add snake comparison test 2021-06-23 18:23:56 -07:00
93536aa4ad
make primary executable a more robust integration test harness 2021-06-23 18:23:07 -07:00
06479b8cb7
more useful logging 2021-06-23 18:21:34 -07:00
6f38ecd893
update to new json/url options 2021-06-23 18:20:45 -07:00
77caa626f0
allow parsing of exponential numbers if they resolve to int 2021-06-23 18:18:42 -07:00
c2e2778d77
missing field support (not sure if we will use this) 2021-06-23 18:18:00 -07:00
3d9490de82
fix snake case comparison
code in the function required found variable to be a real count
for allocation purposes, but it was originally coded as a flag
instead, which broke any field with more than two underscores
2021-06-23 18:16:54 -07:00
f816c0cbf1
additional url encoding test cases and virtual rewrite of encoder 2021-06-23 18:14:59 -07:00
9c3fcc5a9d
address memory leaks in awshttp
There appears to be a leak in json.zig, which had minimal modifications for
snake/camel case, including use of an allocator. It is not obvious that
the leaks were added by these changes, so I will leave this issue for
later investigation.
2021-06-18 14:06:58 -07:00
667c38c8d3
add sentinals so we can work until general purpose allocator 2021-06-18 13:48:31 -07:00
2768c83a0a
switch to general purpose allocator so we can weed out leaks 2021-06-18 13:47:27 -07:00
1050ca5222
update documentation and comments 2021-06-18 13:46:23 -07:00
bd3605e387
support request data in query protocol calls
This should complete the query protocol calls. However, there are likely
gaps in implementation for the transformation of request parameters
to url encoded body data
2021-06-14 16:12:55 -07:00
9a0908bc63
adjust build.zig for zig 0.9.0 >= c5d412268 2021-06-12 13:40:23 -07:00
fe7e37b71a
rough out protocol plan 2021-06-12 13:39:26 -07:00
01aa8c8d1a
add http error handling 2021-06-12 13:38:50 -07:00
78478ab470
update Dockerfile for 0.8.0 2021-06-12 09:33:58 -07:00
ad54596837
wire Services through to aws.zig and main demo 2021-06-10 14:35:22 -07:00
7f8ddd3461
set branch quota to allow all services to be processed 2021-06-10 14:23:11 -07:00
f9e6f92026
individual service support - evaluation exceeded 1000 branches 2021-06-10 14:09:22 -07:00
dff03429d9
fix memory leaks/upgrade tests to 0.8.0 2021-06-10 14:05:48 -07:00
e5f5f0e8cd
update code to support compilation with zig 0.8.0 2021-06-09 16:26:42 -07:00
c6dbbf33af
allow different endpoing/sigv4 service names
This seems silly, but I guess in AWS it is a thing that these two values may
be different. Consumers of awshttp have the option of ignoring this, which
should be correct most of the time. Aws.zig will, however, use the service
metadata to do the right thing
2021-06-09 16:25:49 -07:00
bd5d509665
update servicemodel for generated model
This increases compilation time significantly as all 260+ services
need to be analyzed by zig during compilation. I plan to change
the model from a single "services" constant to a function
that will import only services that plan to be used. This
might be in addition to the single constant to allow
consumers to choose short compile times or all services
support
2021-06-09 16:22:44 -07:00
88632df671
update build.zig with zig 0.8.0 instructions
My PR is still open, so it will be 0.9.0 at least before we get static build.zig support
2021-06-09 16:18:01 -07:00
32afc2c622
update .gitignore for generated files 2021-06-09 16:16:54 -07:00
d7efe72f1b
enable compiling under zig 0.8.0 2021-06-09 16:14:44 -07:00
4a10450e0e
add metadata function
This blows up the number of parameters on generateComplexTypeFor
at least this is a private function, but still kinda messay
2021-06-09 16:14:09 -07:00
03ef89a362
use snake case sdk id for member name
There is still a bug in snake_case related to double underscores
2021-06-09 16:10:10 -07:00
578058dfc9
remove newline that disagreed with zig fmt 2021-06-09 16:06:30 -07:00
68fdeed2fc
update gitignore for generated files 2021-06-03 17:41:18 -07:00
59638df854
add manifest list (remove -s option) 2021-06-03 17:40:47 -07:00