From 0db5702741772d8c184f0c2bb61d7b3776e84332 Mon Sep 17 00:00:00 2001 From: irof Date: Sun, 1 Feb 2026 18:27:57 +0900 Subject: [PATCH 1/2] Log index.html path in CLI output --- jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java b/jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java index 045ba1232..f0e516356 100644 --- a/jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java +++ b/jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java @@ -9,6 +9,8 @@ import org.springframework.stereotype.Component; import java.lang.invoke.MethodHandles; +import java.nio.file.Path; +import java.nio.file.Paths; import java.util.List; import static java.util.stream.Collectors.joining; @@ -39,6 +41,11 @@ void run() { .filter(HandleResult::success) .map(handleResult -> handleResult.jigDocument() + " : " + handleResult.outputFilePathsText()) .collect(joining("\n")); + Path indexFilePath = Paths.get(cliConfig.outputDirectory).toAbsolutePath().normalize().resolve("index.html"); + if (!resultLog.isBlank()) { + resultLog += "\n"; + } + resultLog += "index : [ " + indexFilePath + " ]"; logger.info("-- Output Complete {} ms -------------------------------------------\n{}\n------------------------------------------------------------", System.currentTimeMillis() - startTime, resultLog); From 4d531ce5d125116b19a8f76f11a56fb9b0a70329 Mon Sep 17 00:00:00 2001 From: irof Date: Sun, 1 Feb 2026 18:46:44 +0900 Subject: [PATCH 2/2] Expose index.html path via JigResult --- jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java | 9 ++++----- jig-core/src/main/java/org/dddjava/jig/JigResult.java | 3 ++- .../org/dddjava/jig/adapter/JigDocumentGenerator.java | 2 +- .../main/java/org/dddjava/jig/adapter/JigResultData.java | 8 +++++++- .../org/dddjava/jig/adapter/thymeleaf/IndexView.java | 7 ++++++- .../main/java/org/dddjava/jig/gradle/JigReportsTask.java | 8 +++++++- 6 files changed, 27 insertions(+), 10 deletions(-) diff --git a/jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java b/jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java index f0e516356..4e86cc41c 100644 --- a/jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java +++ b/jig-cli/src/main/java/org/dddjava/jig/cli/CliRunner.java @@ -2,6 +2,7 @@ import org.dddjava.jig.HandleResult; import org.dddjava.jig.JigExecutor; +import org.dddjava.jig.JigResult; import org.dddjava.jig.domain.model.sources.filesystem.SourceBasePaths; import org.dddjava.jig.infrastructure.configuration.Configuration; import org.slf4j.Logger; @@ -9,8 +10,6 @@ import org.springframework.stereotype.Component; import java.lang.invoke.MethodHandles; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.List; import static java.util.stream.Collectors.joining; @@ -35,17 +34,17 @@ void run() { long startTime = System.currentTimeMillis(); SourceBasePaths sourceBasePaths = cliConfig.rawSourceLocations(); - List handleResultList = JigExecutor.standard(configuration, sourceBasePaths).listResult(); + JigResult jigResult = JigExecutor.standard(configuration, sourceBasePaths); + List handleResultList = jigResult.listResult(); String resultLog = handleResultList.stream() .filter(HandleResult::success) .map(handleResult -> handleResult.jigDocument() + " : " + handleResult.outputFilePathsText()) .collect(joining("\n")); - Path indexFilePath = Paths.get(cliConfig.outputDirectory).toAbsolutePath().normalize().resolve("index.html"); if (!resultLog.isBlank()) { resultLog += "\n"; } - resultLog += "index : [ " + indexFilePath + " ]"; + resultLog += "index : [ " + jigResult.indexFilePath() + " ]"; logger.info("-- Output Complete {} ms -------------------------------------------\n{}\n------------------------------------------------------------", System.currentTimeMillis() - startTime, resultLog); diff --git a/jig-core/src/main/java/org/dddjava/jig/JigResult.java b/jig-core/src/main/java/org/dddjava/jig/JigResult.java index 75c7bb6ec..e540678c6 100644 --- a/jig-core/src/main/java/org/dddjava/jig/JigResult.java +++ b/jig-core/src/main/java/org/dddjava/jig/JigResult.java @@ -10,6 +10,8 @@ public interface JigResult { JigSummary summary(); + java.nio.file.Path indexFilePath(); + /** * 集計 */ @@ -25,4 +27,3 @@ public static JigSummary empty() { } } } - diff --git a/jig-core/src/main/java/org/dddjava/jig/adapter/JigDocumentGenerator.java b/jig-core/src/main/java/org/dddjava/jig/adapter/JigDocumentGenerator.java index fabbe6e96..f2a1dee89 100644 --- a/jig-core/src/main/java/org/dddjava/jig/adapter/JigDocumentGenerator.java +++ b/jig-core/src/main/java/org/dddjava/jig/adapter/JigDocumentGenerator.java @@ -77,7 +77,7 @@ public JigResult generate(JigRepository jigRepository) { generateIndex(handleResults); generateAssets(); - return new JigResultData(handleResults); + return new JigResultData(handleResults, IndexView.indexFilePath(outputDirectory)); } private void prepareOutputDirectory() { diff --git a/jig-core/src/main/java/org/dddjava/jig/adapter/JigResultData.java b/jig-core/src/main/java/org/dddjava/jig/adapter/JigResultData.java index 116c53af5..e3e67cc09 100644 --- a/jig-core/src/main/java/org/dddjava/jig/adapter/JigResultData.java +++ b/jig-core/src/main/java/org/dddjava/jig/adapter/JigResultData.java @@ -3,11 +3,12 @@ import org.dddjava.jig.HandleResult; import org.dddjava.jig.JigResult; +import java.nio.file.Path; import java.util.Collection; import java.util.Comparator; import java.util.List; -record JigResultData(Collection handleResults) implements JigResult { +record JigResultData(Collection handleResults, Path indexFilePath) implements JigResult { @Override public List listResult() { @@ -20,4 +21,9 @@ public List listResult() { public JigSummary summary() { throw new UnsupportedOperationException(); } + + @Override + public Path indexFilePath() { + return indexFilePath; + } } diff --git a/jig-core/src/main/java/org/dddjava/jig/adapter/thymeleaf/IndexView.java b/jig-core/src/main/java/org/dddjava/jig/adapter/thymeleaf/IndexView.java index f50e2cd30..8e36865f0 100644 --- a/jig-core/src/main/java/org/dddjava/jig/adapter/thymeleaf/IndexView.java +++ b/jig-core/src/main/java/org/dddjava/jig/adapter/thymeleaf/IndexView.java @@ -15,6 +15,7 @@ import java.util.*; public class IndexView { + static final String INDEX_FILE_NAME = "index.html"; private final Map contextMap; private final TemplateEngine templateEngine; @@ -53,7 +54,7 @@ private void write(Path outputDirectory) { contextMap.put("jigVersion", resolveJigVersion()); contextMap.put("timestamp", ZonedDateTime.now().truncatedTo(ChronoUnit.SECONDS)); - Path outputFilePath = outputDirectory.resolve("index.html"); + Path outputFilePath = indexFilePath(outputDirectory); try (OutputStream out = Files.newOutputStream(outputFilePath); OutputStream outputStream = new BufferedOutputStream(out); Writer writer = new java.io.OutputStreamWriter(outputStream, StandardCharsets.UTF_8) @@ -64,6 +65,10 @@ private void write(Path outputDirectory) { } } + public static Path indexFilePath(Path outputDirectory) { + return outputDirectory.resolve(INDEX_FILE_NAME); + } + class DiagramComponent { JigDocument jigDocument; List srcList; diff --git a/jig-gradle-plugin/src/main/java/org/dddjava/jig/gradle/JigReportsTask.java b/jig-gradle-plugin/src/main/java/org/dddjava/jig/gradle/JigReportsTask.java index 20283239a..35875531c 100644 --- a/jig-gradle-plugin/src/main/java/org/dddjava/jig/gradle/JigReportsTask.java +++ b/jig-gradle-plugin/src/main/java/org/dddjava/jig/gradle/JigReportsTask.java @@ -2,6 +2,7 @@ import org.dddjava.jig.HandleResult; import org.dddjava.jig.JigExecutor; +import org.dddjava.jig.JigResult; import org.dddjava.jig.domain.model.sources.filesystem.SourceBasePaths; import org.dddjava.jig.infrastructure.configuration.Configuration; import org.gradle.api.DefaultTask; @@ -30,12 +31,17 @@ void outputReports() { long startTime = System.currentTimeMillis(); SourceBasePaths sourceBasePaths = new GradleProject(project).rawSourceLocations(); - List handleResultList = JigExecutor.standard(configuration, sourceBasePaths).listResult(); + JigResult jigResult = JigExecutor.standard(configuration, sourceBasePaths); + List handleResultList = jigResult.listResult(); String resultLog = handleResultList.stream() .filter(HandleResult::success) .map(handleResult -> handleResult.jigDocument() + " : " + handleResult.outputFilePathsText()) .collect(joining("\n")); + if (!resultLog.isBlank()) { + resultLog += "\n"; + } + resultLog += "index : [ " + jigResult.indexFilePath() + " ]"; getLogger().info("-- Output Complete {} ms -------------------------------------------\n{}\n------------------------------------------------------------", System.currentTimeMillis() - startTime, resultLog); }