19 #include <gwenhywfar/debug.h> 20 #include <gwenhywfar/text.h> 34 const char *sCurrentRelativeDir,
35 GWB_FILE_LIST2 *projectFileList,
36 GWB_FILE_LIST2 *targetFileList,
40 const char *sCurrentRelativeDir,
41 GWB_FILE_LIST2 *projectFileList,
42 GWB_FILE_LIST2 *targetFileList,
45 const GWB_FILE_LIST2 *projectFileList,
46 GWB_FILE_LIST2 *targetFileList);
48 const GWB_FILE_LIST2 *fileList,
77 if (s && *s && 0==strcasecmp(s,
"TRUE"))
107 if (buildSubCmd==
NULL) {
115 if (s && strcasecmp(s,
"TRUE")==0)
189 const char *toolName;
201 if (!(toolName && *toolName)) {
215 if (s && strcasecmp(s,
"TRUE")==0)
225 const char *sCurrentRelativeDir,
226 GWB_FILE_LIST2 *projectFileList,
227 GWB_FILE_LIST2 *targetFileList,
264 const char *sCurrentRelativeDir,
265 GWB_FILE_LIST2 *projectFileList,
266 GWB_FILE_LIST2 *targetFileList,
308 const GWB_FILE_LIST2 *projectFileList,
309 GWB_FILE_LIST2 *targetFileList)
314 if (tagName && *tagName && strcasecmp(tagName,
"files")==0) {
326 GWB_File_List2_PushBack(targetFileList, file);
329 GWB_FILE_LIST2_ITERATOR *it;
331 it=GWB_File_List2_First(projectFileList);
335 file=GWB_File_List2Iterator_Data(it);
342 GWB_File_List2_PushBack(targetFileList, file);
344 file=GWB_File_List2Iterator_Next(it);
347 GWB_File_List2Iterator_free(it);
361 const GWB_FILE_LIST2 *fileList,
365 GWB_FILE_LIST2_ITERATOR *it;
367 it=GWB_File_List2_First(fileList);
373 file=GWB_File_List2Iterator_Data(it);
387 file=GWB_File_List2Iterator_Next(it);
391 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)
struct GWB_PROJECT GWB_PROJECT
void GWB_BuildSubCmd_SetCommand(GWB_BUILD_SUBCMD *cmd, const char *s)
#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 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)
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)