You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2023/09/15 13:25:59 UTC

[sis] 03/03: Defines a Maven repository for snapshots.

This is an automated email from the ASF dual-hosted git repository.

desruisseaux pushed a commit to branch main-with-gradle-wrapper
in repository https://gitbox.apache.org/repos/asf/sis.git

commit 3e66417a09e6de9b60058e1ff6800170693f54fb
Author: Martin Desruisseaux <ma...@geomatys.com>
AuthorDate: Fri Sep 15 15:25:06 2023 +0200

    Defines a Maven repository for snapshots.
---
 .../org/apache/sis/buildtools/gradle/BuildHelper.java     |  1 +
 .../main/org/apache/sis/buildtools/gradle/ModularJAR.java | 11 ++++++++++-
 settings.gradle.kts                                       | 15 +++++++++++++++
 3 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
index c17df41d9e..5b357d8ca9 100644
--- a/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
+++ b/buildSrc/src/org.apache.sis.buildtools/main/org/apache/sis/buildtools/gradle/BuildHelper.java
@@ -165,6 +165,7 @@ public final class BuildHelper implements Plugin<Project> {
             task.setActions(List.of((t) -> {            // Replace the default action by our own.
                 ModularJAR.execute(BuildHelper.this, (Jar) t);
             }));
+            task.getOutputs().dir(ModularJAR.output(task.getProject()));
         });
         final Task assemble = tasks.getByPath("assemble");
         assemble.dependsOn("jar");
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 d551997e0b..64fb2f8e53 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
@@ -70,6 +70,15 @@ final class ModularJAR extends ZipWriter.JDK {
         super(project, out);
     }
 
+    /**
+     * {@return the output directory where JAR files will be written}.
+     *
+     * @param  project  the sub-project being compiled.
+     */
+    static final File output(final Project project) {
+        return new File(project.getBuildDir(), LIBS_DIRECTORY);
+    }
+
     /**
      * Lists all compiled modules in the current Gradle sub-project.
      *
@@ -97,7 +106,7 @@ final class ModularJAR extends ZipWriter.JDK {
                 classnameAttributes.put(classname, path);
             }
         }
-        final File target = new File(project.getBuildDir(), LIBS_DIRECTORY);
+        final File target = output(project);
         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/settings.gradle.kts b/settings.gradle.kts
index f0522902d4..4ca1c0b860 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -39,6 +39,7 @@ dependencyResolutionManagement {
     repositories {
         mavenCentral()
         maven {
+            name = "UCAR"
             url = uri("https://artifacts.unidata.ucar.edu/repository/unidata-releases")
             content {
                 includeGroup("edu.ucar")        // Restrict usage to those dependencies.
@@ -47,6 +48,20 @@ dependencyResolutionManagement {
                 releasesOnly()
             }
         }
+        maven {
+            name = "Snapshots"
+            url = uri("https://repository.apache.org/content/repositories/snapshots")
+            credentials {
+                println("Looking for properties")
+                val asfNexusUsername = System.getProperty("asfNexusUsername")
+                val asfNexusPassword = System.getProperty("asfNexusPassword")
+                if (asfNexusUsername != null && asfNexusPassword != null) {
+                    println("Properties found")
+                    username = asfNexusUsername
+                    password = asfNexusPassword
+                }
+            }
+        }
     }
     /*
      * All dependencies used by sub-projects, together with their versions.