Weekly Swagger Client and Spec Snapshots

esi

(salacious necrosis) #1

Third Party Devs,

As part of transitioning EveKit from XML to ESI, I need to generate regular Java client builds. Regular builds are important as the ESI is still undergoing frequent development. To that end, I’ve automated the regular release of Java client builds as well as regular snapshots of the “latest” Swagger spec. These releases happen Monday mornings Eastern Time in the US as follows:

If you want to use the client in Java code, just add this dependency in your pom.xml file (substituting the date as appropriate):

<dependency>
    <groupId>enterprises.orbital.eve.esi</groupId>
    <artifactId>client</artifactId>
    <version>1.0.0.20170108</version>
</dependency>

If you want to use a snapshot spec, you can use a GitHub raw URL such as (substituting the date as appropriate):

https://raw.githubusercontent.com/OrbitalEnterprises/eve-esi-client/master/spec_snapshots/swagger.latest.20170911.json

For example, this link opens the Swagger UI browser using the snapshot link (note that you can’t authenticate with the generic Swagger UI browser).

Java package names are specified in the pom.xml file. If you don’t like my names, it is trivial to clone the GitHub project and update the pom.xml file.

If there is interest in regular builds of other compiled clients, please let me know and I’ll look into it.

cheers,
sal


(Golden Gnu) #2

That must be a major effort, it’s really awesome you’re doing it, thanks! :slight_smile: :+1:

I’m working on a ESI library too. We’re not updating the library as often as you (not even close), but, we’re renaming the classes to be more Java friendly. If you are interested in including the rename code in your library, take a look at the files: generate.sh, replace.sed, and transformation.sh (It require linux or cygwin on windows, the windows instructions is in the readme.md)

Thank you for providing another resource to the community o7


(salacious necrosis) #3

Hi GG! Long time, no chat.

I’m not doing anything much fancier than invoking the Swagger Maven Coden Plugin, then doing a small bit of reorganization and releasing the results.

I’ll take a look at your transformer. It looks like you transform the spec before you generate, which I can also do pretty easily. Is there anything else you’re trying to do with the library? If our goals are the same, I can just extract your code and generate instead of extracting my repo.


(Golden Gnu) #4

Hi again,

I need to say it again: I’m so happy you’re going to move EveKit to ESI!

Re: Library:
We’re write tests for some of the stuff too (when it makes sense). That is why the script will backup the tests, as the tests needs to be updated manually to avoid overwriting the test we already wrote. The transformation scripts also needs to be edited with each new class.
All the manually stuff is the reason we don’t do releases as often. I also want to note that I did not write the scripts, Burberius wrote all that. I just help with some of the manually stuff, when I need a new version.

Note: The tests will fail, if you don’t have my auth

I really don’t want all us Java devs to end up in the same situation we had with the XML library where everyone have their own fork of XMLAPI (Even if it’s a lot less of a problem with swagger). CCP is aiming for parity by December, then the updates may slow down a bit and it should get easier to maintain libraries.

EDIT: Send you an invite to our discord


(Areta Kalgor) #5

Hey all,

sorry if posting to the wrong place, but is there a market ticker API?


(salacious necrosis) #6

All,

A kind soul clued me in that I should be generating off the “underscore” swagger spec, instead of just “latest”. I’ve updated the generator with this fix and kicked off an immediate generation. New client should be ready shortly. All future clients will generate off the underscore spec.

cheers!
sal


(system) #7

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.