This is an automated email from the ASF dual-hosted git repository. desruisseaux pushed a commit to branch geoapi-4.0 in repository https://gitbox.apache.org/repos/asf/sis.git
commit 1305b01fc8ec8d93e4a62bbf0488f05e051bca9c Author: Martin Desruisseaux <martin.desruisse...@geomatys.com> AuthorDate: Thu Sep 28 12:58:57 2023 +0200 Avoid using a method which has been deprecated in Gradle 8.3. --- .../org/apache/sis/buildtools/gradle/Assembler.java | 2 +- .../org/apache/sis/buildtools/gradle/Conventions.java | 17 ++++++++++++++--- .../org/apache/sis/buildtools/gradle/JavaMaker.java | 3 +-- .../sis/buildtools/gradle/ModularCompilation.java | 2 +- .../org/apache/sis/buildtools/gradle/ModularJAR.java | 4 ++-- .../main/org/apache/sis/buildtools/gradle/UnoPkg.java | 4 ++-- 6 files changed, 21 insertions(+), 11 deletions(-) diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java index 35f49935fb..886f2231a5 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Assembler.java @@ -75,7 +75,7 @@ final class Assembler extends ZipWriter.Apache implements FilenameFilter { final Project project = task.getProject(); final File sourceDirectory = getBundleSourceDirectory(project, MODULE); if (sourceDirectory.isDirectory()) try { - File target = new File(project.getBuildDir(), BUNDLE_DIRECTORY); + File target = fileRelativeToBuild(project, BUNDLE_DIRECTORY); mkdir(target); String filename = FINALNAME_PREFIX + project.getVersion(); target = new File(target, filename + ".zip"); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java index bbfd9c1090..68f1aa5ec2 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/Conventions.java @@ -129,6 +129,17 @@ abstract class Conventions { return new File(new File(new File(project.getProjectDir(), SOURCE_DIRECTORY), module), BUNDLE_DIRECTORY); } + /** + * Returns the path of a file in the build directory. + * + * @param project the sub-project being compiled. + * @param filename name of the file in the build directory. + * @return path to the file in the build directory. + */ + static File fileRelativeToBuild(final Project project, final String filename) { + return project.getLayout().getBuildDirectory().file(filename).get().getAsFile(); + } + /** * Returns a sub-directory of the directory where the compilation result is saved. * @@ -136,9 +147,9 @@ abstract class Conventions { * @return path of the given name relative to build directory. */ final File fileRelativeToBuild(final String... path) { - File file = project.getBuildDir(); - for (final String p : path) { - file = new File(file, p); + File file = fileRelativeToBuild(project, path[0]); + for (int i=1; i<path.length; i++) { + file = new File(file, path[i]); } return file; } diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/JavaMaker.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/JavaMaker.java index 0935c1c1c8..f4419716e5 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/JavaMaker.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/JavaMaker.java @@ -78,8 +78,7 @@ final class JavaMaker extends SimpleFileVisitor<Path> { final File moduleDirectory = Conventions.getBundleSourceDirectory(project, UnoPkg.MODULE); if (moduleDirectory.isDirectory()) try { File outputDirectory; // Path to "./build/classes/java/main/org.apache.sis.openoffice/" - outputDirectory = project.getBuildDir(); - outputDirectory = new File(outputDirectory, Conventions.MAIN_CLASSES_DIRECTORY); + outputDirectory = Conventions.fileRelativeToBuild(project, Conventions.MAIN_CLASSES_DIRECTORY); outputDirectory = new File(outputDirectory, UnoPkg.MODULE); final var c = new JavaMaker(moduleDirectory, outputDirectory); Files.walkFileTree(c.source, c); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java index 2042d8ab2d..5979bc45b5 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularCompilation.java @@ -198,7 +198,7 @@ final class ModularCompilation extends Conventions { int errors = 0; @SuppressWarnings("LocalVariableHidesMemberVariable") // Should be the same value. final Project project = task.getProject(); - final File outputDir = new File(project.getBuildDir(), + final File outputDir = fileRelativeToBuild(project, isCompileTest ? TEST_CLASSES_DIRECTORY : MAIN_CLASSES_DIRECTORY); final var results = new HashMap<File,Object>(); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java index 7cf3ebe9ce..31817e13ae 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/ModularJAR.java @@ -76,7 +76,7 @@ final class ModularJAR extends ZipWriter.JDK { * @return all modules in current Gradle sub-project. */ private static File[] listModules(final Project project) { - return new File(project.getBuildDir(), MAIN_CLASSES_DIRECTORY).listFiles(File::isDirectory); + return fileRelativeToBuild(project, MAIN_CLASSES_DIRECTORY).listFiles(File::isDirectory); } /** @@ -97,7 +97,7 @@ final class ModularJAR extends ZipWriter.JDK { classnameAttributes.put(classname, path); } } - final File target = new File(project.getBuildDir(), LIBS_DIRECTORY); + final File target = fileRelativeToBuild(project, LIBS_DIRECTORY); for (final File module : listModules(project)) { for (final Iterator<Map.Entry<String,String>> it = classnameAttributes.entrySet().iterator(); it.hasNext();) { final Map.Entry<String,String> entry = it.next(); diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/UnoPkg.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/UnoPkg.java index dafe0e3115..c512afedde 100644 --- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/UnoPkg.java +++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/UnoPkg.java @@ -107,9 +107,9 @@ final class UnoPkg extends ZipWriter.JDK { static void create(final Task task) { final Project project = task.getProject(); final File sourceDirectory = getBundleSourceDirectory(project, MODULE); - final File libsDirectory = new File(project.getBuildDir(), LIBS_DIRECTORY); + final File libsDirectory = fileRelativeToBuild(project, LIBS_DIRECTORY); if (sourceDirectory.isDirectory() && libsDirectory.isDirectory()) try { - File target = new File(project.getBuildDir(), BUNDLE_DIRECTORY); + File target = fileRelativeToBuild(project, BUNDLE_DIRECTORY); mkdir(target); target = new File(target, FINALNAME_PREFIX + project.getVersion() + ".oxt"); try (ZipOutputStream out = new ZipOutputStream(new BufferedOutputStream(new FileOutputStream(target)))) {