diff --git a/maven-plugins/sitegen-maven-plugin/README.md b/maven-plugins/sitegen-maven-plugin/README.md index f678f7e25..d38b8319b 100644 --- a/maven-plugins/sitegen-maven-plugin/README.md +++ b/maven-plugins/sitegen-maven-plugin/README.md @@ -47,6 +47,20 @@ Creates the site archive. The parameter `siteArchiveSkip` is mapped to a user property: `sitegen.siteArchiveSkip`. +## Goal: `serve` + +Serve the site. + +### Optional Parameters + +| Property | Type | Default
Value | Description | +|---------------------|---------|-----------------------------------|----------------------------------------------------------| +| siteOutputDirectory | File | `${project.build.directory}/site` | Directory containing the generate site files to archive. | +| sitePort | int | 8080 | TCP port to use. | +| siteServeSkip | Boolean | `false` | Skip this goal execution | + +All parameters are mapped to user properties of the form `sitegen.PROPERTY`. + ## Goal: `preprocess-adoc` Pre-includes included text specified by AsciiDoc `include::` directives into diff --git a/maven-plugins/sitegen-maven-plugin/src/main/java/io/helidon/build/maven/sitegen/SiteServer.java b/maven-plugins/sitegen-maven-plugin/src/main/java/io/helidon/build/maven/sitegen/SiteServer.java index 5acb0999e..3e6b791c3 100644 --- a/maven-plugins/sitegen-maven-plugin/src/main/java/io/helidon/build/maven/sitegen/SiteServer.java +++ b/maven-plugins/sitegen-maven-plugin/src/main/java/io/helidon/build/maven/sitegen/SiteServer.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023 Oracle and/or its affiliates. + * Copyright (c) 2023, 2024 Oracle and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -52,7 +52,7 @@ public final class SiteServer { public SiteServer(int port, Path dir) { this.port = port; try { - server = HttpServer.create(new InetSocketAddress(8080), 0); + server = HttpServer.create(new InetSocketAddress(port), 0); server.createContext("/", new Handler(dir)); server.setExecutor(Executors.newWorkStealingPool()); } catch (IOException ex) { @@ -95,7 +95,15 @@ public void stop() { * @param args args */ public static void main(String[] args) { - new SiteServer(8080, Path.of(args[0])).start(); + if (args.length > 0) { + Path dir = Path.of(args[0]); + int port = 8080; + if (args.length > 1) { + port = Integer.parseInt(args[1]); + } + new SiteServer(port, dir).start(); + } + throw new IllegalArgumentException("usage: dir [port]"); } private static final class Handler implements HttpHandler {