All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.sealights.agents.plugin.SealightsPluginExtention Maven / Gradle / Ivy

package io.sealights.agents.plugin;

import java.util.Date;
import java.util.Map;

import org.gradle.api.Project;
import org.gradle.api.logging.Logging;

import io.sealights.onpremise.agents.java.agent.plugins.engine.api.ExecutionStage;
import io.sealights.onpremise.agents.java.agent.plugins.engine.api.PluginExecData;
import lombok.Data;

@Data
public class SealightsPluginExtention {

    private PluginExecDataHolder execDataHolder = PluginExecDataHolder.INSTANCE;

    private EnhancedLogger logger = new EnhancedLogger(Logging.getLogger(this.getClass()));

    private Project project;

    private boolean runTestOnly;

    private String token;
    private String tokenFile;
    private String customerid;
    private String server;
    private String proxy;
    /**
     * default-value="${basedir}/target/classes" ??
     */
    private String workspacepath;
    /**
     * default-value="false" ??
     */
    private boolean createBuildSessionId = false;
    private String buildSessionId;
    private String buildSessionIdFile;
    private String appName;
    private String moduleName;
    
    private String environment;
    
    @Deprecated
    private String branchName;
    private String branch;

    @Deprecated
    private String buildName;
    private String build = String.valueOf(new Date().getTime());
    
    @Deprecated
    private String includes;
    private String packagesIncluded;
    
    @Deprecated
    private String excludes;
    private String packagesExcluded;
    
    private String filesIncluded;
    
    private String filesExcluded;
    
    private boolean recursive = true;

    private boolean logEnabled = false;
    private String logLevel = "info";
    private boolean logToFile = false;
    private String logFolder = "logs";	
	private boolean logToConsole;

    private String javaPath = "java";
    
    @Deprecated
    private String fileStorage;
    private String filesStorage;
    
    @Deprecated
    private Map slJvmParams;
    private Map sealightsJvmParams;
    
    @Deprecated
    private String pathToMetaJson;
    private String overrideMetaJsonPath;
    
    private boolean includeResources = false;

    // Build scanner params
    private String buildScannerJar;
    private boolean enableNoneZeroErrorCode;
    private String buildScannerPackagesincluded;
    private String buildScannerPackagesexcluded;
    
    @Deprecated
    private Map slBsParams;
    private Map buildScannerParams;

    private Boolean sendContributors;
    private boolean buildScannerIgnoreLogEnabled;

    // Test listener params
    private boolean testListenerEnabled = true;
    private String testListenerJar;
    private String testListenerConfigFile;
    
    @Deprecated
    private Map slTlParams;
    private Map testListenerJvmParams;
    
    private String testListenerPackagesincluded;
    private String testListenerPackagesexcluded;
    private String initialColor;
    private String classLoadersExcluded;
    private String testStage;
    private String labId;
    private String overrideTestListenerPath;
    private boolean testListenerIgnoreLogEnabled;

	// Not in use
	@Deprecated
	private boolean appendToSystemClassLoader;

	@Deprecated
	private String baseSourceFolder;
	
	@Deprecated
	private boolean createPropertiesFile;
	
	@Deprecated
    private String enableResolvingWithoutHash;
	
	@Deprecated
	private String uniqueModuleId;	

    public SealightsPluginExtention(Project project) {
        this.project = project;
        execDataHolder.getExecData().setExecStage(ExecutionStage.init);
        execDataHolder.getExecData().setNullModuleDone(false);
    }

    public PluginExecData getExecData() {
    	return execDataHolder.getExecData();
    }
    
    public void setExecData(PluginExecData pluginExecData) {
        execDataHolder.setExecData(pluginExecData);
    }
    
    //==========================================
    //==========================================
    //==========================================
    // Mapping of deprecated fields
    //==========================================
    
    //==========================================
    // Renamed properties
    //==========================================
    
    public void setBranchName(String branchName) {    	
    	setBranch(branchName);
    	warnUsingDeprecatedField("branchName", "branch");
    }    
    
    public void setBuildName(String buildName) {    	
    	setBuild(buildName);
    	warnUsingDeprecatedField("buildName", "build");
    }
    
    public void setIncludes(String includes) {
    	setPackagesIncluded(includes);
    	warnUsingDeprecatedField("includes", "packagesIncluded");
    }
    
    public void setExcludes(String excludes) {
    	setPackagesExcluded(excludes);
    	warnUsingDeprecatedField("excludes", "packagesExcluded");
    }
    
    public void setPathToMetaJson(String pathToMetaJson) {
    	setOverrideMetaJsonPath(pathToMetaJson);
    	warnUsingDeprecatedField("pathToMetaJson", "overrideMetaJsonPath");
    }
    
    public void setFileStorage(String fileStorage) {    	
    	setFilesStorage(fileStorage);
    	warnUsingDeprecatedField("fileStorage", "filesStorage");
    }
    
    public void setSlJvmParams(Map slJvmParams) {
    	setSealightsJvmParams(slJvmParams);
    	warnUsingDeprecatedField("slJvmParams", "sealightsJvmParams");
    }
    
    public void setSlTlParams(Map slTlParams) {
    	setTestListenerJvmParams(slTlParams);
    	warnUsingDeprecatedField("slTlParams", "testListenerJvmParams");
    }
    
    public void setSlBsParams(Map slBsParams) {
    	setBuildScannerParams(slBsParams);
    	warnUsingDeprecatedField("slBsParams", "buildScannerParams");
    }
    
    //==========================================
    // Removed properties    
    //==========================================
    
    public void setAppendToSystemClassLoader(boolean appendToSystemClassLoader) {
    	warnUsingDeprecatedField("appendToSystemClassLoader");
    }
    
    public void setBaseSourceFolder(String baseSourceFolder) {
    	warnUsingDeprecatedField("baseSourceFolder");
    }
    
    public void setCreatePropertiesFilee(boolean createPropertiesFile) {
    	warnUsingDeprecatedField("createPropertiesFile");
    }
    
    public void setEnableResolvingWithoutHash(String enableResolvingWithoutHash) {
    	warnUsingDeprecatedField("enableResolvingWithoutHash");
    }
    
    public void setUniqueModuleId(String uniqueModuleId) {
    	warnUsingDeprecatedField("uniqueModuleId");
    }
    
    //==========================================
    //==========================================
    
    private void warnUsingDeprecatedField(String deprecated) {
    	logger.warn("Parameter '{}' is deprecated and is not used by plugin anymore", deprecated);
    }
    
    private void warnUsingDeprecatedField(String deprecated, String current) {
    	logger.warn("Parameter '{}' is deprecated, please use '{}' instead", deprecated, current);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy