You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vk...@apache.org on 2020/12/28 19:55:57 UTC

[ignite-3] branch ignite-3.0.0-alpha1 updated: IGNITE-13923 - Added custom Maven repo support to the 'init' command

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

vkulichenko pushed a commit to branch ignite-3.0.0-alpha1
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/ignite-3.0.0-alpha1 by this push:
     new 984855d  IGNITE-13923 - Added custom Maven repo support to the 'init' command
984855d is described below

commit 984855d6c10a53258c1da6049710e29b62d7c535
Author: Valentin Kulichenko <va...@gmail.com>
AuthorDate: Mon Dec 28 11:54:59 2020 -0800

    IGNITE-13923 - Added custom Maven repo support to the 'init' command
---
 .../apache/ignite/cli/builtins/init/InitIgniteCommand.java   | 12 ++++++++----
 .../org/apache/ignite/cli/spec/InitIgniteCommandSpec.java    | 10 ++++++++--
 .../java/org/apache/ignite/cli/IgniteCliInterfaceTest.java   |  2 +-
 .../ignite/cli/builtins/init/InitIgniteCommandTest.java      | 12 ++++--------
 4 files changed, 21 insertions(+), 15 deletions(-)

diff --git a/modules/cli/src/main/java/org/apache/ignite/cli/builtins/init/InitIgniteCommand.java b/modules/cli/src/main/java/org/apache/ignite/cli/builtins/init/InitIgniteCommand.java
index 108a329..a88199a 100644
--- a/modules/cli/src/main/java/org/apache/ignite/cli/builtins/init/InitIgniteCommand.java
+++ b/modules/cli/src/main/java/org/apache/ignite/cli/builtins/init/InitIgniteCommand.java
@@ -21,8 +21,10 @@ import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.PrintWriter;
+import java.net.URL;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.Optional;
 import java.util.Properties;
@@ -54,7 +56,7 @@ public class InitIgniteCommand {
         this.cliPathsConfigLoader = cliPathsConfigLoader;
     }
 
