@@ -64,6 +64,10 @@ public class ResolverConfiguration implements Serializable, IProjectConfiguratio
6464
6565 private List <String > userInactiveProfiles ;
6666
67+ private String globalSettingsFile ;
68+
69+ private String userSettingsFile ;
70+
6771 public ResolverConfiguration () {
6872 }
6973
@@ -77,9 +81,9 @@ public ResolverConfiguration(IProject project) {
7781 public ResolverConfiguration (IProjectConfiguration resolverConfiguration ) {
7882 setLifecycleMappingId (resolverConfiguration .getLifecycleMappingId ());
7983 setMultiModuleProjectDirectory (resolverConfiguration .getMultiModuleProjectDirectory ());
80- Properties properties2 = new Properties ();
81- properties2 .putAll (resolverConfiguration .getConfigurationProperties ());
82- setProperties (properties2 );
84+ Properties properties = new Properties ();
85+ properties .putAll (resolverConfiguration .getConfigurationProperties ());
86+ setProperties (properties );
8387 setResolveWorkspaceProjects (resolverConfiguration .isResolveWorkspaceProjects ());
8488 setSelectedProfiles (resolverConfiguration .getSelectedProfiles ());
8589 }
@@ -193,22 +197,32 @@ public File getMultiModuleProjectDirectory() {
193197 return multiModuleProjectDirectory ;
194198 }
195199
200+ @ Override
201+ public String getGlobalSettingsFile () {
202+ return globalSettingsFile ;
203+ }
204+
205+ @ Override
206+ public String getUserSettingsFile () {
207+ return userSettingsFile ;
208+ }
209+
196210 /**
197211 * @param multiModuleProjectDirectory The multiModuleProjectDirectory to set.
198212 */
199213 public void setMultiModuleProjectDirectory (File multiModuleProjectDirectory ) {
200214 if (!Objects .equals (this .multiModuleProjectDirectory , multiModuleProjectDirectory )) {
201215 this .multiModuleProjectDirectory = multiModuleProjectDirectory ;
202216 try {
203- Optional <MavenProperties > mavenProps = MavenProperties .getMavenArgs (multiModuleProjectDirectory );
217+ Optional <MavenProperties > commandLine = MavenProperties .getMavenArgs (multiModuleProjectDirectory );
204218 Map <String , String > props = new LinkedHashMap <>();
219+ commandLine .ifPresent (p -> p .getCliProperties (props ::put ));
220+ userProperties = Collections .unmodifiableMap (props );
205221 userActiveProfiles = new ArrayList <>();
206222 userInactiveProfiles = new ArrayList <>();
207- mavenProps .ifPresent (args -> {
208- args .getCliProperties (props ::put );
209- args .getProfiles (userActiveProfiles ::add , userInactiveProfiles ::add );
210- });
211- userProperties = Collections .unmodifiableMap (props );
223+ commandLine .ifPresent (p -> p .getProfiles (userActiveProfiles ::add , userInactiveProfiles ::add ));
224+ globalSettingsFile = commandLine .map (p -> p .getAlternateGlobalToolchainsFile ()).orElse (null );
225+ userSettingsFile = commandLine .map (p -> p .getAlternateUserToolchainsFile ()).orElse (null );
212226 } catch (IOException ex ) {
213227 //can't use it then... :-(
214228 MavenPluginActivator .getDefault ().getLog ().error ("can't read maven args from " + multiModuleProjectDirectory ,
@@ -262,4 +276,4 @@ private static List<String> parseProfiles(String profilesAsText, boolean status)
262276 }
263277 return profiles ;
264278 }
265- }
279+ }
0 commit comments