@@ -338,7 +338,8 @@ private Project createJbangProject(ResourceRef resourceRef) {
338338
339339 SourceSet ss = prj .getMainSourceSet ();
340340 ss .addResources (allToFileRef (directives .files (), resourceRef , sibRes1 ));
341- ss .addDependencies (directives .binaryDependencies ());
341+ ss .addDependencies (DependencyUtil .filterGavDeps (directives .dependencies ()));
342+ ss .addClassPaths (DependencyUtil .filterJarDeps (directives .dependencies ()));
342343 ss .addCompileOptions (directives .compileOptions ());
343344 ss .addNativeOptions (directives .nativeOptions ());
344345 prj .addRepositories (directives .repositories ());
@@ -362,10 +363,7 @@ private Project createJbangProject(ResourceRef resourceRef) {
362363
363364 ResourceResolver resolver = getAliasResourceResolver (null );
364365 ResourceResolver sibRes2 = getSiblingResolver (resourceRef , resolver );
365- for (String srcDep : directives .sourceDependencies ()) {
366- ResourceRef subRef = resolver .resolve (srcDep , true );
367- prj .addSubProject (new ProjectBuilder (buildRefs ).build (subRef ));
368- }
366+ handleSourceDeps (DependencyUtil .filterSourceDeps (directives .dependencies ()), resolver , prj );
369367
370368 boolean first = true ;
371369 List <String > sources = directives .sources ();
@@ -397,6 +395,20 @@ private Project createJbangProject(ResourceRef resourceRef) {
397395 return updateProject (prj );
398396 }
399397
398+ private void handleSourceDeps (List <String > srcDeps , ResourceResolver resolver , Project prj ) {
399+ for (String srcDep : srcDeps ) {
400+ ResourceRef subRef = resolver .resolve (srcDep , true );
401+ Project subPrj ;
402+ if (subRef != null ) {
403+ subPrj = new ProjectBuilder (buildRefs ).build (subRef );
404+ } else {
405+ subPrj = new Project (ResourceRef .forUnresolvable (srcDep ,
406+ "Could not be resolved from " + resolver .description ()));
407+ }
408+ prj .addSubProject (subPrj );
409+ }
410+ }
411+
400412 private Project createSourceProject (ResourceRef resourceRef ) {
401413 Source src = createSource (resourceRef );
402414 Project prj = new Project (src );
@@ -657,7 +669,8 @@ private Project updateProject(Source src, Project prj, ResourceResolver resolver
657669 }
658670 ResourceResolver sibRes1 = getSiblingResolver (srcRef );
659671 ss .addResources (allToFileRef (src .getDirectives ().files (), srcRef , sibRes1 ));
660- ss .addDependencies (src .collectBinaryDependencies ());
672+ ss .addDependencies (DependencyUtil .filterGavDeps (src .collectDependencies ()));
673+ ss .addClassPaths (DependencyUtil .filterJarDeps (src .collectDependencies ()));
661674 ss .addCompileOptions (src .getCompileOptions ());
662675 ss .addNativeOptions (src .getNativeOptions ());
663676 prj .addRepositories (src .getDirectives ().repositories ());
@@ -680,10 +693,7 @@ private Project updateProject(Source src, Project prj, ResourceResolver resolver
680693 prj .setJavaVersion (version );
681694 }
682695 }
683- for (String srcDep : src .collectSourceDependencies ()) {
684- ResourceRef subRef = sibRes1 .resolve (srcDep , true );
685- prj .addSubProject (new ProjectBuilder (buildRefs ).build (subRef ));
686- }
696+ handleSourceDeps (DependencyUtil .filterSourceDeps (src .collectDependencies ()), sibRes1 , prj );
687697 ResourceResolver sibRes2 = getSiblingResolver (srcRef , resolver );
688698 List <Source > includedSources = allToSource (src .getDirectives ().sources (), srcRef , sibRes2 );
689699 for (Source includedSource : includedSources ) {
0 commit comments