io.sealights.agents.plugin.SealightsTask Maven / Gradle / Ivy
package io.sealights.agents.plugin;
import io.sealights.onpremise.agents.java.agent.infra.logging.ConsoleLogger;
import io.sealights.onpremise.agents.java.agent.infra.logging.ILogger;
import io.sealights.onpremise.agents.java.agent.infra.utils.StringUtils;
import io.sealights.onpremise.agents.java.agent.plugins.engine.api.ExecutionStage;
import io.sealights.onpremise.agents.java.agent.plugins.engine.api.PluginEngine;
import io.sealights.onpremise.agents.java.agent.plugins.engine.api.PluginExecData;
import io.sealights.onpremise.agents.java.agent.plugins.engine.api.PluginGoal;
import io.sealights.onpremise.agents.java.agent.plugins.engine.api.PluginParameters;
import io.sealights.onpremise.agents.java.agent.plugins.engine.api.PluginType;
import io.sealights.onpremise.agents.java.agent.plugins.engine.api.ProjectDescriptor;
import io.sealights.onpremise.agents.java.agent.plugins.engine.procsexecutor.PluginEngineHandler;
import lombok.Data;
@Data
public abstract class SealightsTask implements PluginGoal {
private SealightsPluginExtention extention;
private PluginEngine pluginEngine = new PluginEngineHandler();
private ConsoleLogger consoleLog = new ConsoleLogger(ConsoleLogger.formattedPrefix(EnhancedLogger.PLUGIN_TAG));
public boolean execute() {
try {
if (getExecData().getExecStage() != ExecutionStage.initFailed) {
return executePluginGoal();
}
else {
getLogger().info(PluginExecData.SKIP_SEALIGHTS_MSG + ": failed to initialize");
return true;
}
}
catch(Exception e) {
getLogger().info("Failed to execute goal '{}'; proceed build", getName());
return false;
}
}
public SealightsTask(SealightsPluginExtention extension) {
this.extention = extension;
}
@Override
public PluginType getPluginType() {
return PluginType.gradle;
}
@Override
public PluginParameters getParams() {
PluginParameters params = new PluginParameters();
params.getGeneralParams().setToken(extention.getToken());
params.getGeneralParams().setTokenFile(extention.getTokenFile());
params.getGeneralParams().setCustomerid(extention.getCustomerid());
params.getGeneralParams().setServer(extention.getServer());
params.getGeneralParams().setProxy(extention.getProxy());
params.getGeneralParams().setWorkspacepath(extention.getWorkspacepath());
params.getGeneralParams().setCreateBuildSessionId(extention.isCreateBuildSessionId());
params.getGeneralParams().setBuildSessionId(extention.getBuildSessionId());
params.getGeneralParams().setBuildSessionIdFile(extention.getBuildSessionIdFile());
params.getGeneralParams().setAppName(extention.getAppName());
if (StringUtils.isNotEmpty(extention.getModuleName())) {
params.getGeneralParams().setModuleName(extention.getModuleName());
}
else {
params.getGeneralParams().setModuleName(extention.getProject().getName());
}
params.getGeneralParams().setEnvironment(extention.getEnvironment());
params.getGeneralParams().setBranch(extention.getBranch());
params.getGeneralParams().setBuild(extention.getBuild());
params.getGeneralParams().setPackagesincluded(extention.getPackagesIncluded());
params.getGeneralParams().setPackagesexcluded(extention.getPackagesExcluded());
params.getGeneralParams().setFilesincluded(extention.getFilesIncluded());
params.getGeneralParams().setFilesexcluded(extention.getFilesExcluded());
params.getGeneralParams().setRecursive(extention.isRecursive());
params.getGeneralParams().setLogEnabled(extention.isLogEnabled());
params.getGeneralParams().setLogLevel(extention.getLogLevel());
params.getGeneralParams().setLogToFile(extention.isLogToFile());
params.getGeneralParams().setLogFolder(extention.getLogFolder());
params.getGeneralParams().setLogToConsole(extention.isLogToConsole());
params.getGeneralParams().setJavaPath(extention.getJavaPath());
params.getGeneralParams().setFilesStorage(extention.getFilesStorage());
params.getGeneralParams().setSealightsJvmParams(extention.getSealightsJvmParams());
params.getGeneralParams().setOverrideMetaJsonPath(extention.getOverrideMetaJsonPath());
params.getGeneralParams().setIncludeResources(extention.isIncludeResources());
params.getGeneralParams().setBuildScannerJar(extention.getBuildScannerJar());
params.getGeneralParams().setTestListenerJar(extention.getTestListenerJar());
params.getBldScanrParams().setEnableNoneZeroErrorCode(extention.isEnableNoneZeroErrorCode());
params.getBldScanrParams().setBuildScannerPackagesincluded(extention.getBuildScannerPackagesincluded());
params.getBldScanrParams().setBuildScannerPackagesexcluded(extention.getBuildScannerPackagesexcluded());
params.getBldScanrParams().setBuildScannerParams(extention.getBuildScannerParams());
params.getBldScanrParams().setSendContributors(extention.getSendContributors());
params.getBldScanrParams().setBuildScannerIgnoreLogEnabled(extention.isBuildScannerIgnoreLogEnabled());
params.getTstListnrParams().setTestListenerEnabled(extention.isTestListenerEnabled());
params.getTstListnrParams().setTestListenerConfigFile(extention.getTestListenerConfigFile());
params.getTstListnrParams().setTestListenerJvmParams(extention.getTestListenerJvmParams());
params.getTstListnrParams().setTestListenerPackagesincluded(extention.getTestListenerPackagesincluded());
params.getTstListnrParams().setTestListenerPackagesexcluded(extention.getTestListenerPackagesexcluded());
params.getTstListnrParams().setInitialColor(extention.getInitialColor());
params.getTstListnrParams().setClassLoadersExcluded(extention.getClassLoadersExcluded());
params.getTstListnrParams().setTestStage(extention.getTestStage());
params.getTstListnrParams().setLabId(extention.getLabId());
params.getTstListnrParams().setOverrideTestListenerPath(extention.getOverrideTestListenerPath());
params.getTstListnrParams().setTestListenerIgnoreLogEnabled(extention.isTestListenerIgnoreLogEnabled());
return params;
}
@Override
public PluginExecData getExecData() {
return extention.getExecData();
}
@Override
public ProjectDescriptor getProjectDecriptor() {
return ProjectDataCollector.execute(extention.getProject().getRootProject());
}
@Override
public boolean initGoalInternals() {
return true;
}
@Override
public void onSuccess(PluginExecData pluginExecData) {
extention.setExecData(pluginExecData);
}
@Override
public void onFailure() {
}
@Override
public ILogger getLogger() {
return extention.getLogger();
}
abstract protected boolean executePluginGoal();
}