cumulusci-plus 5.0.2__py3-none-any.whl → 5.0.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cumulusci-plus might be problematic. Click here for more details.
- cumulusci/__about__.py +1 -1
- cumulusci/__init__.py +6 -0
- cumulusci/cli/cci.py +32 -4
- cumulusci/cli/runtime.py +1 -1
- cumulusci/cli/tests/test_cci.py +2 -2
- cumulusci/cli/utils.py +27 -8
- cumulusci/core/config/project_config.py +1 -1
- cumulusci/plugins/plugin_base.py +6 -1
- cumulusci/plugins/plugin_loader.py +9 -7
- cumulusci/utils/yaml/cumulusci_yml.py +2 -7
- {cumulusci_plus-5.0.2.dist-info → cumulusci_plus-5.0.4.dist-info}/METADATA +1 -1
- {cumulusci_plus-5.0.2.dist-info → cumulusci_plus-5.0.4.dist-info}/RECORD +16 -16
- {cumulusci_plus-5.0.2.dist-info → cumulusci_plus-5.0.4.dist-info}/WHEEL +0 -0
- {cumulusci_plus-5.0.2.dist-info → cumulusci_plus-5.0.4.dist-info}/entry_points.txt +0 -0
- {cumulusci_plus-5.0.2.dist-info → cumulusci_plus-5.0.4.dist-info}/licenses/AUTHORS.rst +0 -0
- {cumulusci_plus-5.0.2.dist-info → cumulusci_plus-5.0.4.dist-info}/licenses/LICENSE +0 -0
cumulusci/__about__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
__version__ = "5.0.
|
|
1
|
+
__version__ = "5.0.4"
|
cumulusci/__init__.py
CHANGED
|
@@ -15,6 +15,12 @@ try:
|
|
|
15
15
|
except PackageNotFoundError:
|
|
16
16
|
__version__ = "unknown"
|
|
17
17
|
|
|
18
|
+
try:
|
|
19
|
+
version("cumulusci")
|
|
20
|
+
raise Exception("CumulusCI installation found, Remove the CumulusCI package.")
|
|
21
|
+
except PackageNotFoundError:
|
|
22
|
+
pass
|
|
23
|
+
|
|
18
24
|
if sys.version_info < (3, 11): # pragma: no cover
|
|
19
25
|
raise Exception("CumulusCI requires Python 3.11+.")
|
|
20
26
|
|
cumulusci/cli/cci.py
CHANGED
|
@@ -14,6 +14,7 @@ from rich.markup import escape
|
|
|
14
14
|
import cumulusci
|
|
15
15
|
from cumulusci.core.debug import set_debug_mode
|
|
16
16
|
from cumulusci.core.exceptions import CumulusCIUsageError
|
|
17
|
+
from cumulusci.plugins.plugin_loader import load_plugins
|
|
17
18
|
from cumulusci.utils import get_cci_upgrade_command
|
|
18
19
|
from cumulusci.utils.http.requests_utils import init_requests_trust
|
|
19
20
|
from cumulusci.utils.logging import tee_stdout_stderr
|
|
@@ -29,6 +30,7 @@ from .runtime import CliRuntime, pass_runtime
|
|
|
29
30
|
from .service import service
|
|
30
31
|
from .task import task
|
|
31
32
|
from .utils import (
|
|
33
|
+
check_latest_plugins,
|
|
32
34
|
check_latest_version,
|
|
33
35
|
get_installed_version,
|
|
34
36
|
get_latest_final_version,
|
|
@@ -63,6 +65,7 @@ def main(args=None):
|
|
|
63
65
|
is_version_command = len(args) > 1 and args[1] == "version"
|
|
64
66
|
if "--json" not in args and not is_version_command:
|
|
65
67
|
check_latest_version()
|
|
68
|
+
check_latest_plugins()
|
|
66
69
|
|
|
67
70
|
# Only create logfiles for commands that are not `cci error`
|
|
68
71
|
is_error_command = len(args) > 2 and args[1] == "error"
|
|
@@ -152,8 +155,13 @@ def show_debug_info():
|
|
|
152
155
|
|
|
153
156
|
def show_version_info():
|
|
154
157
|
console = rich.get_console()
|
|
155
|
-
console.print(
|
|
158
|
+
console.print(
|
|
159
|
+
f"[bold]CumulusCI Plus[/bold] version: {cumulusci.__version__} ({sys.argv[0]})"
|
|
160
|
+
)
|
|
161
|
+
show_plugin_version_infos(console)
|
|
162
|
+
|
|
156
163
|
console.print(f"Python version: {sys.version.split()[0]} ({sys.executable})")
|
|
164
|
+
|
|
157
165
|
console.print()
|
|
158
166
|
warn_if_no_long_paths(console=console)
|
|
159
167
|
|
|
@@ -161,21 +169,41 @@ def show_version_info():
|
|
|
161
169
|
latest_version = get_latest_final_version()
|
|
162
170
|
|
|
163
171
|
if not latest_version > current_version:
|
|
164
|
-
console.print(
|
|
172
|
+
console.print(
|
|
173
|
+
"You have the latest version of CumulusCI Plus :sun_behind_cloud:\n"
|
|
174
|
+
)
|
|
165
175
|
display_release_notes_link(str(latest_version))
|
|
166
176
|
return
|
|
167
177
|
|
|
168
178
|
console.print(
|
|
169
|
-
f"[yellow]There is a newer version of CumulusCI available: {str(latest_version)}"
|
|
179
|
+
f"[yellow]There is a newer version of CumulusCI Plus available: {str(latest_version)}"
|
|
170
180
|
)
|
|
171
181
|
console.print(f"To upgrade, run `{get_cci_upgrade_command()}`")
|
|
172
182
|
display_release_notes_link(str(latest_version))
|
|
173
183
|
|
|
174
184
|
|
|
185
|
+
def show_plugin_version_infos(console: Console):
|
|
186
|
+
"""Display version information for all loaded plugins."""
|
|
187
|
+
plugins = load_plugins()
|
|
188
|
+
|
|
189
|
+
if not plugins:
|
|
190
|
+
return
|
|
191
|
+
|
|
192
|
+
console.print("Loaded plugins:")
|
|
193
|
+
|
|
194
|
+
for plugin in plugins:
|
|
195
|
+
try:
|
|
196
|
+
console.print(f" [bold]{plugin.name}[/bold]: {plugin.version}")
|
|
197
|
+
except Exception as e:
|
|
198
|
+
console.print(
|
|
199
|
+
f" [bold]{plugin.name}[/bold]: [red]Error retrieving version: {e}[/red]"
|
|
200
|
+
)
|
|
201
|
+
|
|
202
|
+
|
|
175
203
|
def display_release_notes_link(latest_version: str) -> None:
|
|
176
204
|
"""Provide a link to the latest CumulusCI Release Notes"""
|
|
177
205
|
release_notes_link = (
|
|
178
|
-
f"https://github.com/
|
|
206
|
+
f"https://github.com/jorgesolebur/CumulusCI/releases/tag/v{latest_version}"
|
|
179
207
|
)
|
|
180
208
|
console = rich.get_console()
|
|
181
209
|
console.print(
|
cumulusci/cli/runtime.py
CHANGED
|
@@ -146,7 +146,7 @@ class CliRuntime(BaseCumulusCI):
|
|
|
146
146
|
parsed_version = version.parse(min_cci_version)
|
|
147
147
|
if get_installed_version() < parsed_version:
|
|
148
148
|
raise click.UsageError(
|
|
149
|
-
f"This project requires CumulusCI version {min_cci_version} or later. "
|
|
149
|
+
f"This project requires CumulusCI Plus version {min_cci_version} or later. "
|
|
150
150
|
f"To upgrade, please run this command: {get_cci_upgrade_command()}"
|
|
151
151
|
)
|
|
152
152
|
|
cumulusci/cli/tests/test_cci.py
CHANGED
|
@@ -407,8 +407,8 @@ def test_cli():
|
|
|
407
407
|
def test_version(capsys):
|
|
408
408
|
run_click_command(cci.version)
|
|
409
409
|
console_output = capsys.readouterr().out
|
|
410
|
-
assert f"CumulusCI version: {cumulusci.__version__}" in console_output
|
|
411
|
-
assert "There is a newer version of CumulusCI available" in console_output
|
|
410
|
+
assert f"CumulusCI Plus version: {cumulusci.__version__}" in console_output
|
|
411
|
+
assert "There is a newer version of CumulusCI Plus available" in console_output
|
|
412
412
|
|
|
413
413
|
|
|
414
414
|
@mock.patch(
|
cumulusci/cli/utils.py
CHANGED
|
@@ -13,6 +13,7 @@ from rich.console import Console
|
|
|
13
13
|
|
|
14
14
|
from cumulusci import __version__
|
|
15
15
|
from cumulusci.core.config import UniversalConfig
|
|
16
|
+
from cumulusci.plugins.plugin_loader import load_plugins
|
|
16
17
|
from cumulusci.utils import get_cci_upgrade_command
|
|
17
18
|
from cumulusci.utils.http.requests_utils import safe_json_from_response
|
|
18
19
|
|
|
@@ -67,13 +68,15 @@ def is_final_release(version: str) -> bool:
|
|
|
67
68
|
return bool(FINAL_VERSION_RE.match(version))
|
|
68
69
|
|
|
69
70
|
|
|
70
|
-
def get_latest_final_version(
|
|
71
|
+
def get_latest_final_version(
|
|
72
|
+
pkg="cumulusci-plus", tstamp_file="cumulus_timestamp"
|
|
73
|
+
) -> packaging_version.Version:
|
|
71
74
|
"""return the latest version of cumulusci in pypi, be defensive"""
|
|
72
75
|
# use the pypi json api https://wiki.python.org/moin/PyPIJSON
|
|
73
76
|
res = safe_json_from_response(
|
|
74
|
-
requests.get("https://pypi.org/pypi/
|
|
77
|
+
requests.get(f"https://pypi.org/pypi/{pkg}/json", timeout=5)
|
|
75
78
|
)
|
|
76
|
-
with timestamp_file() as f:
|
|
79
|
+
with timestamp_file(timestamp_file=tstamp_file) as f:
|
|
77
80
|
f.write(str(time.time()))
|
|
78
81
|
versions = []
|
|
79
82
|
for versionstring in res["releases"].keys():
|
|
@@ -84,27 +87,32 @@ def get_latest_final_version():
|
|
|
84
87
|
return versions[0]
|
|
85
88
|
|
|
86
89
|
|
|
87
|
-
def check_latest_version(
|
|
90
|
+
def check_latest_version(
|
|
91
|
+
pkg="cumulusci-plus",
|
|
92
|
+
installed_version=None,
|
|
93
|
+
tstamp_file="cumulus_timestamp",
|
|
94
|
+
message=f"""An update to CumulusCI is available. To install the update, run this command: {get_cci_upgrade_command()}""",
|
|
95
|
+
):
|
|
88
96
|
"""checks for the latest version of cumulusci from pypi, max once per hour"""
|
|
89
97
|
check = True
|
|
90
98
|
|
|
91
|
-
with timestamp_file() as f:
|
|
99
|
+
with timestamp_file(timestamp_file=tstamp_file) as f:
|
|
92
100
|
timestamp = float(f.read() or 0)
|
|
93
101
|
delta = time.time() - timestamp
|
|
94
102
|
check = delta > 3600
|
|
95
103
|
|
|
96
104
|
if check:
|
|
97
105
|
try:
|
|
98
|
-
latest_version = get_latest_final_version()
|
|
106
|
+
latest_version = get_latest_final_version(pkg, tstamp_file)
|
|
99
107
|
except requests.exceptions.RequestException as e:
|
|
100
108
|
click.echo("Error checking cci version:", err=True)
|
|
101
109
|
click.echo(str(e), err=True)
|
|
102
110
|
return
|
|
103
111
|
|
|
104
|
-
result = latest_version > get_installed_version()
|
|
112
|
+
result = latest_version > (installed_version or get_installed_version())
|
|
105
113
|
if result:
|
|
106
114
|
click.echo(
|
|
107
|
-
|
|
115
|
+
message,
|
|
108
116
|
err=True,
|
|
109
117
|
)
|
|
110
118
|
|
|
@@ -148,3 +156,14 @@ def warn_if_no_long_paths(console: Console = Console()) -> None:
|
|
|
148
156
|
"""Print a warning to the user if long paths are not enabled."""
|
|
149
157
|
if sys.platform.startswith("win") and not win32_long_paths_enabled():
|
|
150
158
|
console.print(WIN_LONG_PATH_WARNING)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
def check_latest_plugins():
|
|
162
|
+
plugins = load_plugins()
|
|
163
|
+
for plugin in plugins:
|
|
164
|
+
try:
|
|
165
|
+
plugin.check_latest_version()
|
|
166
|
+
except Exception as e:
|
|
167
|
+
click.echo(
|
|
168
|
+
f"Error checking latest version for plugin {plugin.name}: {e}", err=True
|
|
169
|
+
)
|
|
@@ -185,7 +185,7 @@ class BaseProjectConfig(BaseTaskFlowConfig, ProjectConfigPropertiesMixin):
|
|
|
185
185
|
self.config_additional_yaml.update(additional_yaml_config)
|
|
186
186
|
|
|
187
187
|
# Loading plugins as classes are loaded and available.
|
|
188
|
-
plugins = load_plugins(
|
|
188
|
+
plugins = load_plugins()
|
|
189
189
|
|
|
190
190
|
# Load the plugin yaml config file if it exists
|
|
191
191
|
for plugin in plugins:
|
cumulusci/plugins/plugin_base.py
CHANGED
|
@@ -15,7 +15,7 @@ class PluginBase(ABC):
|
|
|
15
15
|
plugin_project_config: Optional[dict] = None
|
|
16
16
|
|
|
17
17
|
def __init__(self, **kwargs) -> None:
|
|
18
|
-
self.logger = kwargs.get("logger", logging.getLogger(
|
|
18
|
+
self.logger = kwargs.get("logger", logging.getLogger(__name__))
|
|
19
19
|
self.path = inspect.getfile(self.__class__)
|
|
20
20
|
self._load_config()
|
|
21
21
|
|
|
@@ -91,3 +91,8 @@ class PluginBase(ABC):
|
|
|
91
91
|
def _initialize(self) -> None:
|
|
92
92
|
"""Override this method to add custom initialization logic."""
|
|
93
93
|
pass
|
|
94
|
+
|
|
95
|
+
def check_latest_version(self):
|
|
96
|
+
"""Override this method to check for the latest version of the plugin."""
|
|
97
|
+
# Implement logic to check for the latest version if needed
|
|
98
|
+
pass
|
|
@@ -5,20 +5,22 @@ from typing import Dict, List, Optional, Type
|
|
|
5
5
|
|
|
6
6
|
from cumulusci.plugins.plugin_base import PluginBase
|
|
7
7
|
|
|
8
|
+
logger: logging.Logger = logging.getLogger(__name__)
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
|
|
11
|
+
def get_plugin_manager() -> "PluginManager":
|
|
10
12
|
"""Get the plugin manager instance."""
|
|
11
|
-
return PluginManager(
|
|
13
|
+
return PluginManager()
|
|
12
14
|
|
|
13
15
|
|
|
14
16
|
@lru_cache(maxsize=50)
|
|
15
|
-
def load_plugins(
|
|
17
|
+
def load_plugins() -> List[PluginBase]:
|
|
16
18
|
"""Load all available plugins and return them as a list."""
|
|
17
|
-
manager = get_plugin_manager(
|
|
19
|
+
manager = get_plugin_manager()
|
|
18
20
|
plugins = []
|
|
19
21
|
for name, plugin_class in manager._plugins.items():
|
|
20
22
|
try:
|
|
21
|
-
plugin = plugin_class(
|
|
23
|
+
plugin = plugin_class()
|
|
22
24
|
plugin.initialize()
|
|
23
25
|
plugins.append(plugin)
|
|
24
26
|
except Exception as e:
|
|
@@ -29,9 +31,9 @@ def load_plugins(logger: logging.Logger) -> List[PluginBase]:
|
|
|
29
31
|
class PluginManager:
|
|
30
32
|
"""Manages the loading and access of CumulusCI plugins."""
|
|
31
33
|
|
|
32
|
-
def __init__(self
|
|
34
|
+
def __init__(self) -> None:
|
|
33
35
|
self._plugins: Dict[str, Type[PluginBase]] = {}
|
|
34
|
-
self.logger =
|
|
36
|
+
self.logger = logging.getLogger(__name__)
|
|
35
37
|
self._load_plugins()
|
|
36
38
|
|
|
37
39
|
def _load_plugins(self) -> None:
|
|
@@ -183,13 +183,8 @@ class Plugin(CCIDictModel):
|
|
|
183
183
|
|
|
184
184
|
@root_validator()
|
|
185
185
|
def _check_name_version(cls, values):
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
# If one is defined, both should be defined
|
|
190
|
-
if (has_name and not has_version) or (has_version and not has_name):
|
|
191
|
-
raise ValueError("Plugin Name and Version must be defined.")
|
|
192
|
-
|
|
186
|
+
if values.get("name") is None:
|
|
187
|
+
raise ValueError("Plugin Name must be defined.")
|
|
193
188
|
return values
|
|
194
189
|
|
|
195
190
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cumulusci-plus
|
|
3
|
-
Version: 5.0.
|
|
3
|
+
Version: 5.0.4
|
|
4
4
|
Summary: Build and release tools for Salesforce developers
|
|
5
5
|
Project-URL: Homepage, https://github.com/SFDO-Tooling/CumulusCI
|
|
6
6
|
Project-URL: Changelog, https://cumulusci.readthedocs.io/en/stable/history.html
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
cumulusci/__about__.py,sha256=
|
|
2
|
-
cumulusci/__init__.py,sha256=
|
|
1
|
+
cumulusci/__about__.py,sha256=3nM3sU0hL2BMW8RKPuRUBMY441Ry8LtO9y1PnsRlqfA,22
|
|
2
|
+
cumulusci/__init__.py,sha256=jdanFQ_i8vbdO7Eltsf4pOfvV4mwa_Osyc4gxWKJ8ng,764
|
|
3
3
|
cumulusci/__main__.py,sha256=kgRH-n5AJrH_daCK_EJwH7azAUxdXEmpi-r-dPGMR6Y,43
|
|
4
4
|
cumulusci/conftest.py,sha256=AIL98BDwNAQtdo8YFmLKwav0tmrQ5dpbw1cX2FyGouQ,5108
|
|
5
5
|
cumulusci/cumulusci.yml,sha256=FE1Dm7EhcMXY-XtLljbcbRyo_E0tvspaxqh8Nsiup3w,72365
|
|
6
6
|
cumulusci/cli/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
-
cumulusci/cli/cci.py,sha256=
|
|
7
|
+
cumulusci/cli/cci.py,sha256=M6GSKqY1GNIPwbkRBUROpaw6TVHBQqxwlzU_0D6F2X8,8535
|
|
8
8
|
cumulusci/cli/error.py,sha256=znj0YN8D2Grozm1u7mZAsJlmmdGebbuy0c1ofQluL4Q,4410
|
|
9
9
|
cumulusci/cli/flow.py,sha256=rN_9WL2Z6dcx-oRngChIgei3E5Qmg3XVzk5ND1o0i3s,6171
|
|
10
10
|
cumulusci/cli/logger.py,sha256=bpzSD0Bm0BAwdNbVR6yZXMREh2vm7jOytZevEaNoVR4,2267
|
|
@@ -12,13 +12,13 @@ cumulusci/cli/org.py,sha256=7WTZKkIRomVBIRxnvd-JRDAr9TANiW1SU4lYz6ZETU4,23383
|
|
|
12
12
|
cumulusci/cli/plan.py,sha256=hfVCgF2et86N_RNrrFt6cPiTUl-tYUahwZch3tXZDkY,5285
|
|
13
13
|
cumulusci/cli/project.py,sha256=GKFTNgvB_xj5yIk2Wwj3gwAN3-eXCZTk6PhwLYOH6cI,13312
|
|
14
14
|
cumulusci/cli/robot.py,sha256=hGfa3UQkwxAyuY0MlV6KzUqhwwJCvm-BPo742cTOKIQ,3847
|
|
15
|
-
cumulusci/cli/runtime.py,sha256=
|
|
15
|
+
cumulusci/cli/runtime.py,sha256=PFBy-idQy6WsUijiU61hd4-jL12UH_PRGHATJxsNacU,6991
|
|
16
16
|
cumulusci/cli/service.py,sha256=Pv2wnCFUHBhNeXY3-m_ct8KGul21UyFt3bScxWUofME,19803
|
|
17
17
|
cumulusci/cli/task.py,sha256=xm8lo0_LMMpcsUDv1Gj_HpW1phllyEW9IRm2lQSh5wg,10077
|
|
18
18
|
cumulusci/cli/ui.py,sha256=Ld-2S6Kr204SBput-1pNAVlYglzcvbV5nVA_rGXlAo8,7346
|
|
19
|
-
cumulusci/cli/utils.py,sha256=
|
|
19
|
+
cumulusci/cli/utils.py,sha256=RZH46cGm47VVao10E7v-MPLEEs8_6GaH5zlDMP3Avlg,5517
|
|
20
20
|
cumulusci/cli/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
21
|
-
cumulusci/cli/tests/test_cci.py,sha256=
|
|
21
|
+
cumulusci/cli/tests/test_cci.py,sha256=wtzuXggLGrbMWjMQMVkdqXnYT_rqAr68xWCjTjbhH4w,18142
|
|
22
22
|
cumulusci/cli/tests/test_error.py,sha256=zU2ccfGOivcVMpCManam18uyhlzT-HFb9xuMljU4few,6629
|
|
23
23
|
cumulusci/cli/tests/test_flow.py,sha256=CIkZWvai5H4EOs35epMKWmxzDfauIEqL6BUwC8q3LPU,8535
|
|
24
24
|
cumulusci/cli/tests/test_logger.py,sha256=-XBwSmtuelpx5sax0_E2xi4F9m_UsRkt2gn1o9ub6h8,834
|
|
@@ -55,7 +55,7 @@ cumulusci/core/config/base_task_flow_config.py,sha256=MKcvTT6fxqV-84l1ToxtXRlwbs
|
|
|
55
55
|
cumulusci/core/config/marketing_cloud_service_config.py,sha256=wFiOx8WlOFotXHX9S20mC24hlZ0xe8OwsQZadtMkkQQ,3017
|
|
56
56
|
cumulusci/core/config/oauth2_service_config.py,sha256=3gLoR38l-0zYgxtsQ5w7qUwWdrFkTF3R5EnbDmLJer8,653
|
|
57
57
|
cumulusci/core/config/org_config.py,sha256=PpQwQ0NJCxaV8wq36_cH1BeqxisY_QOfxfQViRelCBk,26053
|
|
58
|
-
cumulusci/core/config/project_config.py,sha256=
|
|
58
|
+
cumulusci/core/config/project_config.py,sha256=MLABmyfq65LkYtWVH7jLqMsK0pcs01WxLQruoTQB2iI,27386
|
|
59
59
|
cumulusci/core/config/scratch_org_config.py,sha256=qM_DCep064l9rFlxfU84l-64vtpZ4KmFn4seVXBY5XQ,8762
|
|
60
60
|
cumulusci/core/config/sfdx_org_config.py,sha256=EsuiNVjv1v9EbwexIIfvvsNtxbU43QpsArS-xSlOGfI,8069
|
|
61
61
|
cumulusci/core/config/universal_config.py,sha256=9WmsgryTmzIfGNkOx-ky7iGHO4VdoFIWTJM8Z10OJFE,2649
|
|
@@ -137,8 +137,8 @@ cumulusci/oauth/tests/test_salesforce.py,sha256=2st3l56r0y3NzOTimKh72cS8CBc4e17w
|
|
|
137
137
|
cumulusci/oauth/tests/cassettes/test_get_device_code.yaml,sha256=MceEgWYihI_H8jOPIQ5JS1diQwFQyb4A5ThNO6wCZt4,797
|
|
138
138
|
cumulusci/oauth/tests/cassettes/test_get_device_oauth_token.yaml,sha256=_hPXaXb4eGSCNVywPaFEkM5ccU-LL1gCt736ul80Jko,2955
|
|
139
139
|
cumulusci/plugins/__init__.py,sha256=YLUpB_4AnW3dpyR53uaRbuLhpcV8wGYbfJGzBucFMPg,80
|
|
140
|
-
cumulusci/plugins/plugin_base.py,sha256=
|
|
141
|
-
cumulusci/plugins/plugin_loader.py,sha256=
|
|
140
|
+
cumulusci/plugins/plugin_base.py,sha256=C12ssTQQJ9wH5T8tOAWZ2CV3P3lDZaDhL5Z9GAxU2cw,3421
|
|
141
|
+
cumulusci/plugins/plugin_loader.py,sha256=G82Wa8s3HabOzmmb-m7lm9h2f3PkGvEHzMuOd-yXWyk,1996
|
|
142
142
|
cumulusci/robotframework/CumulusCI.py,sha256=u76Dx2I3jBgBFqeL1QrwL9v1zwVOSephru6pe8b-TP0,13717
|
|
143
143
|
cumulusci/robotframework/CumulusCI.robot,sha256=e15VUY7CwzjBgCuIep5a-bPmsqtDeraS54sr3U-3haI,122
|
|
144
144
|
cumulusci/robotframework/Performance.py,sha256=dlZixAJMvCrsBtXPaYrIql_MWwBzBZi0KgH4D9qEGy0,6341
|
|
@@ -711,7 +711,7 @@ cumulusci/utils/xml/robot_xml.py,sha256=V9daywDdxBMDUYvMchWaPx-rj9kCXYskua1hvG_t
|
|
|
711
711
|
cumulusci/utils/xml/salesforce_encoding.py,sha256=ahPJWYfq3NMW8oSjsrzzQnAqghL-nQBWn-lSXuGjhIc,3071
|
|
712
712
|
cumulusci/utils/xml/test/test_metadata_tree.py,sha256=4jzKqYUEVzK6H8iCWMTD2v2hRssz2OeLspQO9osqm2E,8517
|
|
713
713
|
cumulusci/utils/xml/test/test_salesforce_encoding.py,sha256=DN0z5sM6Lk1U2hD7nYt7eYK1BjJy3-d5OdHk4HsPo6Y,6309
|
|
714
|
-
cumulusci/utils/yaml/cumulusci_yml.py,sha256=
|
|
714
|
+
cumulusci/utils/yaml/cumulusci_yml.py,sha256=cWk2o7UzyX4JsDQIAEprglKqNl-iC78_QEQA4yjjJgY,11279
|
|
715
715
|
cumulusci/utils/yaml/model_parser.py,sha256=aTnlWwfMpDOGnlVKLvPAl5oLH0FReVeqDM-EUA4s7k8,5057
|
|
716
716
|
cumulusci/utils/yaml/safer_loader.py,sha256=O7hhI2DqVA0GV4oY4rlB084QCc_eXFg2HTNHlfGVOcQ,2388
|
|
717
717
|
cumulusci/utils/yaml/tests/bad_cci.yml,sha256=Idj6subt7pNZk8A1Vt3bs_lM99Ash5ZVgOho1drMTXQ,17
|
|
@@ -736,9 +736,9 @@ cumulusci/vcs/tests/dummy_service.py,sha256=RltOUpMIhSDNrfxk0LhLqlH4ppC0sK6NC2cO
|
|
|
736
736
|
cumulusci/vcs/tests/test_vcs_base.py,sha256=9mp6uZ3lTxY4onjUNCucp9N9aB3UylKS7_2Zu_hdAZw,24331
|
|
737
737
|
cumulusci/vcs/tests/test_vcs_bootstrap.py,sha256=N0NA48-rGNIIjY3Z7PtVnNwHObSlEGDk2K55TQGI8g4,27954
|
|
738
738
|
cumulusci/vcs/utils/__init__.py,sha256=py4fEcHM7Vd0M0XWznOlywxaeCtG3nEVGmELmEKVGU8,869
|
|
739
|
-
cumulusci_plus-5.0.
|
|
740
|
-
cumulusci_plus-5.0.
|
|
741
|
-
cumulusci_plus-5.0.
|
|
742
|
-
cumulusci_plus-5.0.
|
|
743
|
-
cumulusci_plus-5.0.
|
|
744
|
-
cumulusci_plus-5.0.
|
|
739
|
+
cumulusci_plus-5.0.4.dist-info/METADATA,sha256=XVSxtsQYYxC38R5eHAjvOYaE5JuBK2n3X3UcD-Lw2_k,6134
|
|
740
|
+
cumulusci_plus-5.0.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
741
|
+
cumulusci_plus-5.0.4.dist-info/entry_points.txt,sha256=nTtu04b9iLXhzADcTrb5PwmdXE6e2MTUAMh9OK6Z2pg,80
|
|
742
|
+
cumulusci_plus-5.0.4.dist-info/licenses/AUTHORS.rst,sha256=PvewjKImdKPhhJ6xR2EEZ4T7GbpY2ZeAeyWm2aLtiMQ,676
|
|
743
|
+
cumulusci_plus-5.0.4.dist-info/licenses/LICENSE,sha256=NFsF_s7RVXk2dU6tmRAN8wF45pnD98VZ5IwqOsyBcaU,1499
|
|
744
|
+
cumulusci_plus-5.0.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|