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)))) {

Reply via email to