@@ -80,8 +80,18 @@ public Arguments toArguments(Log log, List<Path> lst, Path inProvisioning, Strin
8080 }
8181 URL [] urls = new URL [artifacts .size ()];
8282 artifacts .toArray (urls );
83+ // lookup for a possible variant
8384 try (URLClassLoader loader = new URLClassLoader (urls , MetadataProvider .class .getClassLoader ())) {
85+ String variant = null ;
86+ List <MetadataProvider > allProviders = new ArrayList <>();
8487 for (MetadataProvider provider : ServiceLoader .load (MetadataProvider .class , loader )) {
88+ if (provider .getVariant () != null ) {
89+ variant = provider .getVariant ();
90+ }
91+ allProviders .add (provider );
92+ }
93+
94+ for (MetadataProvider provider : allProviders ) {
8595 providers .put (provider .getVersion (), provider );
8696 if (version == null ) {
8797 version = provider .getVersion ();
@@ -94,19 +104,20 @@ public Arguments toArguments(Log log, List<Path> lst, Path inProvisioning, Strin
94104 MetadataProvider provider = providers .get (version );
95105 Path provisioningXML = Files .createTempFile ("eap-maven-plugin-glow" , "-provisioning.xml" );
96106 provisioningXML .toFile ().deleteOnExit ();
97- try (InputStream stream = provider .getProvisioningFile (null , context , loader )) {
107+ try (InputStream stream = provider .getProvisioningFile (null , context , loader , variant )) {
98108 if (stream == null ) {
99109 throw new MojoExecutionException ("Didn't find provisioning discovery metadata in " + artifacts );
100110 }
101111 Files .write (provisioningXML , stream .readAllBytes ());
102112 }
103113 inProvisioning = provisioningXML ;
114+ String finalVariant = variant ;
104115 layerConfigurationProvider = new LayerConfigurationProvider () {
105116 @ Override
106117 public URI getConfigurationURI (String layerName , String version , Set <String > spaces , String context ,
107118 String variant , URI uri ) {
108119 for (String space : spaces ) {
109- URI ret = provider .getLayerConfiguration (uri , layerName , space , context , loader );
120+ URI ret = provider .getLayerConfiguration (uri , layerName , space , context , loader , finalVariant );
110121 if (ret != null ) {
111122 return ret ;
112123 }
0 commit comments