Generating Swagger as part of a Maven Build

Most of my projects use Maven to build and coordinate dependencies and run unit and build integration tests. I’ve found it a real pain that I could not generate my swagger docs as part of the build.

I have found a really easy way. In Jenkins, I have a downstream job that runs specific maven goals. The WebSphere Liberty maven goals are documented WebSphere Liberty Maven Documentation. Please note my downstream job is an experimental downstream project; I am a bit concerned about edge cases where the process dies.

The commands of the downstream job are:

mvn dependency:copy-dependencies liberty:install-apps liberty:test-start-server

The commands execute three key elements:

  1. Dummy Server.xml – attached at the bottom
  2. Execution for Goal for pre-integration-test
  3. Execution must follow the copy-dependencies so the war file is copied on in

You can check your server is up and running:

tail -f target/liberty/wlp/usr/servers/defaultServer/logs/messages.log

Download the Swagger (YAML)

curl http://localhost:9080/swagger/api/swagger.yaml -o myswagger.yaml

The full code is below

Google Wifi and Comcast outages – Handy Things I learned

With recent power outages, my Google Wifi died.  I found some handy curl commands outlined online.  I hope others find these links useful.




OnHub Results

On Here Hub API / Google Wifi

Reset Modem Links

Locked out of Terminal Services


I locked my team out of a terminal services session when I stopped the terminal server.  I am on a Mac and could not restart the service using the MMC snap-in.

I installed Samba4 – samba4-common and used the net rpc service start on TermService and bam… back in business.

[root@hostname ~]# net rpc service start TermService -I --user Administrator
Enter Administrator's password:
Successfully started service: TermService

JAX-RS Servlet properties

Recently, I have done a good amount of JAX-RS development, and I needed to kept hitting an issue with forms parameter validation errors on my query params.  The errors kept driving me nuts, until I read the documentation and found – jersey.config.servlet.form.queryParams.disabled .   I also learned the java property is available for those with code based configuration.  ServletProperties.QUERY_PARAMS_AS_FORM_PARAMS_DISABLED

If true then query parameters will not be treated as form parameters (e.g. injectable using @FormParam) in case a Form request is processed by server.

Git Lab Merge and Pull Request Templates – An Experiment

Git Lab Merge Request Templates are a fairly exciting way for me to help drive consistency in the projects I am participating in – internal, external and personal.   I created a new folder in .gitlab/issue_templates/and added a file ( based on Pull Request).  For GitHub (not GitLab) switch the folder to .github.

When you go to raise a Merge Request, you can select a template using the template query parameter on GitHub

You can see the example at Pull Request 4.  Developers can select the check boxes and indicate if they are compliant with the minimum to commit.

Merge and Pull Request Template
Merge and Pull Request Template

GitLab is slightly different, and that you select the template from a drop down.  I actually prefer this approach which makes it easier to select.

Good luck, go forth and be consistent with Pull Requests and Merge Requests.