apply plugin: UtilitiesPlugin /* * Hibernate, Relational Persistence for Idiomatic Java * * License: GNU Lesser General Public License (LGPL), version 2.1 or later. * See the lgpl.txt file in the root directory or . */ class UtilitiesPlugin implements Plugin { def void apply(Project project) { project.convention.plugins.utilities = new UtilitiesPluginDef() } } class UtilitiesPluginDef { public String determinePackageName(SourceDirectorySet sourceDirectorySet, File javaFile) { final javaFileAbsolutePath = javaFile.absolutePath; for ( File sourceDirectory : sourceDirectorySet.srcDirs ) { final String sourceDirectoryAbsolutePath = sourceDirectory.absolutePath; if ( javaFileAbsolutePath.startsWith( sourceDirectoryAbsolutePath ) ) { final String javaFileRelativePath = javaFileAbsolutePath.substring( sourceDirectoryAbsolutePath.length() + 1, javaFileAbsolutePath.lastIndexOf( File.separator ) ); return javaFileRelativePath.replace( File.separator, "." ); } } throw new RuntimeException( "ugh" ); } }