Template-driven generator of clients for APIs described by a RAML spec
People
Repo info
Activity
justjacksonn
@justjacksonn
But mid to larger sized companies offering up public SDKs from their APIs are going to want some level of support commitment around the tools they use.
So something like the retrofit raml2code would not work in these sorts of cases.
at least in most.. I am sure there are some that would overlook that.
Sam Duke
@samskiter
theres no other choice currently
justjacksonn
@justjacksonn
This is partly why I want to stick with Mulesofts/RAML raml-generator project.
I know it will get updated to the 1.0 parser soon as it can
yes that is true
How likely would you be to use a docker published build engine vs downloading a tool like retrofit?
Sam Duke
@samskiter
no idea what docker is
justjacksonn
@justjacksonn
meaning, if there were an SDK generator that put out a couple languages from a RAML feed... but it was only available as a docker image that you had to run..
Ah.. ok
docker is basically a virtual machine
but light weight
Sam Duke
@samskiter
ah yes i think i have heard of it
retrofit isnt a build engine, so your question confuses me
justjacksonn
@justjacksonn
you install a docker daemon... and it acts as if you have installed an entire VM... but it shares base level resources and runs images in their own sandboxes
Well, if you could simply do something like docker run ramlsdkgenerator -i my/path/to/raml -o target
and the result would be one or more SDKs generated (different languages)
would that be useful versus downloading a nodejs app and running it?
docker is a company and they have a public docker repository where you can publish shareable docker images
that anyone can run
Sam Duke
@samskiter
id rather it was a gradle plugin tbh, no need for docker or anything
i dont want to run this standalone
justjacksonn
@justjacksonn
ok..why is that?
_
Sam Duke
@samskiter
i want my raml api checked into my repo so the generated code is always up to date with the API and api docs
so i check out the code and on building, it generates the retrofit client and the Pojos
justjacksonn
@justjacksonn
Oh..this wouldnt change that at all.. the only thing what I am describing replaces is having to run something like raml-retrofit by installing it via node locally..
Sam Duke
@samskiter
well i dont i have it all in a gradle script
justjacksonn
@justjacksonn
with a sort of global build tool.. your raml, schemas, generated SDKs, etc are all yours.
Sam Duke
@samskiter
but if some one could wrap that gradle script up for me into a nicely maintained thing then yea, great. i dont really care how it come down. just abstract the controls to me.
justjacksonn
@justjacksonn
you could certainly add the docker run command in your gradle script as well
exactly
Sam Duke
@samskiter
yea sure i could. sounds like just as much of a faff.
justjacksonn
@justjacksonn
the use of it is abstracted so you just make a call pss in raml/schems, get out generated docs, sdks, etc
Sam Duke
@samskiter
what really matters is what options are available.
justjacksonn
@justjacksonn
agreed
Sam Duke
@samskiter
right now raml-client-generator comes down as an npm module so will be just as much of a pain to use
so yea that would be great as a gradle plugin like jsonschema2pojo... i'm sure someone will do it eventually
btw, regarding 1.0 support, raml2code is based on raml-js-parser, maintained by raml-org, so im not too worried about that
Sam Duke
@samskiter
(as is raml-generator)
justjacksonn
@justjacksonn
yup..very true.
but
the dependencies will need to be updated in the project and possibly some extra work to utilize it.
I would guess Atoms who wrote it would do that
or you can just fork it yourself and do it
Sam Duke
@samskiter
yea maybe. ive already forked it and made a couple of changes. shouldnt be too hard to update the dependency. not sure how different raml 1.0 is. but i dont imagine it'll be too bad to update
justjacksonn
@justjacksonn
Agreed.
Sam Duke
@samskiter
@justjacksonn btw what is raml-clien-generator for? raml-javascript-generator seems to depend on raml-generator
justjacksonn
@justjacksonn
it was originally the generator if I recall right.. @blakeembrey will have to offer up more detail. As I recall, my talk with blake and @sichvoge resulted in blake breaking out the generator part from raml-client-generator into raml-generator so that I wasnt forced to use the /languages/ path, but could instead specify the location of language templates and such. Raml-client-generator would basically allow you to run it and specify the name of the language, and it would match up to the languages/<name> folder and you would just provide the handlebars.js templates ther.
But in my case, I needed individual files for resources and some other things, so raml-generator was born to help make that possible. Thus, I add in my own files handler and write Javascript code to process the RAML via the RAML js parser, and then I use the templates for some things, but mostly use JS code.