# Copyright 1999-2011 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/prefix/darwin/macos/10.6/package.use.mask,v 1.3 2011/12/30 15:49:35 grobian Exp $


# Elias Pipping <pipping@gentoo.org> (25 Nov 2007)
# there's no (official) java6 on macosx
dev-util/checkstyle test
