added maven publishing and depencendy generation