|
2 | 2 |
|
3 | 3 | import static dev.jbang.Settings.CP_SEPARATOR;
|
4 | 4 |
|
5 |
| -import java.awt.*; |
| 5 | +import java.awt.Desktop; |
6 | 6 | import java.io.IOException;
|
7 | 7 | import java.lang.reflect.Field;
|
8 | 8 | import java.net.URI;
|
|
24 | 24 | import dev.jbang.devkitman.Jdk;
|
25 | 25 | import dev.jbang.devkitman.JdkManager;
|
26 | 26 | import dev.jbang.source.*;
|
| 27 | +import dev.jbang.source.resolvers.AliasResourceResolver; |
| 28 | +import dev.jbang.source.resolvers.LazyResourceResolver; |
| 29 | +import dev.jbang.source.resolvers.SiblingResourceResolver; |
27 | 30 | import dev.jbang.util.JavaUtil;
|
28 | 31 | import dev.jbang.util.ModuleUtil;
|
29 | 32 |
|
@@ -182,10 +185,25 @@ private void init(BuildContext ctx) {
|
182 | 185 | }
|
183 | 186 | gav = prj.getGav().orElse(null);
|
184 | 187 | description = prj.getDescription().orElse(null);
|
185 |
| - docs = prj.getDocs().orElse(null); |
| 188 | + initDocsReference(prj); |
| 189 | + |
186 | 190 | module = prj.getModuleName().orElse(null);
|
187 | 191 | }
|
188 | 192 |
|
| 193 | + private void initDocsReference(Project prj) { |
| 194 | + docs = prj.getDocs().orElse(null); |
| 195 | + |
| 196 | + // check if an alias exists and override docs directive with alias's resolved ResourceRef |
| 197 | + ResourceRef resourceRef = prj.getResourceRef(); |
| 198 | + if (resourceRef instanceof AliasResourceResolver.AliasedResourceRef) { |
| 199 | + AliasResourceResolver.AliasedResourceRef aliasedResourceRef = (AliasResourceResolver.AliasedResourceRef) resourceRef; |
| 200 | + ResourceResolver resolver1 = new SiblingResourceResolver(resourceRef, ResourceResolver.forResources()); |
| 201 | + if (aliasedResourceRef.getAlias().docs != null) { |
| 202 | + docs = LazyResourceResolver.lazy(resolver1).resolve(aliasedResourceRef.getAlias().docs); |
| 203 | + } |
| 204 | + } |
| 205 | + } |
| 206 | + |
189 | 207 | private void init(SourceSet ss) {
|
190 | 208 | List<String> deps = ss.getDependencies();
|
191 | 209 | if (!deps.isEmpty()) {
|
|
0 commit comments