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

jbonofre pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/karaf-minho.git

commit e3cbb4a0891c5866657d23f76ca73519a02bc39b
Author: Jean-Baptiste Onofré <[email protected]>
AuthorDate: Wed Nov 23 06:00:57 2022 +0100

    - Log the classpath content loaded by Minho Main
    - Load minho config files from working directory
    - Use default properties in Minho REST service
---
 boot/src/main/java/org/apache/karaf/minho/boot/Main.java           | 3 +++
 .../apache/karaf/minho/config/json/JsonConfigLoaderService.java    | 7 ++++---
 .../minho/config/properties/PropertiesConfigLoaderService.java     | 6 ++++++
 .../java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java | 2 +-
 4 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/boot/src/main/java/org/apache/karaf/minho/boot/Main.java 
b/boot/src/main/java/org/apache/karaf/minho/boot/Main.java
index 03efb62..69807dc 100644
--- a/boot/src/main/java/org/apache/karaf/minho/boot/Main.java
+++ b/boot/src/main/java/org/apache/karaf/minho/boot/Main.java
@@ -41,14 +41,17 @@ public class Main {
             System.out.println("Minho lib: " + minhoLib);
             Path libFolder = Paths.get(minhoLib);
             ArrayList<URL> urls = new ArrayList<URL>();
+            System.out.print("Loaded libraries: ");
             Files.walkFileTree(libFolder, new SimpleFileVisitor<>() {
                 public FileVisitResult visitFile(Path file, 
BasicFileAttributes attributes) throws IOException {
                     if (!Files.isDirectory(file)) {
+                        System.out.print(file.toFile().toURI().toURL() + ":");
                         urls.add(file.toFile().toURI().toURL());
                     }
                     return FileVisitResult.CONTINUE;
                 }
             });
+            System.out.println();
             URLClassLoader classLoader = new URLClassLoader(urls.toArray(new 
URL[]{}));
             Thread.currentThread().setContextClassLoader(classLoader);
         } else {
diff --git 
a/services/minho-config-json/src/main/java/org/apache/karaf/minho/config/json/JsonConfigLoaderService.java
 
b/services/minho-config-json/src/main/java/org/apache/karaf/minho/config/json/JsonConfigLoaderService.java
index 1cc07a8..754bd7a 100644
--- 
a/services/minho-config-json/src/main/java/org/apache/karaf/minho/config/json/JsonConfigLoaderService.java
+++ 
b/services/minho-config-json/src/main/java/org/apache/karaf/minho/config/json/JsonConfigLoaderService.java
@@ -47,6 +47,7 @@ public class JsonConfigLoaderService implements Service {
     @Override
     public void onRegister(final ServiceRegistry serviceRegistry) throws 
Exception {
         Config config = null;
+        File minhoJson = new File("./minho.json");
         if (System.getenv("MINHO_CONFIG") != null) {
             log.info("Loading JSON configuration from MINHO_CONFIG env 
variable");
             StringReader reader = new 
StringReader(System.getenv("MINHO_CONFIG"));
@@ -63,9 +64,9 @@ public class JsonConfigLoaderService implements Service {
         } else if 
(JsonConfigLoaderService.class.getResourceAsStream("/minho.json") != null) {
             log.info("Loading JSON configuration from classpath minho.json");
             config = 
loadJson(JsonConfigLoaderService.class.getResourceAsStream("/minho.json"));
-        } else {
-            log.info("JSON configuration not found");
-            return;
+        } else if (minhoJson.exists()) {
+            log.info("Loading JSON configuration from current directory: 
./minho.json");
+            config = loadJson(new FileReader(minhoJson));
         }
 
         final var existing = serviceRegistry.get(Config.class);
diff --git 
a/services/minho-config-properties/src/main/java/org/apache/karaf/minho/config/properties/PropertiesConfigLoaderService.java
 
b/services/minho-config-properties/src/main/java/org/apache/karaf/minho/config/properties/PropertiesConfigLoaderService.java
index 663a1db..d29031d 100644
--- 
a/services/minho-config-properties/src/main/java/org/apache/karaf/minho/config/properties/PropertiesConfigLoaderService.java
+++ 
b/services/minho-config-properties/src/main/java/org/apache/karaf/minho/config/properties/PropertiesConfigLoaderService.java
@@ -23,7 +23,9 @@ import org.apache.karaf.minho.boot.config.Config;
 import org.apache.karaf.minho.boot.service.ServiceRegistry;
 import org.apache.karaf.minho.boot.spi.Service;
 
+import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileReader;
 import java.io.StringReader;
 import java.util.List;
 import java.util.Map;
@@ -49,6 +51,7 @@ public class PropertiesConfigLoaderService implements Service 
{
     @Override
     public void onRegister(final ServiceRegistry serviceRegistry) throws 
Exception {
         Properties properties = new Properties();
+        File minhoProperties = new File("./minho.properties");
         if (System.getenv("MINHO_CONFIG") != null) {
             log.info("Loading properties from MINHO_CONFIG env variable");
             properties.load(new StringReader(System.getenv("MINHO_CONFIG")));
@@ -64,6 +67,9 @@ public class PropertiesConfigLoaderService implements Service 
{
         } else if 
(PropertiesConfigLoaderService.class.getResourceAsStream("/minho.properties") 
!= null) {
             log.info("Loading configuration from classpath minho.properties");
             
properties.load(PropertiesConfigLoaderService.class.getResourceAsStream("/minho.properties"));
+        } else if (minhoProperties.exists()){
+            log.info("Loading configuration from current directory: 
./minho.properties");
+            properties.load(new FileReader(minhoProperties));
         }
         Config config = parse(properties);
         final var existing = serviceRegistry.get(Config.class);
diff --git 
a/services/minho-rest/src/main/java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java
 
b/services/minho-rest/src/main/java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java
index a2278bd..1940fe2 100644
--- 
a/services/minho-rest/src/main/java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java
+++ 
b/services/minho-rest/src/main/java/org/apache/karaf/minho/rest/jersey/JerseyRestService.java
@@ -56,7 +56,7 @@ public class JerseyRestService implements Service {
         if (config != null && config.getProperty(REST_PACKAGES) != null) {
             restPackages = config.getProperty(REST_PACKAGES);
         } else {
-            throw new IllegalStateException("rest.packages configuration is 
not found in the ConfigService");
+            restPackages = "org.apache.karaf.minho";
         }
 
         log.info("Starting minho-rest-service");

Reply via email to