-    public void init(PrintWriter out, ColorScheme cs) {
+    public void init(URL[] urls, PrintWriter out, ColorScheme cs) {
         moduleManager.setOut(out);
         Optional<IgnitePaths> ignitePathsOpt = cliPathsConfigLoader.loadIgnitePathsConfig();
         if (ignitePathsOpt.isEmpty())
@@ -73,8 +75,9 @@ public class InitIgniteCommand {
         out.println(table);
         out.println();
 
-        installIgnite(cfg);
+        installIgnite(cfg, urls);
         initDefaultServerConfigs(cfg.serverDefaultConfigFile());
+
         out.println();
         out.println("Apache Ignite is successfully initialized. Use the " +
             cs.commandText("ignite node start") + " command to start a new local node.");
@@ -92,8 +95,9 @@ public class InitIgniteCommand {
         }
     }
 
-    private void installIgnite(IgnitePaths ignitePaths) {
-        moduleManager.addModule("_server", ignitePaths, Collections.emptyList());
+    private void installIgnite(IgnitePaths ignitePaths, URL[] urls) {
+        moduleManager.addModule("_server", ignitePaths,
+            urls == null ? Collections.emptyList() : Arrays.asList(urls));
     }
 
     private File initConfigFile() {
diff --git a/modules/cli/src/main/java/org/apache/ignite/cli/spec/InitIgniteCommandSpec.java b/modules/cli/src/main/java/org/apache/ignite/cli/spec/InitIgniteCommandSpec.java
index b53d430..9ef614b 100644
--- a/modules/cli/src/main/java/org/apache/ignite/cli/spec/InitIgniteCommandSpec.java
+++ b/modules/cli/src/main/java/org/apache/ignite/cli/spec/InitIgniteCommandSpec.java
@@ -17,6 +17,7 @@
 
 package org.apache.ignite.cli.spec;
 
+import java.net.URL;
 import javax.inject.Inject;
 import org.apache.ignite.cli.common.IgniteCommand;
 import org.apache.ignite.cli.builtins.init.InitIgniteCommand;
@@ -28,8 +29,13 @@ public class InitIgniteCommandSpec extends CommandSpec implements IgniteCommand
     @Inject
     InitIgniteCommand command;
 
+    @CommandLine.Option(
+        names = "--repo",
+        description = "Additional Maven repository URL"
+    )
+    public URL[] urls;
+
     @Override public void run() {
-        command.init(spec.commandLine().getOut(), spec.commandLine().getColorScheme());
+        command.init(urls, spec.commandLine().getOut(), spec.commandLine().getColorScheme());
     }
-
 }
diff --git a/modules/cli/src/test/java/org/apache/ignite/cli/IgniteCliInterfaceTest.java b/modules/cli/src/test/java/org/apache/ignite/cli/IgniteCliInterfaceTest.java
index 498df94..0709570 100644
--- a/modules/cli/src/test/java/org/apache/ignite/cli/IgniteCliInterfaceTest.java
+++ b/modules/cli/src/test/java/org/apache/ignite/cli/IgniteCliInterfaceTest.java
@@ -89,7 +89,7 @@ public class IgniteCliInterfaceTest {
             applicationContext.registerSingleton(InitIgniteCommand.class, initIgniteCommand);
             CommandLine cli = commandLine(applicationContext);
             assertEquals(0, cli.execute("init"));
-            verify(initIgniteCommand).init(any(), any());
+            verify(initIgniteCommand).init(any(), any(), any());
         }
     }
 
diff --git a/modules/cli/src/test/java/org/apache/ignite/cli/builtins/init/InitIgniteCommandTest.java b/modules/cli/src/test/java/org/apache/ignite/cli/builtins/init/InitIgniteCommandTest.java
index 0c2c10e..ceddc40 100644
--- a/modules/cli/src/test/java/org/apache/ignite/cli/builtins/init/InitIgniteCommandTest.java
+++ b/modules/cli/src/test/java/org/apache/ignite/cli/builtins/init/InitIgniteCommandTest.java
@@ -17,9 +17,7 @@
 
 package org.apache.ignite.cli.builtins.init;
 
-import java.io.ByteArrayOutputStream;
 import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.nio.file.Files;
@@ -27,7 +25,6 @@ import java.nio.file.Path;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Comparator;
-import java.util.jar.Manifest;
 import javax.inject.Inject;
 import io.micronaut.test.annotation.MockBean;
 import io.micronaut.test.extensions.junit5.annotation.MicronautTest;
@@ -41,7 +38,6 @@ import org.junit.jupiter.api.io.TempDir;
 import org.mockito.junit.jupiter.MockitoExtension;
 import picocli.CommandLine.Help.ColorScheme;
 
-import static org.junit.jupiter.api.Assertions.assertEquals;
 import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
@@ -67,8 +63,8 @@ public class InitIgniteCommandTest {
         when(mavenArtifactResolver.resolve(any(), any(), any(), any(), any()))
             .thenReturn(new ResolveResult(Arrays.asList()));
 
-        var out = new ByteArrayOutputStream();
-        initIgniteCommand.init(new PrintWriter(System.out, true), new ColorScheme.Builder().build());
+        var out = new PrintWriter(System.out, true);
+        initIgniteCommand.init(null, out, new ColorScheme.Builder().build());
 
         var ignitePaths = cliPathsConfigLoader.loadIgnitePathsConfig().get();
         assertTrue(ignitePaths.validateDirs());
@@ -82,14 +78,14 @@ public class InitIgniteCommandTest {
             .thenReturn(new ResolveResult(Collections.emptyList()));
 
         var out = new PrintWriter(System.out, true);
-        initIgniteCommand.init(out, new ColorScheme.Builder().build());
+        initIgniteCommand.init(null, out, new ColorScheme.Builder().build());
 
         var ignitePaths = cliPathsConfigLoader.loadIgnitePathsOrThrowError();
         recursiveDirRemove(ignitePaths.binDir);
 
         assertFalse(ignitePaths::validateDirs);
 
-        initIgniteCommand.init(out, new ColorScheme.Builder().build());
+        initIgniteCommand.init(null, out, new ColorScheme.Builder().build());
         assertTrue(ignitePaths::validateDirs);
     }