Open Source Tools: Build – GitHub

On the last two posts of this series (JitPack, Travis & AppVeyor) I mentioned in passing another online service that is very popular and widely used: GitHub. The fact that I failed to mention this service before the introduction of the previous two goes to show how prevalent it is; you simply take it for granted because it’s there! There are of course other code hosting solutions in the wild, I started 11 years ago with SourceForge (with CSV no less, oh my!), such as BitBucket and GitLab however most of the online services we’ll continue to see on this Read More

[Interview] Dr. Heinz Kabutz @ JCrete

What is JCrete? In short, the hottest Java unconference in the world! I caught up with Dr. Heinz Kabutz right before the Cretan dinner event on the second day. Heinz is one of the 3 masterminds behind the unconference. In this interview he shares insights on how JCrete came to be, what are some of the key ingredients to successfully run an event such as JCrete, what to expect when attending an Open Spaces event, and more.  

Open Source Tools: Build – Travis & AppVeyor

Open Source projects have higher chances for success if their build instructions are clear and easily reproducible by anyone. It’s a very good idea to include a file that contains environment setup and clear build instructions to be followed. Even better would be to additionally configure a remote build mechanism that publicizes build status and results. This build mechanism can be used to Build and publish released binaries. Publish code coverage results and other quality gates. Build branches on demand, validating external contributions before merging (based on pull requests from GitHub for example). There are several options out there that Read More

Open Source Tools: Build – JitPack

Up until know we’ve discussed how to build projects using a couple of tools. Regardless of which one you pick you may need to deal with dependencies. The Java platform does not provide a specification for defining dependencies and their metadata and how to consume them, however the whole ecosystem has agreed on using JAR files as the binary packages and Apache Maven’s POM format as metadata. Often times you add a bit of configuration to your build file stating two things: the dependency coordinates used to locate the JAR file. the repository from where the metadata and the JAR Read More

Open Source Tools: Build – SDKMAN!

In the past two entries we’ve seen how to get started with Apache Maven and Gradle. You may have noticed that getting any of these tools installed on your system requires the following steps: Download a binary distribution (usually packaged as a ZIP file) from the official download page. Unzip the distribution anywhere on your system. Configure environment variables. Get ready to go! You must perform these steps every single time a new version comes out if you want to keep your toolbox up to date. There’s bound to be a better way to execute these repetitive tasks. This is Read More

Open Source Tools: Build – Gradle

Gradle is a JVM based build tool whose aim is to let developers create binaries from sources. It has grown in popularity in recent years due to is flexibility, one of the reasons why the Android ecosystem switched from Apache Ant to Gradle, turning every single Android developer out there into a Gradle user. Gradle has its origin way back in late 2007 as a response to Maven’s inability to deliver a flexible lifecycle. At the time Gradle’s aim was to deliver a richer model on which any kind of project could be built; this allowed Gradle to support non-JVM Read More

Open Source Tools: Build – Maven

Java projects need a way to produce binaries from sources. There are many tools out there that can achieve this goal, Apache Maven has been so far the most popular choice, chances are you have encountered in one way or another. Maven as we know it today is the result of a couple of iterations, starting with Maven 1 where the build was one step removed from its predecessor tool: Apache Ant. Maven 1 gave you a lot of freedom to define how a particular build should behave but forced developers to use XML in a programmatic way. This lead Read More

Open Source Tools: The Series

I’ve been meaning to write about this topic for a long time. I was a happy consumer of Open Source software during college and the early years of my career. Suddenly something happened and decided to actively participate in Open Source; it’s been a while since then, 12 years give or take a few days as a matter of fact. As part of this adventure I’ve come across a series of tools and techniques that have helped me to deliver FLOSS (Free/Libre Open Source Software), which I often discuss with people during Hackergarten meetups and in the “hallway track” at Read More

Writing JavaFX applications with Kotlin

Hi there! Today I’ll like to show you how Kotlin can be used to write a JavaFX application. This particular example encompasses both runtime and buildtime aspects as I’ll also show how Gradle Kotlin Script can be used to build the project. Let’s get started! UPDATE: the code assumes you’re using Oracle JDK8 which includes JavaFX (jfxrt.jar) by default. Make sure you have a compatible JavaFX binary if you’re using a different JDK release, such as OpenJDK. You can install OpenJFX on Ubuntu by invoking sudo apt-get install openjfx for example. I’ve selected Griffon as my framework of choice for Read More

Boost your JavaFX applications with Griffon

The Griffon team recently released version 2.11.0 live on stage at Gr8Conf EU, and with it comes the latest batch of updates and features that make it the best choice for writing JavaFX applications. In this post I’d like to showcase some of the features you may want to explore for your next JavaFX project. And don’t worry, you can still use these features in your application even if you do not use Griffon as your application framework of choice. Scroll to the end of the page to figure out how it can be done. JavaFX delivers a brand new Read More

ˆ Back To Top