hu.blackbelt.flutter.maven.plugin.api.MojoUtils Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of flutter-maven-plugin
Show all versions of flutter-maven-plugin
Flutter Maven plugin. It can run to flutter tasks
The newest version!
package hu.blackbelt.flutter.maven.plugin.api;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.settings.Proxy;
import org.apache.maven.settings.Server;
import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
import org.apache.maven.settings.crypto.SettingsDecrypter;
import org.apache.maven.settings.crypto.SettingsDecryptionResult;
import org.codehaus.plexus.util.Scanner;
import org.codehaus.plexus.util.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.sonatype.plexus.build.incremental.BuildContext;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class MojoUtils {
private static final Logger LOGGER = LoggerFactory.getLogger(MojoUtils.class);
public static MojoFailureException toMojoFailureException(E e) {
String causeMessage = e.getCause() != null ? ": " + e.getCause().getMessage() : "";
return new MojoFailureException(e.getMessage() + causeMessage, e);
}
public static ProxyConfig getProxyConfig(MavenSession mavenSession, SettingsDecrypter decrypter) {
if (mavenSession == null ||
mavenSession.getSettings() == null ||
mavenSession.getSettings().getProxies() == null ||
mavenSession.getSettings().getProxies().isEmpty()) {
return new ProxyConfig(Collections.emptyList());
} else {
final List mavenProxies = mavenSession.getSettings().getProxies();
final List proxies = new ArrayList(mavenProxies.size());
for (Proxy mavenProxy : mavenProxies) {
if (mavenProxy.isActive()) {
mavenProxy = decryptProxy(mavenProxy, decrypter);
proxies.add(new ProxyConfig.Proxy(mavenProxy.getId(), mavenProxy.getProtocol(), mavenProxy.getHost(),
mavenProxy.getPort(), mavenProxy.getUsername(), mavenProxy.getPassword(), mavenProxy.getNonProxyHosts()));
}
}
LOGGER.info("Found proxies: {}", proxies);
return new ProxyConfig(proxies);
}
}
private static Proxy decryptProxy(Proxy proxy, SettingsDecrypter decrypter) {
final DefaultSettingsDecryptionRequest decryptionRequest = new DefaultSettingsDecryptionRequest(proxy);
SettingsDecryptionResult decryptedResult = decrypter.decrypt(decryptionRequest);
return decryptedResult.getProxy();
}
public static Server decryptServer(String serverId, MavenSession mavenSession, SettingsDecrypter decrypter) {
if (StringUtils.isEmpty(serverId)) {
return null;
}
Server server = mavenSession.getSettings().getServer(serverId);
if (server != null) {
final DefaultSettingsDecryptionRequest decryptionRequest = new DefaultSettingsDecryptionRequest(server);
SettingsDecryptionResult decryptedResult = decrypter.decrypt(decryptionRequest);
return decryptedResult.getServer();
} else {
LOGGER.warn("Could not find server '" + serverId + "' in settings.xml");
return null;
}
}
static boolean shouldExecute(BuildContext buildContext, List triggerfiles, File srcdir) {
// If there is no buildContext, or this is not an incremental build, always execute.
if (buildContext == null || !buildContext.isIncremental()) {
return true;
}
if (triggerfiles != null) {
for (File triggerfile : triggerfiles) {
if (buildContext.hasDelta(triggerfile)) {
return true;
}
}
}
if (srcdir == null) {
return true;
}
// Check for changes in the srcdir
Scanner scanner = buildContext.newScanner(srcdir);
scanner.scan();
String[] includedFiles = scanner.getIncludedFiles();
return (includedFiles != null && includedFiles.length > 0);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy