25 lines
1017 B
Groovy
25 lines
1017 B
Groovy
|
|
apply plugin: UtilitiesPlugin
|
|
|
|
class UtilitiesPlugin implements Plugin<Project> {
|
|
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" );
|
|
}
|
|
} |