Interface IProject
Interface for projects processed by build space
Namespace: BuildSystem.Project
Assembly: BuildSystem.ManagerObject.Interfaces.dll
Syntax
public interface IProject
Properties
AppType
Native project type
Declaration
string AppType { get; }
Property Value
Type | Description |
---|---|
string |
BuildPlatforms
List of platforms supported by project - it can only be build in one of them
Declaration
HashSet<string> BuildPlatforms { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.HashSet<><string> |
CacheInfo
Information about cache
Declaration
CacheProjectInfo? CacheInfo { get; set; }
Property Value
Type | Description |
---|---|
CacheProjectInfo |
CanCalcNativeDependency
Flag - include project in calculating native dependency
Declaration
bool CanCalcNativeDependency { get; }
Property Value
Type | Description |
---|---|
bool |
CanRestorePackageDeps
Flag - restore package dependencies through build space mechanism
Declaration
bool CanRestorePackageDeps { get; }
Property Value
Type | Description |
---|---|
bool |
CompiledVariants
List of variant names - each variant was compiled in this session. ALso stores folder - where was compiled
Declaration
List<KeyValuePair<string, string?>> CompiledVariants { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<><KeyValuePair<string, string>> |
Dependencies
List of projects, which are directive dependencies of current project
Declaration
List<ProjectDependency> Dependencies { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<><ProjectDependency> |
JsonPath
Path to .json with properties of project
Declaration
string JsonPath { get; }
Property Value
Type | Description |
---|---|
string |
JsonProjectDependencies
Properties how to read project dependencies from the local project file
Declaration
JsonProjectDependencies? JsonProjectDependencies { get; set; }
Property Value
Type | Description |
---|---|
JsonProjectDependencies |
MainFilePath
Path to main project file (dproj, csproj, etc)
Declaration
string? MainFilePath { get; }
Property Value
Type | Description |
---|---|
string |
ManagersFactory
Objects which contain properties of manager objects
Declaration
IManagersFactory ManagersFactory { get; }
Property Value
Type | Description |
---|---|
IManagersFactory |
Name
Unique name of project
Declaration
string Name { get; }
Property Value
Type | Description |
---|---|
string |
NativeDependencies
Properties how to read dependencies from main project file
Declaration
NativeDependencies? NativeDependencies { get; set; }
Property Value
Type | Description |
---|---|
NativeDependencies |
Packages
List of packages, which contain build results of current project
Declaration
List<IPackage> Packages { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<><IPackage> |
PropsGenDoc
Properties - how to generate documentation
Declaration
ProjectGenDocProps? PropsGenDoc { get; set; }
Property Value
Type | Description |
---|---|
ProjectGenDocProps |
Recompiled
Flag - project was really compiled
Declaration
bool Recompiled { get; set; }
Property Value
Type | Description |
---|---|
bool |
Scope
Scope of the project to give the opportunity to filter / group projects
Declaration
string Scope { get; }
Property Value
Type | Description |
---|---|
string |
Sources
Masks to source files of project
Declaration
List<string> Sources { get; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<><string> |
Tests
List of test cases
Declaration
List<string> Tests { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.List<><string> |
Type
Type of project. This affects on creating instance - this type should be registered in projects factory
Declaration
string Type { get; }
Property Value
Type | Description |
---|---|
string |
Methods
AddPackageConstants(string, IPackage)
Add replace rules to read package properties
Declaration
void AddPackageConstants(string variantName, IPackage package)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |
IPackage | package | Modifying package |
Build(string, Dictionary<string, string>)
Builds every project. Success flag can be read from Recompiled
Declaration
Dictionary<string, string?> Build(string variantName, Dictionary<string, string> buildParams)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |
System.Collections.Generic.Dictionary<,><string, string> | buildParams | Params for building |
Returns
Type | Description |
---|---|
System.Collections.Generic.Dictionary<,><string, string> | Params of building, which will be written in output json file, describing build process |
Clean(string)
Delete each file of build results
Declaration
void Clean(string variantName)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |
GenDoc(string)
Generate HTML-documentation for project
Declaration
void GenDoc(string variantName)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |
GetBuildResultDefaultPath(string)
Path to folder (!), where build results are stored
Declaration
string? GetBuildResultDefaultPath(string variant)
Parameters
Type | Name | Description |
---|---|---|
string | variant | Variant of restoring |
Returns
Type | Description |
---|---|
string |
GetBuildResultDocumentationPath(string)
Path to file, provided for generating documentation
Declaration
string? GetBuildResultDocumentationPath(string variant)
Parameters
Type | Name | Description |
---|---|---|
string | variant | Variant of generating documentation |
Returns
Type | Description |
---|---|
string |
GetBuildResultPath(string, string)
Path to file as build result
Declaration
string? GetBuildResultPath(string variantName, string buildResultType)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |
string | buildResultType | Type of result file |
Returns
Type | Description |
---|---|
string |
GetBuildResultPaths(string)
Paths to build results
Declaration
Dictionary<string, string> GetBuildResultPaths(string variant)
Parameters
Type | Name | Description |
---|---|---|
string | variant |
Returns
Type | Description |
---|---|
System.Collections.Generic.Dictionary<,><string, string> |
GetConstants(Variant)
Get dictionary of values and their replaces in strings
Declaration
Dictionary<string, string> GetConstants(Variant variant)
Parameters
Type | Name | Description |
---|---|---|
Variant | variant |
Returns
Type | Description |
---|---|
System.Collections.Generic.Dictionary<,><string, string> |
GetContent(string)
Paths to folders and files, which included in content of project. Content of project:
- Wll be copied as build results into folders of parent projects
Declaration
List<string> GetContent(string variantName)
Parameters
Type | Name | Description |
---|---|---|
string | variantName |
Returns
Type | Description |
---|---|
System.Collections.Generic.List<><string> |
GetNeedBuild(string)
Some special project check to define if build is need
Declaration
string GetNeedBuild(string variantName)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |
Returns
Type | Description |
---|---|
string |
GetTestReportPath(string)
Path to folder with results of tests
Declaration
string? GetTestReportPath(string variantName)
Parameters
Type | Name | Description |
---|---|---|
string | variantName |
Returns
Type | Description |
---|---|
string |
ProcessRestoredBuildResult(string, string)
Process file / folder, that was received from package, not after build. In some cases we need to do some registrations or other actions with restored object
Declaration
void ProcessRestoredBuildResult(string variant, string buildResultPath)
Parameters
Type | Name | Description |
---|---|---|
string | variant | |
string | buildResultPath |
Reclaim(string)
Reclaims old versions from storage for each package
Declaration
void Reclaim(string variantName)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |
RunTests(string)
Run unit-test for project if test properties are set
Declaration
bool RunTests(string variantName)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |
Returns
Type | Description |
---|---|
bool |
SetNativeProps(IDSProject?)
Sets properties, which have been read from native project file (dproj/csproj/etc)
Declaration
void SetNativeProps(IDSProject? nativeInfo)
Parameters
Type | Name | Description |
---|---|---|
IDSProject | nativeInfo | Properties of native project |
Sign(string)
Sign binary results of building project
Declaration
void Sign(string variantName)
Parameters
Type | Name | Description |
---|---|---|
string | variantName | Environment params |