Sonar is a tool which provides static code analysis for your java projects. Start by creating an account at sonarcloud.io and creating a login token.
After a bot upgraded jbake I was unable to run it on my system. The cause was due to a change in the jbakes script detected the java executable. With some help from the nix community I was able to fix it.
reckon
is a gradle plugin which provides automatic semantic versioning to a project. It uses git tags to determine what the current version should be for any given build operation. It also enforces that versioning follows semver.
Typically build libraries with ant tasks are carefully managed in ~/.ant/lib
or $ANT_HOME/lib
by the developer. Every project using ant will have those tasks on the classpath every time ant is invoked. This can be problematic to developers working on multiple ant projects. It can be especially problematic for CI servers building ant projects. Projects cannot select different versions of build tasks making the build none deterministic and dependent on the environment the build is executed in. Wouldn’t it be nice if build libraries could be added to an ant project dynamically within the build.xml file? This can be made possible by downloading the libraries from a repository like maven central and adding the tasks in the project’s build file.
The ant build system does not come with dependency management. Developers either need to manage dependencies manually or use ivy. Dependency management is not the easiest task to perform manually and it distracts developers from writing their projects. Ivy is capable of downloading dependencies from maven central for use in the project. Ivy will be used to provide build libraries to the ant project so tasks may be added but first ivy tasks must be added to the project.
One thing I don’t like about jsp is that it looks like html. The default engine for JBake is freemarker. Like many other template engines freemarker adds expressions to the html language. I would much rather work with something that looks like groovy so I’m going to try out groovy’s MarkupTemplateEngine as the template engine for JBake.
In a previous post JBake was added to nixos. Now it is time to convert this blog to JBake. As with any user blog hosted by github the content needs to be posted to a git repository for the user. My repository is moaxcp.github.com. I’m using a second repository for the sources of the site.
There are a few tools I want to use. Gradle to build the sources and publish the blog to github. Travis CI to run the Gradle tasks anytime the sources change.
-
Convert posts from jekyll Markdown format to JBake asciidoc format
-
Setup Gradle to build and publish the blog
-
Setup travis-ci to update the blog when sources change
To get started I had to setup gradle and JBake in a workflow for converting posts and viewing the site.
JBake is a static site/blog generator. I have been using jekyll for this blog but I would like to try something new. My main operating system is NixOS which does not have a package to install JBake. It will need to be added. I have already updated visualvm and notion for NixOS but adding a new package is something I haven’t tried yet.
After installing nixos I had some issues with the linux kernel and possibly kde. At boot I would get errors like this.
Older post are available in the archive
2014 - 2018 | Mixed with Foundation v5.5.1 | Baked with JBake v2.6.1