예제 #1
0
#include "Tools/FBuild/FBuildCore/FLog.h"
#include "Tools/FBuild/FBuildCore/Graph/NodeGraph.h"
#include "Tools/FBuild/FBuildCore/BFF/Functions/Function.h"

#include "Core/FileIO/FileIO.h"
#include "Core/FileIO/FileStream.h"
#include "Core/Math/Conversions.h"
#include "Core/Strings/AStackString.h"
#include "Core/Process/Process.h"

// Reflection
//------------------------------------------------------------------------------
REFLECT_BEGIN( TestNode, Node, MetaName( "TestOutput" ) + MetaFile() )
	REFLECT( m_TestExecutable,		"TestExecutable",		MetaFile() )
	REFLECT( m_TestArguments,		"TestArguments",		MetaOptional() )
	REFLECT( m_TestWorkingDir,		"TestWorkingDir",		MetaOptional() + MetaPath() )
	REFLECT( m_TestTimeOut,			"TestTimeOut",			MetaOptional() + MetaRange( 0, 4 * 60 * 60 * 1000 ) ) // 4hrs
REFLECT_END( TestNode )

// CONSTRUCTOR
//------------------------------------------------------------------------------
TestNode::TestNode()
	: FileNode( AString::GetEmpty(), Node::FLAG_NO_DELETE_ON_FAIL ) // keep output on test fail
	, m_TestExecutable()
	, m_TestArguments()
	, m_TestWorkingDir()
	, m_TestTimeOut( 0 )
{
	m_Type = Node::TEST_NODE;
}
예제 #2
0
#include "Tools/FBuild/FBuildCore/Helpers/ProjectGeneratorBase.h"
#include "Tools/FBuild/FBuildCore/Helpers/XCodeProjectGenerator.h"

#include "Core/FileIO/IOStream.h"
#include "Core/FileIO/PathUtils.h"
#include "Core/Strings/AStackString.h"

// Reflection
//------------------------------------------------------------------------------
REFLECT_STRUCT_BEGIN_BASE( XCodeProjectConfig )
	REFLECT( m_Config, 	"Config", 	MetaNone() )
	REFLECT( m_Target,	"Target",	MetaNone() )
REFLECT_END( XCodeProjectConfig )

REFLECT_BEGIN( XCodeProjectNode, Node, MetaName( "ProjectOutput" ) + MetaFile() )
	REFLECT_ARRAY( m_ProjectInputPaths, 			"ProjectInputPaths", 			MetaOptional() + MetaPath() )
	REFLECT_ARRAY( m_ProjectInputPathsExclude,		"ProjectInputPathsExclude", 	MetaOptional() + MetaPath() )
	REFLECT_ARRAY( m_ProjectFiles,					"ProjectFiles",					MetaOptional() + MetaFile() )
	REFLECT_ARRAY( m_ProjectFilesToExclude,			"ProjectFilesToExclude",		MetaOptional() + MetaFile() )
	REFLECT_ARRAY( m_PatternToExclude,				"ProjectPatternToExclude",		MetaOptional() + MetaFile())
	REFLECT_ARRAY( m_ProjectBasePath, 				"ProjectBasePath", 				MetaOptional() + MetaPath() )
	REFLECT_ARRAY( m_ProjectAllowedFileExtensions, 	"ProjectAllowedFileExtensions", MetaOptional() )
	REFLECT_ARRAY_OF_STRUCT( m_ProjectConfigs,		"ProjectConfigs",	XCodeProjectConfig,		MetaNone() )
	REFLECT( m_XCodeOrganizationName,				"XCodeOrganizationName",		MetaOptional() )
	REFLECT( m_XCodeBuildToolPath,					"XCodeBuildToolPath",			MetaOptional() )
	REFLECT( m_XCodeBuildToolArgs,					"XCodeBuildToolArgs",			MetaOptional() )
	REFLECT( m_XCodeBuildWorkingDir,				"XCodeBuildWorkingDir",			MetaOptional() )
REFLECT_END( XCodeProjectNode )

// CONSTRUCTOR
//------------------------------------------------------------------------------
예제 #3
0
#include "RemoveDirNode.h"

#include "Tools/FBuild/FBuildCore/BFF/Functions/Function.h"
#include "Tools/FBuild/FBuildCore/FBuild.h"
#include "Tools/FBuild/FBuildCore/FLog.h"
#include "Tools/FBuild/FBuildCore/Graph/DirectoryListNode.h"
#include "Tools/FBuild/FBuildCore/Graph/NodeGraph.h"

#include "Core/Env/Env.h"
#include "Core/Strings/AStackString.h"

// Reflection
//------------------------------------------------------------------------------
REFLECT_NODE_BEGIN( RemoveDirNode, Node, MetaNone() )
    REFLECT_ARRAY( m_RemovePaths,               "RemovePaths",          MetaPath() )
    REFLECT_ARRAY( m_RemovePatterns,            "RemovePatterns",       MetaOptional() )
    REFLECT(       m_RemovePathsRecurse,        "RemovePathsRecurse",   MetaOptional() )
    REFLECT_ARRAY( m_RemoveExcludePaths,        "RemoveExcludePaths",   MetaOptional() + MetaPath() )
    REFLECT_ARRAY( m_PreBuildDependencyNames,   "PreBuildDependencies", MetaOptional() + MetaFile() + MetaAllowNonFile() )
REFLECT_END( RemoveDirNode )

// CONSTRUCTOR
//------------------------------------------------------------------------------
RemoveDirNode::RemoveDirNode()
    : Node( AString::GetEmpty(), Node::REMOVE_DIR_NODE, Node::FLAG_NONE )
    , m_RemovePathsRecurse( true )
{
    m_RemovePatterns.Append( AStackString<>( "*" ) );
}