Ejemplo n.º 1
0
def DoGenerateBuildFiles(
    pluginConfigContext: PluginConfigContext, config: Config,
    errorHelpManager: ErrorHelpManager, files: List[str],
    platformGeneratorPlugin: GeneratorPlugin, packageFilters: PackageFilters
) -> Union[List[Package], MultiPlatformPackageResultType]:
    config.LogPrint("- Generating build files")

    isSDKBuild = len(files) <= 0
    packageLoader = PackageLoader(config, files, platformGeneratorPlugin)
    res = []  # type: Union[List[Package], MultiPlatformPackageResultType]
    if platformGeneratorPlugin.PlatformId == PluginSharedValues.PLATFORM_ID_ALL:
        resDict = {}  # type: MultiPlatformPackageResultType
        for entry in pluginConfigContext.GetGeneratorPlugins():
            if not config.IsTestMode or not entry.InDevelopment:
                packages = __ResolveAndGenerate(config, errorHelpManager,
                                                entry,
                                                copy.deepcopy(packageLoader),
                                                packageFilters, isSDKBuild)
            resDict[entry.PlatformName] = (packages, entry)
        res = resDict
    else:
        res = __ResolveAndGenerate(config, errorHelpManager,
                                   platformGeneratorPlugin, packageLoader,
                                   packageFilters, isSDKBuild)

    return res
Ejemplo n.º 2
0
def __TestGetPackageLoader(config: Config, files: List[str],
                           platformId: str) -> PackageLoader:
    packageFilters = PackageFilters()
    platformGeneratorPlugin = PluginConfig.GetGeneratorPluginById(
        platformId, GeneratorType.Default, True,
        config.ToolConfig.CMakeConfiguration, None)
    return PackageLoader(config, files, platformGeneratorPlugin)
Ejemplo n.º 3
0
 def Load(self,
          filePathList: List[str],
          plugin: GeneratorPlugin,
          forceImportPackageNames: Optional[List[str]] = None) -> None:
     if self.__loadCalled:
         raise Exception("Load has already been called")
     packageLoader = PackageLoader(self.Config, filePathList, plugin,
                                   forceImportPackageNames)
     self.__ExtractFromPackageLoader(packageLoader, plugin)
Ejemplo n.º 4
0
def DoGenerateBuildFilesNoAll(config: Config,
                              errorHelpManager: ErrorHelpManager,
                              files: List[str],
                              platformGeneratorPlugin: GeneratorPlugin,
                              packageFilters: PackageFilters) -> List[Package]:
    config.LogPrint("- Generating build files")
    isSDKBuild = len(files) <= 0
    packageLoader = PackageLoader(config, files, platformGeneratorPlugin)
    return __ResolveAndGenerate(config, errorHelpManager,
                                platformGeneratorPlugin, packageLoader,
                                packageFilters, isSDKBuild, False)
Ejemplo n.º 5
0
def DoGenerateBuildFilesNoAll(config: Config,
                              files: List[str],
                              platformGeneratorPlugin: GeneratorPlugin,
                              packageFilters: PackageFilters) -> List[Package]:
    config.LogPrint("- Generating build files")

    if platformGeneratorPlugin.Id == PluginSharedValues.PLATFORM_ID_ALL:
        raise Exception("Can not use PLATFORM_ID_ALL")

    isSDKBuild = len(files) <= 0
    packageLoader = PackageLoader(config, files, platformGeneratorPlugin)
    return __ResolveAndGenerate(config, platformGeneratorPlugin, packageLoader, packageFilters, isSDKBuild)
Ejemplo n.º 6
0
def __TestGetPackageLoader(config: Config, files: List[str],
                           platformId: str) -> PackageLoader:
    packageFilters = PackageFilters()
    #generatorCMakeConfig = __GetTestGeneratorCMakeConfig()
    log = config  # type: Log
    pluginConfigContext = PluginConfig.InitPluginConfigContext(
        log, config.ToolConfig.ToolVersion, allowDevelopmentPlugins=True)
    buildVariantConfig = BuildVariantConfig.Debug
    platformGeneratorPlugin = pluginConfigContext.GetGeneratorPluginById(
        platformId, GeneratorType.Default, buildVariantConfig, True,
        config.ToolConfig.CMakeConfiguration, None)
    return PackageLoader(config, files, platformGeneratorPlugin)
Ejemplo n.º 7
0
def DoGenerateBuildFiles3(config: Config, files: List[str], platformGeneratorPlugin: GeneratorPlugin,
                          packageFilters: PackageFilters) -> MultiPlatformPackageResultType:
    config.LogPrint("- Generating build files")

    isSDKBuild = len(files) <= 0
    packageLoader = PackageLoader(config, files, platformGeneratorPlugin)
    if platformGeneratorPlugin.Id != PluginSharedValues.PLATFORM_ID_ALL:
        raise Exception("This requires: PLATFORM_ID_ALL")
    resDict = {} # type: MultiPlatformPackageResultType
    for entry in PluginConfig.GetGeneratorPlugins(config.AllowDevelopmentPlugins):
        if not config.IsTestMode or not entry.InDevelopment:
            packages = __ResolveAndGenerate(config, entry, copy.deepcopy(packageLoader), packageFilters, isSDKBuild)
            resDict[entry.Name] = (packages, entry)
    return resDict
Ejemplo n.º 8
0
def DoGenerateBuildFilesNow(
    pluginConfigContext: PluginConfigContext, config: Config,
    errorHelpManager: ErrorHelpManager, files: List[str],
    platformGeneratorPlugin: GeneratorPlugin, packageFilters: PackageFilters
) -> Optional[Tuple[List[Package], GeneratorPlugin]]:
    config.LogPrint("- Generating build files")

    isSDKBuild = len(files) <= 0
    packageLoader = PackageLoader(config, files, platformGeneratorPlugin)
    res = None  # type: Optional[Tuple[List[Package], GeneratorPlugin]]
    for entry in pluginConfigContext.GetGeneratorPlugins():
        if entry.PlatformName.lower(
        ) == platformGeneratorPlugin.OriginalPlatformId and (
                not entry.InDevelopment):
            packages = __ResolveAndGenerate(config, errorHelpManager, entry,
                                            copy.deepcopy(packageLoader),
                                            packageFilters, isSDKBuild, False)
            res = (packages, entry)
    return res
Ejemplo n.º 9
0
def __TestGetPackageLoader(config: Config, files: List[str], platformId: str) -> PackageLoader:
    packageFilters = PackageFilters()
    platformGeneratorPlugin = PluginConfig.GetGeneratorPluginById(platformId, True)
    return PackageLoader(config, files, platformGeneratorPlugin)