19 #include <gwenhywfar/debug.h> 20 #include <gwenhywfar/text.h> 39 const char *sCurrentRelativeDir,
40 GWB_FILE_LIST2 *projectFileList,
41 GWB_FILE_LIST2 *targetFileList,
45 const char *sCurrentRelativeDir,
46 GWB_FILE_LIST2 *projectFileList,
47 GWB_FILE_LIST2 *targetFileList,
50 const GWB_FILE_LIST2 *projectFileList,
51 GWB_FILE_LIST2 *targetFileList);
53 const GWB_FILE_LIST2 *fileList,
84 buildSubCmd=
_parseSubCmd(bcmd, currentContext, xmlNode, dbForCmd);
85 if (buildSubCmd==
NULL) {
121 if (s && *s && 0==strcasecmp(s,
"TRUE"))
171 if (buildSubCmd==
NULL) {
177 if (s && strcasecmp(s,
"TRUE")==0)
250 const char *toolName;
262 if (!(toolName && *toolName)) {
276 if (s && strcasecmp(s,
"TRUE")==0)
286 const char *sCurrentRelativeDir,
287 GWB_FILE_LIST2 *projectFileList,
288 GWB_FILE_LIST2 *targetFileList,
325 const char *sCurrentRelativeDir,
326 GWB_FILE_LIST2 *projectFileList,
327 GWB_FILE_LIST2 *targetFileList,
369 const GWB_FILE_LIST2 *projectFileList,
370 GWB_FILE_LIST2 *targetFileList)
375 if (tagName && *tagName && strcasecmp(tagName,
"files")==0) {
387 GWB_File_List2_PushBack(targetFileList, file);
390 GWB_FILE_LIST2_ITERATOR *it;
392 it=GWB_File_List2_First(projectFileList);
396 file=GWB_File_List2Iterator_Data(it);
403 GWB_File_List2_PushBack(targetFileList, file);
405 file=GWB_File_List2Iterator_Next(it);
408 GWB_File_List2Iterator_free(it);
422 const GWB_FILE_LIST2 *fileList,
426 GWB_FILE_LIST2_ITERATOR *it;
428 it=GWB_File_List2_First(fileList);
434 file=GWB_File_List2Iterator_Data(it);
448 file=GWB_File_List2Iterator_Next(it);
452 GWB_File_List2Iterator_free(it);
int GWEN_DB_ReplaceVars(GWEN_DB_NODE *db, const char *s, GWEN_BUFFER *dbuf)
GWB_FILE_LIST2 * GWB_BuildCmd_GetInFileList2(const GWB_BUILD_CMD *bcmd)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
struct GWB_CONTEXT GWB_CONTEXT
static int _readFileList(GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *dbVars, const char *sCurrentRelativeDir, GWB_FILE_LIST2 *projectFileList, GWB_FILE_LIST2 *targetFileList, uint32_t flagsToAdd)
struct GWEN_DB_NODE GWEN_DB_NODE
static int _readFileListFromTagNode(GWEN_XMLNODE *xmlNode, const GWB_FILE_LIST2 *projectFileList, GWB_FILE_LIST2 *targetFileList)
void GWEN_DB_Group_free(GWEN_DB_NODE *n)
#define GWEN_DIR_SEPARATOR_S
uint32_t GWEN_Buffer_GetUsedBytes(const GWEN_BUFFER *bf)
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
void GWB_BuildCmd_SetFolder(GWB_BUILD_CMD *bcmd, const char *s)
void GWB_BuildSubCmd_SetArguments(GWB_BUILD_SUBCMD *cmd, const char *s)
void GWB_Project_AddExplicitBuild(GWB_PROJECT *project, GWB_BUILD_CMD *bcmd)
static void _addFilePathsToDb(GWB_CONTEXT *currentContext, const GWB_FILE_LIST2 *fileList, GWEN_DB_NODE *db, const char *varName)
static GWB_BUILD_SUBCMD * _parseSubCmd(GWB_BUILD_CMD *bcmd, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *dbForCmd)
struct GWB_PROJECT GWB_PROJECT
void GWB_BuildSubCmd_SetCommand(GWB_BUILD_SUBCMD *cmd, const char *s)
static void _parseAndSetBuildMessage(GWB_BUILD_SUBCMD *buildSubCmd, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *dbForCmd)
#define GWB_BUILD_CMD_FLAGS_CHECK_DATES
GWEN_BUFFER * GWEN_Buffer_new(char *buffer, uint32_t size, uint32_t used, int take)
int GWB_ParseBuildFiles(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
void GWBUILD_AddFilesFromStringList(GWB_FILE_LIST2 *mainFileList, const char *sFolder, const GWEN_STRINGLIST *fileNameList, GWB_FILE_LIST2 *outFileList, uint32_t flagsToAdd, int copyFileForOutList)
void GWB_Builder_AddRelativeFolderToBuffer(const GWB_CONTEXT *context, const char *folder, int useBuildDir, GWEN_BUFFER *argBuffer)
void GWEN_Buffer_Reset(GWEN_BUFFER *bf)
static GWEN_DB_NODE * _prepareCmdDb(GWB_BUILD_CMD *bcmd, GWB_CONTEXT *currentContext)
static int _parseBuildOutputFiles(GWB_BUILD_CMD *bcmd, GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
GWEN_BUFFER * GWB_Parser_ReadXmlDataIntoBufferAndExpand(GWEN_DB_NODE *db, GWEN_XMLNODE *xmlNode)
GWEN_XMLNODE * GWEN_XMLNode_GetChild(const GWEN_XMLNODE *n)
const char * GWB_File_GetFolder(const GWB_FILE *f)
GWB_BUILD_SUBCMD * GWB_BuildSubCmd_new(void)
const char * GWB_File_GetName(const GWB_FILE *f)
void GWEN_StringList_free(GWEN_STRINGLIST *sl)
GWB_FILE_LIST2 * GWB_Project_GetFileList(const GWB_PROJECT *project)
GWEN_XMLNODE * GWEN_XMLNode_FindFirstTag(const GWEN_XMLNODE *n, const char *tname, const char *pname, const char *pvalue)
GWEN_DB_NODE * GWB_Context_GetVars(const GWB_CONTEXT *ctx)
void GWB_BuildSubCmd_SetBuildMessage(GWB_BUILD_SUBCMD *cmd, const char *s)
void GWB_BuildCmd_SetBuilderName(GWB_BUILD_CMD *bcmd, const char *s)
int GWEN_XMLNode_GetIntProperty(const GWEN_XMLNODE *n, const char *name, int defaultValue)
struct GWB_TARGET GWB_TARGET
GWEN_XMLNODE_TYPE GWEN_XMLNode_GetType(const GWEN_XMLNODE *n)
void GWB_Target_AddExplicitBuild(GWB_TARGET *target, GWB_BUILD_CMD *bcmd)
#define GWB_BUILD_CMD_FLAGS_DEL_OUTFILES
GWB_FILE_LIST2 * GWB_BuildCmd_GetOutFileList2(const GWB_BUILD_CMD *bcmd)
GWEN_XMLNODE * GWEN_XMLNode_Next(const GWEN_XMLNODE *n)
struct GWEN_STRINGLISTSTRUCT GWEN_STRINGLIST
#define GWEN_ERROR_GENERIC
#define GWB_BUILD_CMD_FLAGS_AUTO
static int _parseBuildInputFiles(GWB_BUILD_CMD *bcmd, GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
GWEN_STRINGLIST * GWEN_StringList_fromString(const char *str, const char *delimiters, int checkDouble)
static GWB_BUILD_CMD * _parseBuildCmd(GWB_PROJECT *project, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode)
void GWEN_Buffer_free(GWEN_BUFFER *bf)
struct GWB_BUILD_SUBCMD GWB_BUILD_SUBCMD
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
static GWB_BUILD_SUBCMD * _parseBuildCommand(GWB_BUILD_CMD *bcmd, GWB_CONTEXT *currentContext, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *dbForCmd)
#define DBG_ERROR(dbg_logger, format, args...)
const char * GWEN_XMLNode_GetData(const GWEN_XMLNODE *n)
int GWEN_Text_ComparePattern(const char *w, const char *p, int sensecase)
GWB_BUILD_CMD * GWB_BuildCmd_new(void)
static int _readFilesFromDataNode(GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *dbVars, const char *sCurrentRelativeDir, GWB_FILE_LIST2 *projectFileList, GWB_FILE_LIST2 *targetFileList, uint32_t flagsToAdd)
int GWEN_DB_SetCharValue(GWEN_DB_NODE *n, uint32_t flags, const char *path, const char *val)
void GWB_BuildCmd_AddFlags(GWB_BUILD_CMD *bcmd, uint32_t i)
struct GWB_BUILD_CMD GWB_BUILD_CMD
uint32_t GWB_File_GetFlags(const GWB_FILE *f)
#define DBG_INFO(dbg_logger, format, args...)
GWB_TARGET * GWB_Context_GetCurrentTarget(const GWB_CONTEXT *ctx)
void GWB_BuildCmd_AddBuildCommand(GWB_BUILD_CMD *bcmd, GWB_BUILD_SUBCMD *cmd)
GWEN_DB_NODE * GWEN_DB_Group_new(const char *name)
int GWEN_XMLNode_ExpandProperties(const GWEN_XMLNODE *n, GWEN_DB_NODE *dbVars)
const char * GWB_Context_GetCurrentRelativeDir(const GWB_CONTEXT *ctx)
void GWB_BuildCmd_free(GWB_BUILD_CMD *bcmd)
struct GWEN__XMLNODE GWEN_XMLNODE
#define GWB_FILE_FLAGS_GENERATED
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
GWB_FILE * GWB_File_List2_GetAt(const GWB_FILE_LIST2 *fileList, int index)