![JAR search and dependency download from the Maven repository](/logo.png)
shiver.me.timbers.plugins.invoker.multi.DefaultInvocationRequestsFactory Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of multi-invoker-maven-plugin Show documentation
Show all versions of multi-invoker-maven-plugin Show documentation
This plugin can be used to invoke the current maven project multiple times with different profiles or
properties.
The newest version!
package shiver.me.timbers.plugins.invoker.multi;
import org.apache.maven.model.Profile;
import org.apache.maven.shared.invoker.InvocationRequest;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import java.util.ArrayList;
import java.util.List;
/**
* @author Karl Bennett
*/
@Component(role = InvocationRequestsFactory.class, hint = "default")
class DefaultInvocationRequestsFactory implements InvocationRequestsFactory {
@Requirement
private MultiInvokerConfigurationFactory configurationFactory;
@Requirement
private InvocationRequestFactory requestFactory;
DefaultInvocationRequestsFactory() {
}
DefaultInvocationRequestsFactory(
MultiInvokerConfigurationFactory configurationFactory,
InvocationRequestFactory requestFactory
) {
this.configurationFactory = configurationFactory;
this.requestFactory = requestFactory;
}
@Override
public List create(
MultiInvokerConfiguration configuration
) {
if (configuration.isForEachProfile()) {
return createRequestsForProfiles(configuration);
}
return createRequestsForItems(configuration);
}
private List createRequestsForProfiles(MultiInvokerConfiguration configuration) {
final List requests = new ArrayList<>();
for (Profile profile : configuration.getProject().getModel().getProfiles()) {
requests.add(
requestFactory.create(
configurationFactory.forProfile(configuration, profile)
)
);
}
return requests;
}
private List createRequestsForItems(
MultiInvokerConfiguration configuration
) {
final List requests = new ArrayList<>();
for (String item : configuration.getInvocations()) {
requests.add(
requestFactory.create(
configurationFactory.forInvocation(configuration, item)
)
);
}
return requests;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy