@@ -113,7 +113,7 @@ public JavaModuleDependenciesExtension(VersionCatalogsExtension versionCatalogs)
113113 * @return Dependency notation
114114 */
115115 public Provider <String > ga (String moduleName ) {
116- return getModuleNameToGA ().getting (moduleName ).orElse (mapByPrefix (getProviders ().provider (() -> moduleName )));
116+ return getModuleNameToGA ().getting (moduleName ).orElse (mapByPrefix (getProviders ().provider (() -> moduleName ))). orElse ( errorIfNotFound ( moduleName )) ;
117117 }
118118
119119 /**
@@ -124,7 +124,7 @@ public Provider<String> ga(String moduleName) {
124124 * @return Dependency notation
125125 */
126126 public Provider <String > ga (Provider <String > moduleName ) {
127- return moduleName .flatMap (n -> getModuleNameToGA ().getting (n )).orElse (mapByPrefix (moduleName ));
127+ return moduleName .flatMap (n -> getModuleNameToGA ().getting (n )).orElse (mapByPrefix (moduleName )). orElse ( errorIfNotFound ( moduleName )) ;
128128 }
129129
130130 private Provider <String > mapByPrefix (Provider <String > moduleName ) {
@@ -179,6 +179,10 @@ public Provider<Map<String, Object>> gav(String moduleName) {
179179 return ga (moduleName ).map (ga -> findGav (ga , moduleName ));
180180 }
181181
182+ Provider <Map <String , Object >> gavNoError (String moduleName ) {
183+ return getModuleNameToGA ().getting (moduleName ).orElse (mapByPrefix (getProviders ().provider (() -> moduleName ))).map (ga -> findGav (ga , moduleName ));
184+ }
185+
182186 /**
183187 * If a Version Catalog is used:
184188 * Converts 'Module Name' and the matching 'Version' from the Version Catalog to
@@ -292,6 +296,18 @@ FileCollection doAddRequiresRuntimeSupport(Task task, SourceSet sourceSet) {
292296 return syntheticModuleInfoFolders ;
293297 }
294298
299+ private <T > Provider <T > errorIfNotFound (String moduleName ) {
300+ return getProviders ().provider (() -> {
301+ throw new RuntimeException ("Unknown Module: " + moduleName );
302+ });
303+ }
304+
305+ private <T > Provider <T > errorIfNotFound (Provider <String > moduleName ) {
306+ return getProviders ().provider (() -> {
307+ throw new RuntimeException ("Unknown Module: " + moduleName .get ());
308+ });
309+ }
310+
295311 @ Inject
296312 protected abstract ObjectFactory getObjects ();
297313
0 commit comments