blob: af2234878a8a523e3b3f15968d39a9ad3d8d0be2 [file] [log] [blame]
/**
********************************************************************************
* Copyright (c) 2017-2020 Robert Bosch GmbH and others.
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Robert Bosch GmbH - initial API and implementation
********************************************************************************
*/
package org.eclipse.app4mc.sca2amalthea.llvm.headless;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.app4mc.sca2amalthea.llvm.starter.LLVMStarterProperties;
/**
* These class contains only the data of all aoptions needed for running the SCA2AMALTHEA tool
*/
public class SCA2AMALTHEAStarterProperties {
private String outPutPath;
private String binDirectory;
private final String taskListFile;
private final String cProjectPath;
private final String hDirFilePath;
private final String buildLogFile;
private String lockinfoFile;
private final boolean isStructMemberEnabled;
private final LLVMStarterProperties llvmStarterProperties;
/**
*
*/
public static final String LOCK_DEFINITION_FILE = "default_bsw_lock_functions.csv";
/**
* @param traverseAstPath {@link String}
* @param outPutPath {@link String}
* @param taskListFile {@link String}
* @param numberOfThreads {@link Integer}
* @param cProjectPath {@link String}
* @param hDirFilePath {@link String}
* @param buildLogFile {@link String}
* @param lockinfoFile {@link String}
* @param isStructMemberEnabled {@link Boolean}
*/
public SCA2AMALTHEAStarterProperties(final String traverseAstPath, final String outPutPath, final String taskListFile,
final int numberOfThreads, final String cProjectPath, final String hDirFilePath, final String buildLogFile,
final String lockinfoFile, final boolean isStructMemberEnabled) {
this.llvmStarterProperties = new LLVMStarterProperties(traverseAstPath, outPutPath, numberOfThreads, cProjectPath,
null, null, new ArrayList<String>(), new ArrayList<String>(), new ArrayList<String>());
this.taskListFile = taskListFile;
this.outPutPath = outPutPath;
this.cProjectPath = cProjectPath;
this.hDirFilePath = hDirFilePath;
this.buildLogFile = buildLogFile;
this.lockinfoFile = lockinfoFile;
this.isStructMemberEnabled = isStructMemberEnabled;
}
/**
* @return the llvmStarterProperties
*/
public LLVMStarterProperties getLlvmStarterProperties() {
return this.llvmStarterProperties;
}
/**
* @param outPutPath the outPutPath to set
*/
public void setOutPutPath(final String outPutPath) {
this.outPutPath = outPutPath;
this.llvmStarterProperties.setOutPutPath(outPutPath);
}
/**
* @param cFilesList the cFilesList to set
*/
public void setcFilesList(final List<String> cFilesList) {
this.llvmStarterProperties.setcFilesList(cFilesList);
}
/**
* @param hFilesList the hFilesList to set
*/
public void sethFilesList(final List<String> hFilesList) {
this.llvmStarterProperties.sethFilesList(hFilesList);
}
/**
* @return the list of C files contained in the project or variant
*/
public List<String> getCFilesList() {
return this.llvmStarterProperties.getcFilesList();
}
/**
* @return the list of header files contained in the project or variant
*/
public List<String> getHFilesList() {
return this.llvmStarterProperties.gethFilesList();
}
/**
* @param hashDefineList the hashDefineList to set
*/
public void setHashDefineList(final List<String> hashDefineList) {
this.llvmStarterProperties.setHashDefineList(hashDefineList);
}
/**
* @return the taskListFile
*/
public String getTaskListFile() {
return this.taskListFile;
}
/**
* @return the cProjectPath
*/
public String getcProjectPath() {
return this.cProjectPath;
}
/**
* @return the traverseAstFile
*/
public String getTraverseAstFile() {
return this.llvmStarterProperties.getTraverseAstFile();
}
/**
* @return the outPutPath
*/
public String getOutPutPath() {
return this.outPutPath;
}
/**
* @return the hDirFilePath
*/
public String gethDirFilePath() {
return this.hDirFilePath;
}
/**
* @return the buildLogFile
*/
public String getBuildLogFile() {
return this.buildLogFile;
}
/**
* @return the lockinfoFile
*/
public String getLockinfoFile() {
return this.lockinfoFile;
}
/**
* @param lockinfoFile the lockinfoFile to set
*/
public void setLockinfoFile(final String lockinfoFile) {
this.lockinfoFile = lockinfoFile;
}
/**
* @return the isStructDisabled
*/
public boolean isStructMemberEnabled() {
return this.isStructMemberEnabled;
}
/**
* @return the binDirecotry
*/
public String getBinDirectory() {
return this.binDirectory;
}
/**
* @param binDirecotry the binDirecotry to set
*/
public void setBinDirectory(final String binDirecotry) {
this.binDirectory = binDirecotry;
}
}