68 lines
2.8 KiB
C++
68 lines
2.8 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
#include "UbaDependencyCrawler.h"
|
|
#include "UbaDirectoryIterator.h"
|
|
#include "UbaLogger.h"
|
|
|
|
namespace uba
|
|
{
|
|
bool TestDependencyCrawler(LoggerWithWriter& logger, const StringBufferBase& rootDir)
|
|
{
|
|
#if 0 // Commented out for now because of hard coded paths below
|
|
|
|
WorkManagerImpl workManager(128);
|
|
|
|
DependencyCrawler crawler(logger, workManager);
|
|
|
|
auto CreateFileFunc = [&](TrackWorkScope& tracker, const StringView& fileName, const DependencyCrawler::AccessFileFunc& func)
|
|
{
|
|
FileAccessor fa(logger, fileName.data);
|
|
if (!fa.OpenMemoryRead())
|
|
return false;
|
|
return func(fa.GetData(), fa.GetSize());
|
|
};
|
|
|
|
auto FileExistsFunc = [&](const StringView& fileName, u32& outAttr)
|
|
{
|
|
return FileExists(logger, fileName.data, nullptr, &outAttr);
|
|
};
|
|
|
|
auto TraverseFilesFunc = [&](const StringView& path, const DependencyCrawler::FileFunc& fileFunc)
|
|
{
|
|
TraverseDir(logger, path, [&](const DirectoryEntry& entry)
|
|
{
|
|
StringBuffer<> name;
|
|
name.Append(entry.name, entry.nameLen);
|
|
if (CaseInsensitiveFs)
|
|
name.MakeLower();
|
|
fileFunc(name, IsDirectory(entry.attributes));
|
|
});
|
|
|
|
};
|
|
|
|
crawler.Init(FileExistsFunc, TraverseFilesFunc);
|
|
|
|
const tchar app[] = TC("c:\\sdk\\AutoSDK\\HostWin64\\Win64\\LLVM\\18.1.8\\bin\\clang-cl.exe");
|
|
|
|
//DependencyCrawlerType type = DependencyCrawlerType_MsvcCompiler;
|
|
//const tchar rsp[] = TC("e:\\dev\\fn\\Engine\\Intermediate\\Build\\Win64\\x64\\BlankProgram\\Development\\Core\\Module.Core.1.cpp.obj.rsp");
|
|
|
|
DependencyCrawlerType type = DependencyCrawlerType_MsvcCompiler;
|
|
//const tchar rsp[] = TC("e:\\dev\\fn\\Engine\\Intermediate\\Build\\Linux\\x64\\BlankProgram\\Development\\Core\\Module.Core.1.cpp.o.rsp");
|
|
//const tchar rsp[] = TC("e:\\temp\\response-22b46d.txt");
|
|
//const tchar rsp[] = TC("e:\\temp\\MiMalloc.c.o.rsp");
|
|
const tchar rsp[] = TC("e:\\dev\\fn\\Sandbox\\DevTools\\Clang\\Intermediate\\Build\\Win64\\x64\\ClangGame\\Debug\\InputCore\\Module.InputCore.cpp.obj.rsp");
|
|
//const tchar rsp[] = TC("e:\\dev\\fn\\engine\\plugins\\experimental\\geometrycollectionplugin\\intermediate\\build\\win64\\x64\\unrealeditor\\development\\geometrycollectionnodes\\module.geometrycollectionnodes.3.cpp.obj.rsp");
|
|
//const tchar rsp[] = TC("e:\\dev\\fn\\Engine\\Plugins\\Runtime\\MeshModelingToolset\\Intermediate\\Build\\Win64\\x64\\UnrealEditor\\Development\\ModelingComponents\\Module.ModelingComponents.3.cpp.obj.rsp");
|
|
//const tchar rsp[] = TC("e:\\dev\\fn\\Engine\\Intermediate\\Build\\Win64\\x64\\UnrealEditor\\Development\\AnimGraphRuntime\\Module.AnimGraphRuntime.3.cpp.obj.rsp");
|
|
|
|
crawler.Add(rsp, TC("e:\\dev\\fn\\Engine\\Source"), CreateFileFunc, [](StringBufferBase&)
|
|
{
|
|
return true;
|
|
}, app, type, 10);
|
|
|
|
workManager.FlushWork();
|
|
#endif
|
|
return true;
|
|
}
|
|
} |