44 lines
1.6 KiB
Groovy
44 lines
1.6 KiB
Groovy
|
|
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 <http://www.gnu.org/licenses/lgpl-2.1.html>.
|
|
*/
|
|
class UtilitiesPlugin implements Plugin<Project> {
|
|
def void apply(Project project) {
|
|
project.convention.plugins.utilities = new UtilitiesPluginDef()
|
|
}
|
|
}
|
|
|
|
class UtilitiesPluginDef {
|
|
@SuppressWarnings("GrUnnecessarySemicolon")
|
|
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" );
|
|
}
|
|
|
|
String java9ModuleName(Project project) {
|
|
String name = project.name
|
|
|
|
// alternative is to just use the full project name (don't drop the 'hibernate-' prefix)
|
|
|
|
if ( name.startsWith( 'hibernate-' ) ) {
|
|
name = name.drop( 'hibernate-'.length() )
|
|
}
|
|
|
|
return name
|
|
}
|
|
} |