You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
s"${Keys.modules}.$key.${Keys.dependsOn} must be a list of strings"
72
+
)
73
+
)
74
+
75
+
for {
76
+
roots <- maybeRoots
77
+
dependsOn <- maybeDependsOn
78
+
} yieldModuleDefinition(key, roots, dependsOn)
79
+
80
+
case _ =>Left(ModuleConfigurationError(s"${Keys.modules}.$key must be a table"))
81
+
}
27
82
}
28
83
84
+
/** Creates [[ModuleInputs]] given the initial arguments passed to the command,
85
+
* Looks for module config .toml file and if found composes module inputs according to the defined config,
86
+
* otherwise if module config is not found or if [[allowForbiddenFeatures]] is not set, returns only one basic module created from initial args (see [[basicInputs]])
87
+
*
88
+
* @paramargs - initial args passed to command
89
+
* @paramcwd - working directory
90
+
* @paraminputsFromArgs - function that proceeds with the whole [[ModuleInputs]] creation flow (validating elements, etc.) this takes into account options passed from CLI
91
+
* like in SharedOptions
92
+
* @paramallowForbiddenFeatures
93
+
*/
29
94
finalcaseclassInputsComposer(
30
95
args: Seq[String],
31
96
cwd: os.Path,
@@ -88,60 +153,6 @@ final case class InputsComposer(
88
153
} yield fromArgs.orElse(fromCwd)
89
154
}
90
155
91
-
// TODO Check for module dependencies that do not exist
92
-
privatedefreadAllModules(modules: Option[Value])
93
-
:Either[BuildException, Seq[ModuleDefinition]] = modules match {
94
-
caseSome(Tbl(values)) =>EitherSequence.sequence {
95
-
values.toSeq.map(readModule)
96
-
}.left.map(CompositeBuildException.apply)
97
-
case _ =>Left(ModuleConfigurationError(s"$modules must exist and must be a table"))
0 commit comments