def __init__(self, name: str, version: Union[str, SemVersion] = None, variant: str = None) -> None: """Assign fields and convert version string to a `Version` object.""" self.name = name if name is not None else "" self.variant = variant if variant is not None else "" if isinstance(version, SemVersion): self.version = version elif isinstance(version, str): self.version = SemVersion(version) elif version is None: self.version = SemVersion(0, 0, 0)
def __init__(self, name: str, version: Union[str, SemVersion] = "", configuration: str = "", options: str = "") -> None: """Assign fields and convert version string to a `Version` object.""" self.name = name if name is not None else "" self.configuration = configuration if configuration is not None else "" self.options = options if options is not None else "" if isinstance(version, SemVersion): self.version = version elif isinstance(version, str): self.version = SemVersion(version) elif version is None: self.version = SemVersion(0, 0, 0)
def __init__(self, root: 'Base', parent: 'Base', settings: Dict): super().__init__(root, parent) self.name = settings['name'] if 'variant' in settings: self.variant = settings['variant'] if 'version' in settings: self.version = SemVersion(settings['version'])
def test_ProjectName_VariantName(self): name = "Project 1" variant = "Variant 1" project = Project(name, variant=variant) self.assertEqual(project.name, name) self.assertEqual(project.variant, variant) self.assertEqual(project.version, SemVersion("0.0.0"))
def test_ProjectName_VersionAsVersion(self): name = "Project 1" variant = "" version = SemVersion("1.3.2") project = Project(name, version) self.assertEqual(project.name, name) self.assertEqual(project.variant, variant) self.assertIs(project.version, version)
def test_ProjectName_VersionAsString(self): name = "Project 1" variant = "" version = "0.1.2" project = Project(name, version) self.assertEqual(project.name, name) self.assertEqual(project.variant, variant) self.assertEqual(project.version, SemVersion(version))
def collectData(self) -> None: """Collect versioning information from environment including CI services (if available).""" if self.platform is Platforms.AppVeyor: self.service = AppVeyor() self.variables['appveyor'] = self.service.getEnvironment() elif self.platform is Platforms.GitHub: self.service = GitHub() self.variables['github'] = self.service.getEnvironment() elif self.platform is Platforms.GitLab: self.service = GitLab() self.variables['gitlab'] = self.service.getEnvironment() elif self.platform is Platforms.Travis: self.service = Travis() self.variables['travis'] = self.service.getEnvironment() else: self.service = WorkStation() self.variables['tool'] = Tool("pyVersioning", SemVersion(0, 7, 1)) self.variables['git'] = self.getGitInformation() self.variables['env'] = self.getEnvironment() self.variables['platform'] = self.service.getPlatform() self.calculateData()
def getCompiler(self, config: Configuration.Build.Compiler) -> Compiler: return Compiler(name=config.name, version=SemVersion(config.version), configuration=config.configuration, options=config.options)
def getVersion(self, config: Configuration.Project) -> SemVersion: if config.version is not None: return config.version else: return SemVersion("0.0.0")