Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 16 additions & 13 deletions cumulusci_ado/azure_devops.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,6 @@
from cumulusci_ado import __version__
from cumulusci_ado.utils.ado import get_ado_cci_plus_upgrade_command

import_global("cumulusci_ado.vcs.ado.service.AzureDevOpsService")

VCSSource.register(
"azure_devops", "cumulusci_ado.vcs.ado.source.azure_devops.ADOSource"
)

from cumulusci_ado.vcs.ado.dependencies.ado_dependencies import VCS_ADO as dep
from cumulusci_ado.vcs.ado.dependencies.ado_resolvers import VCS_ADO as res

assert (
dep == res
), "VCS_ADO must match in dependencies and resolvers. (Assertion done to load the ado dependencies and resolvers correctly)"


class AzureDevOpsPlugin(PluginBase):
"""Plugin for Azure DevOps integration."""
Expand All @@ -43,6 +30,22 @@ def initialize(self) -> None:
"""Initialize the plugin."""
super().initialize()

# Delay import of service to avoid circular import during plugin loading
import_global("cumulusci_ado.vcs.ado.service.AzureDevOpsService")

# Register VCS source
VCSSource.register(
"azure_devops", "cumulusci_ado.vcs.ado.source.azure_devops.ADOSource"
)

# Load dependencies and resolvers
from cumulusci_ado.vcs.ado.dependencies.ado_dependencies import VCS_ADO as dep
from cumulusci_ado.vcs.ado.dependencies.ado_resolvers import VCS_ADO as res

assert (
dep == res
), "VCS_ADO must match in dependencies and resolvers. (Assertion done to load the ado dependencies and resolvers correctly)"

def teardown(self) -> None:
"""Tear down the plugin."""
super().teardown()
Expand Down
2 changes: 1 addition & 1 deletion cumulusci_ado/utils/ado.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
from urllib.parse import ParseResult, urlparse

try:
import colorama
import colorama # type: ignore
except ImportError:
# coloredlogs only installs colorama on Windows
pass
Expand Down
4 changes: 3 additions & 1 deletion cumulusci_ado/vcs/ado/dependencies/ado_dependencies.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@

@lru_cache(50)
def get_ado_repo(project_config, url) -> ADORepository:
from cumulusci_ado.vcs.ado.service import VCSService, get_ado_service_for_url
from cumulusci.vcs.base import VCSService

from cumulusci_ado.vcs.ado.service import get_ado_service_for_url

vcs_service: Optional[VCSService] = get_ado_service_for_url(project_config, url)

Expand Down
2 changes: 1 addition & 1 deletion cumulusci_ado/vcs/ado/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ def get_repository(self, options: dict = {}) -> Optional["ADORepository"]:
service_config=self.service_config,
options=options,
)
self._repo._init_repo()
self._repo._init_repo() # type: ignore
return self._repo

def parse_repo_url(self) -> List[str]:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ authors = [{name = "Rupesh J"}]
requires-python = ">=3.11"
keywords = ["cumulusci", "salesforce", "azure devops"]
dependencies = [
"cumulusci-plus>=5.0.0",
"cumulusci-plus>=5.0.32",
"azure-devops",
"requests",
"humanfriendly",
Expand Down
4 changes: 0 additions & 4 deletions utility/generate-release-notes.py
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,3 @@ def main(prev, next):
)
print(cmd)
os.system(cmd)


if __name__ == "__main__":
main()
Loading