From 7e651ada035c88446ff620ffc3fb7eb8f23cbf7d Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 9 Apr 2024 20:47:46 +0200 Subject: docs: add Javadoc --- subprojects/docs/build.gradle.kts | 51 +++++++++++++++++++++++++++++++- subprojects/docs/docusaurus.config.ts | 2 +- subprojects/docs/src/docs-api/javadoc.md | 35 ++++++++++++++++++++++ 3 files changed, 86 insertions(+), 2 deletions(-) (limited to 'subprojects') diff --git a/subprojects/docs/build.gradle.kts b/subprojects/docs/build.gradle.kts index 9226ffe0..b49d9797 100644 --- a/subprojects/docs/build.gradle.kts +++ b/subprojects/docs/build.gradle.kts @@ -16,10 +16,40 @@ frontend { assembleScript.set("run build") } +val javadocs: Configuration by configurations.creating { + isCanBeConsumed = false + isCanBeResolved = true +} + +dependencies { + javadocs(project(":refinery-generator", "javadocElements")) + javadocs(project(":refinery-generator-cli", "javadocElements")) + javadocs(project(":refinery-interpreter", "javadocElements")) + javadocs(project(":refinery-interpreter-localsearch", "javadocElements")) + javadocs(project(":refinery-interpreter-rete", "javadocElements")) + javadocs(project(":refinery-interpreter-rete-recipes", "javadocElements")) + javadocs(project(":refinery-language", "javadocElements")) + javadocs(project(":refinery-language-ide", "javadocElements")) + javadocs(project(":refinery-language-model", "javadocElements")) + javadocs(project(":refinery-language-semantics", "javadocElements")) + javadocs(project(":refinery-language-web", "javadocElements")) + javadocs(project(":refinery-logic", "javadocElements")) + javadocs(project(":refinery-store", "javadocElements")) + javadocs(project(":refinery-store-dse", "javadocElements")) + javadocs(project(":refinery-store-dse-visualization", "javadocElements")) + javadocs(project(":refinery-store-query", "javadocElements")) + javadocs(project(":refinery-store-query-interpreter", "javadocElements")) + javadocs(project(":refinery-store-reasoning", "javadocElements")) + javadocs(project(":refinery-store-reasoning-scope", "javadocElements")) + javadocs(project(":refinery-store-reasoning-smt", "javadocElements")) +} + val srcDir = "src" val docusaurusOutputDir = layout.buildDirectory.dir("docusaurus") +val javadocsDir = layout.buildDirectory.dir("javadocs/api/javadoc") + val configFiles: FileCollection = files( rootProject.file("yarn.lock"), rootProject.file("package.json"), @@ -36,8 +66,27 @@ val lintConfigFiles: FileCollection = configFiles + files( ) tasks { + val extractJavadocs by registering { + dependsOn(javadocs) + outputs.dir(javadocsDir) + doFirst { + delete(javadocsDir) + } + doLast { + javadocs.resolvedConfiguration.resolvedArtifacts.forEach { artifact -> + copy { + from(zipTree(artifact.file)) + into(javadocsDir.map { root -> root.dir(artifact.moduleVersion.id.name) }) + } + } + } + } + assembleFrontend { - inputs.dir("src") + dependsOn(extractJavadocs) + inputs.dir(srcDir) + inputs.dir("static") + inputs.dir(javadocsDir) inputs.files(configFiles) outputs.dir(docusaurusOutputDir) } diff --git a/subprojects/docs/docusaurus.config.ts b/subprojects/docs/docusaurus.config.ts index 663c4876..47bf605e 100644 --- a/subprojects/docs/docusaurus.config.ts +++ b/subprojects/docs/docusaurus.config.ts @@ -26,7 +26,7 @@ export default { baseUrl: '/', baseUrlIssueBanner: false, trailingSlash: true, - staticDirectories: ['static'], + staticDirectories: ['static', 'build/javadocs'], plugins: [ [ '@docusaurus/plugin-content-docs', diff --git a/subprojects/docs/src/docs-api/javadoc.md b/subprojects/docs/src/docs-api/javadoc.md index 09b3e4f7..7e39b9b9 100644 --- a/subprojects/docs/src/docs-api/javadoc.md +++ b/subprojects/docs/src/docs-api/javadoc.md @@ -1,7 +1,42 @@ --- SPDX-FileCopyrightText: 2024 The Refinery Authors SPDX-License-Identifier: EPL-2.0 +description: API documentation for Refinery components automatically generated by Javadoc sidebar_position: 999 --- # Javadoc + +Here you can find API documentation for Refinery components automatically generated by Javadoc. We recommend reading the [Programming guide](/api) first to understand how to use these components. + +# Refinery + +* [`tools.refinery:refinery-generator`](pathname://refinery-generator) +* [`tools.refinery:refinery-generator-cli`](pathname://refinery-generator-cli) +* [`tools.refinery:refinery-language`](pathname://refinery-language) +* [`tools.refinery:refinery-language-ide`](pathname://refinery-language-ide) +* [`tools.refinery:refinery-language-model`](pathname://refinery-language-model) +* [`tools.refinery:refinery-language-semantics`](pathname://refinery-language-semantics) +* [`tools.refinery:refinery-language-web`](pathname://refinery-language-web) +* [`tools.refinery:refinery-logic`](pathname://refinery-logic) +* [`tools.refinery:refinery-store`](pathname://refinery-store) +* [`tools.refinery:refinery-store-dse`](pathname://refinery-store-dse) +* [`tools.refinery:refinery-store-dse-visualization`](pathname://refinery-store-dse-visualization) +* [`tools.refinery:refinery-store-query`](pathname://refinery-store-query) +* [`tools.refinery:refinery-store-query-interpreter`](pathname://refinery-store-query-interpreter) +* [`tools.refinery:refinery-store-reasoning`](pathname://refinery-store-reasoning) +* [`tools.refinery:refinery-store-reasoning-scope`](pathname://refinery-store-reasoning-scope) +* [`tools.refinery:refinery-store-reasoning-smt`](pathname://refinery-store-reasoning-smt) + +# Interpreter + +:::note + +The _Refinery Interpreter_ is modified version of [VIATRA™](https://eclipse.dev/viatra/) specifically for use in Refinery. If you're interested in learning about [VIATRA™](https://eclipse.dev/viatra/), we recommend the [VIATRA™ documentation](https://eclipse.dev/viatra/documentation/index.html) and [source code](https://github.com/eclipse-viatra/org.eclipse.viatra) instead. Eclipse®, VIATRA™ and ‘Eclipse VIATRA™’ are trademarks of Eclipse Foundation, Inc. + +::: + +* [`tools.refinery.interpreter:refinery-interpreter`](pathname://refinery-interpreter) +* [`tools.refinery.interpreter:refinery-interpreter-localsearch`](pathname://refinery-interpreter-localsearch) +* [`tools.refinery.interpreter:refinery-interpreter-rete`](pathname://refinery-interpreter-rete) +* [`tools.refinery.interpreter:refinery-interpreter-rete-recipes`](pathname://refinery-interpreter-rete-recipes) -- cgit v1.2.3-54-g00ecf