diff --git a/clusterless-main/build.gradle.kts b/clusterless-main/build.gradle.kts index 342d5b88..2602d10c 100644 --- a/clusterless-main/build.gradle.kts +++ b/clusterless-main/build.gradle.kts @@ -250,6 +250,22 @@ tasks.register("generateBoundariesIndex") { mustRunAfter("generateResourceIndex") } +tasks.register("generateActivitiesIndex") { + dependsOn("installDist") + + workingDir = file("build/install/clusterless/bin") + commandLine = listOf( + "./cls", + "show", + "activity", + "--list", + "--output-path", + "${buildDir}/generated-docs/modules/components/", + "--append=true" + ) + mustRunAfter("generateBoundariesIndex") +} + tasks.register("generateComponentPartial") { dependsOn("installDist") @@ -322,6 +338,7 @@ tasks.register("generateDocs") { dependsOn("generateArcIndex") dependsOn("generateBarriersIndex") dependsOn("generateBoundariesIndex") + dependsOn("generateActivitiesIndex") dependsOn("generateComponentPartial") dependsOn("generateModelModels") dependsOn("generateModelModelsRequired") diff --git a/clusterless-main/src/main/java/clusterless/cls/command/show/ShowActivities.java b/clusterless-main/src/main/java/clusterless/cls/command/show/ShowActivities.java new file mode 100644 index 00000000..36201285 --- /dev/null +++ b/clusterless-main/src/main/java/clusterless/cls/command/show/ShowActivities.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2023 Chris K Wensel . All Rights Reserved. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +package clusterless.cls.command.show; + +import clusterless.cls.model.deploy.Activity; +import org.jetbrains.annotations.NotNull; +import picocli.CommandLine; + +import java.util.Collection; + +@CommandLine.Command( + name = "activity", + description = "Show available provider activities." +) +public class ShowActivities extends ShowComponents { + @Override + protected @NotNull String elementSubType() { + return "Activities"; + } + + @Override + protected Collection getNames() { + return super.getNamesHaving(e -> Activity.class.isAssignableFrom(e.getValue())); + } +} diff --git a/clusterless-main/src/main/java/clusterless/cls/command/show/ShowCommand.java b/clusterless-main/src/main/java/clusterless/cls/command/show/ShowCommand.java index 5dd27893..fd93cfb8 100644 --- a/clusterless-main/src/main/java/clusterless/cls/command/show/ShowCommand.java +++ b/clusterless-main/src/main/java/clusterless/cls/command/show/ShowCommand.java @@ -27,6 +27,7 @@ ShowBoundaries.class, ShowBarriers.class, ShowArcs.class, + ShowActivities.class, ShowModels.class, CommandLine.HelpCommand.class }