Friday, April 29, 2016

Old projects reborn - FileSystem2Html tool

As everyone in the IT business, I have quite a few of my own projects. Most of them rot in solitude and are rather dusty... So, I decided as a way of exercise as well as a check how have technologies developed and my own views on code cleanness, tests' quality and overall project usability, to make them more development-friendly.

In short - I'm reviving my projects (both university and personal ones) so that they are easy to setup, run and contribute to if there's a willing person.

I'm starting with this small project: https://github.com/leni-kirilov/FileSystem2Html/

What does it do:

- it's a simple Folder structure scanner
- it can build an HTML/XML report of the folder structure
- it can rebuild that folder structure elsewhere (without the content, obviously)

My "beautiful" swing UI

Very useful if you like a certain folder structure, and don't have the time to remove all the files or whatever. You can easily mimic it. Quite a simple app.

Now to the contribution part:

- It's an open source project 
- Java 8 required
- built with Maven 
- a list of TODOs and ideas where one can get started! I've listed ideas based on effort. 
I would start with the small ones

The project builds automatically and measures code coverage (yes, there are unit tests there!)
(Thank you Travis-CI, Coveralls and Coverity!)

So that's pretty much it.
I can't wait until I see someone energetic about such a tool

Best of wishes!
Leni

PS:
Please be gentle :) I know there's some pretty lame code out there!

Tuesday, July 28, 2015

Gradle Daemon - boost your build performance

You use Gradle and want to speed up a bit your build time? Nobody wants to wait for compilation, assembly etc. Let's try this easy to setup performance boost:

If you enable Gradle Daemons, you can actually reuse the Gradle context that you've just created for your subsequent builds! It basically doesn't completely kill the process when a Gradle build finishes, but reuses the common framework classes and thus improving build time.

I've tried it on my projects and the improvement was from a 40s build down to 20s on subsequent builds !

Here's what you need to do and know:
touch ~/.gradle/gradle.properties && echo "org.gradle.daemon=true" >> ~/.gradle/gradle.properties

  • enables Gradle daemon for all your projects by default (don't worry you can turn it off for individual projects as well)
  • if you use multiple Gradle versions, a different daemon is created for each one! This is a potential deal-breaker for some developers, but a good reason to align all your projects to a single version of Gradle.

  • in case you want to recreate the daemon, you can stop them all using:

./gradlew --stop
And that's it!

For more info check the dedicated page:
https://docs.gradle.org/current/userguide/gradle_daemon.html