Skip to content
Permalink
7f14770dc4
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time

inc-validator-client-builder

This project automates building of the client libraries for the inc-validator micro-service.

To perform a simple build:

$ mvn clean compile

For now, this only builds the source for a Ruby gem called inc-validator-client. In principle, we could add additional executions for libraries in other languages.

The generated code will appear in target/inc-validator-client-ruby, which is also the name of the GitLab repository the code gets pushed to.

Pushing Generated Source to a Repository

This is not as trivial a process as you might hope, because of the way that the code is re-generated in full every time. To simplify this process, there's a prep-ruby script which does some of the repository setup. The generated repository also has a git_push.sh, but it only handles public github.com repositories.

$ mvn clean
$ ./prep-ruby
$ mvn compile
$ cd target/inc-validator-client-ruby
$ git add --all .
$ git commit -m "This is what is new"
$ git push --set-upstream origin master

Build and Publish the Gem

Although I don't advise it, you could build the gem and publish it to RubyGems.org as follows:

$ gem build inc-validator-client.gemspec
$ gem push inc-validator-client-*.gem

I think this is probably less than a great idea because the rest of the world has no particular interest in generated API client libraries for an internal service. It's probably better to access the gem sources directly from its remote repository, or from a cloned copy of that.