Showing posts with label github. Show all posts
Showing posts with label github. Show all posts

Friday, June 03, 2016

Old projects reborn - MoneyTimer

This is another tool, I've tried to update in order to withstand the test of time - MoneyTimer

What does it do ?
It measures time and calculates every second how much time it costed all participants.
Great for consultation meetings!



You can try out the latest release here:

What I can learn from it?
- Java 8 Lambda expressions
- Simple Multi-threaded application
- Swing

How to contribute: 
Check the instructions at the github repo page.
If you are wondering what to contribute: there's a list of ideas in the issues page


Tune in, because more complex ones are coming ...

PS:
Check out my other project that can interest you. This time about HTML generation via XSL transformations - http://javamissionary.blogspot.bg/2016/04/old-projects-reborn-filesystem2html-tool.html

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!

Friday, August 15, 2014

Automatic code coverage badge / reports for Java 8 project in Coveralls.io

Recently, I've setup a Java project hosted on Github to get automatically build using TravisCI. It's super cool to have a nice badge saying that your recent builds are green. But then I discovered I could have some more report using free tools like TravisCI.
For example - code coverage tool like Coveralls.io

This is where it got interesting quickly. It's written on the official site that it supports only dynamic languages but nothing about Java. But a quick search in Google pointed me to a maven plugin which connects with Coveralls' API. So I decided to give it a try.

Here are some useful links and hints for everybody trying to do it for his own project:
  1. Check if your project is Java 8If it is, you have to use the JaCoCo maven plugin, since this is the only code coverage tool supporting Java8 compiled classes. Use at least version than 0.7.0  (according to this bug report)

  2. Configure it your pom.xml to use JaCoCo
    You could use the snippet here but with newer JaCoCo version
  3. Configure in your parent pom.xml to use coveralls-maven-pluginCarefully read the README of the plugin. For security reasons don't publish your token on your repo.
  4. Update .travis.yml to try to upload your coverage report to Coveralls.io
    after_success: mvn clean test jacoco:report coveralls:jacoco
  5. Add cool coverage badge to your README
    Like this one:  Coverage Status

    Congratulations!
    You've succesfully integrated: Github + TravisCI + Coveralls.io + JaCoCO for a Java 8 Project

    Check out my example project which has successfully integrated all these wonderful systems. https://github.com/leni-kirilov/MoneyTimer

    Kudos to Tapio Rautonen for creating such a useful plugin and documenting it in an excellent way!