Skip to content

Commit 19a5b69

Browse files
committed
Deprecated develop option and rename to editable
1 parent 727907d commit 19a5b69

File tree

12 files changed

+113
-23
lines changed

12 files changed

+113
-23
lines changed

poetry/core/factory.py

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,29 @@ def create_dependency(
199199
"allow-prereleases", constraint.get("allows-prereleases", False)
200200
)
201201

202+
constraint_has_deprecated_develop = "develop" in constraint
203+
if "editable" in constraint:
204+
if constraint_has_deprecated_develop:
205+
raise RuntimeError(
206+
'The "{}" dependency specifies '
207+
'both the "editable" property and the deprecated "develop" property. '
208+
'Please remove "develop" and resolve value conflicts!'.format(
209+
name
210+
)
211+
)
212+
editable = constraint.get("editable", False)
213+
elif constraint_has_deprecated_develop:
214+
message = (
215+
'The "{}" dependency specifies '
216+
'the "develop" property, which is deprecated. '
217+
'Use "editable" instead.'.format(name)
218+
)
219+
warn(message, DeprecationWarning)
220+
logger.warning(message)
221+
editable = constraint.get("develop", False)
222+
else:
223+
editable = False
224+
202225
if "git" in constraint:
203226
# VCS dependency
204227
dependency = VCSDependency(
@@ -210,7 +233,7 @@ def create_dependency(
210233
rev=constraint.get("rev", None),
211234
category=category,
212235
optional=optional,
213-
develop=constraint.get("develop", False),
236+
editable=editable,
214237
extras=constraint.get("extras", []),
215238
)
216239
elif "file" in constraint:
@@ -247,7 +270,7 @@ def create_dependency(
247270
category=category,
248271
optional=optional,
249272
base=root_dir,
250-
develop=constraint.get("develop", False),
273+
editable=editable,
251274
extras=constraint.get("extras", []),
252275
)
253276
elif "url" in constraint:

poetry/core/json/schemas/poetry-schema.json

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,9 +359,14 @@
359359
"type": "string"
360360
}
361361
},
362+
"editable": {
363+
"type": "boolean",
364+
"description": "Whether to install the dependency in editable mode."
365+
},
362366
"develop": {
363367
"type": "boolean",
364-
"description": "Whether to install the dependency in development mode."
368+
"description": "Whether to install the dependency in editable mode.",
369+
"deprecated": true
365370
}
366371
}
367372
},
@@ -435,9 +440,14 @@
435440
"type": "string"
436441
}
437442
},
443+
"editable": {
444+
"type": "boolean",
445+
"description": "Whether to install the dependency in editable mode."
446+
},
438447
"develop": {
439448
"type": "boolean",
440-
"description": "Whether to install the dependency in development mode."
449+
"description": "Whether to install the dependency in editable mode.",
450+
"deprecated": true
441451
}
442452
}
443453
},

poetry/core/packages/directory_dependency.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def __init__(
1616
category="main", # type: str
1717
optional=False, # type: bool
1818
base=None, # type: Path
19-
develop=False, # type: bool
19+
editable=False, # type: bool
2020
extras=None, # type: Union[List[str], Set[str]]
2121
):
2222
self._path = path
@@ -29,7 +29,7 @@ def __init__(
2929
except FileNotFoundError:
3030
raise ValueError("Directory {} does not exist".format(self._path))
3131

32-
self._develop = develop
32+
self._editable = editable
3333
self._supports_poetry = False
3434

3535
if not self._full_path.exists():
@@ -75,8 +75,8 @@ def base(self):
7575
return self._base
7676

7777
@property
78-
def develop(self):
79-
return self._develop
78+
def editable(self):
79+
return self._editable
8080

8181
def supports_poetry(self):
8282
return self._supports_poetry
@@ -91,7 +91,7 @@ def with_constraint(self, constraint):
9191
base=self.base,
9292
optional=self.is_optional(),
9393
category=self.category,
94-
develop=self._develop,
94+
editable=self._editable,
9595
extras=self._extras,
9696
)
9797

poetry/core/packages/package.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ def __init__(
9696

9797
self.root_dir = None
9898

99-
self.develop = True
99+
self.editable = True
100100

101101
@property
102102
def name(self):
@@ -319,7 +319,7 @@ def to_dependency(self):
319319
category=self.category,
320320
optional=self.optional,
321321
base=self.root_dir,
322-
develop=self.develop,
322+
editable=self.editable,
323323
extras=self.features,
324324
)
325325
elif self.source_type == "file":
@@ -348,7 +348,7 @@ def to_dependency(self):
348348
resolved_rev=self.source_resolved_reference,
349349
category=self.category,
350350
optional=self.optional,
351-
develop=self.develop,
351+
editable=self.editable,
352352
extras=self.features,
353353
)
354354
else:
@@ -405,7 +405,7 @@ def clone(self): # type: () -> "Package"
405405
clone.marker = self.marker
406406
clone.extras = self.extras
407407
clone.root_dir = self.root_dir
408-
clone.develop = self.develop
408+
clone.editable = self.editable
409409

410410
for dep in self.requires:
411411
clone.requires.append(dep)

poetry/core/packages/vcs_dependency.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def __init__(
2323
resolved_rev=None,
2424
category="main",
2525
optional=False,
26-
develop=False,
26+
editable=False,
2727
extras=None, # type: Union[List[str], Set[str]]
2828
):
2929
self._vcs = vcs
@@ -36,7 +36,7 @@ def __init__(
3636
self._branch = branch
3737
self._tag = tag
3838
self._rev = rev
39-
self._develop = develop
39+
self._editable = editable
4040

4141
super(VCSDependency, self).__init__(
4242
name,
@@ -71,9 +71,16 @@ def tag(self):
7171
def rev(self):
7272
return self._rev
7373

74+
@property
75+
def editable(self): # type: () -> bool
76+
return self._editable
77+
7478
@property
7579
def develop(self): # type: () -> bool
76-
return self._develop
80+
raise DeprecationWarning(
81+
"The `develop` key is deprecated, please use `editable` instead!"
82+
)
83+
return self.editable
7784

7885
@property
7986
def reference(self): # type: () -> str
@@ -127,7 +134,7 @@ def with_constraint(self, constraint):
127134
resolved_rev=self._source_resolved_reference,
128135
optional=self.is_optional(),
129136
category=self.category,
130-
develop=self._develop,
137+
editable=self._editable,
131138
extras=self._extras,
132139
)
133140

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[tool.poetry]
2+
name = "my-package"
3+
version = "1.2.3"
4+
description = ""
5+
authors = ["Awesome Hacker <awesome@hacker.io>"]
6+
7+
[tool.poetry.dependencies]
8+
pendulum = { git = "https://github.com/sdispater/pendulum.git", develop = false }
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[tool.poetry]
2+
name = "my-package"
3+
version = "1.2.3"
4+
description = ""
5+
authors = ["Awesome Hacker <awesome@hacker.io>"]
6+
7+
[tool.poetry.dependencies]
8+
pendulum = { git = "https://github.com/sdispater/pendulum.git", editable = false, develop = false }

tests/fixtures/project_with_invalid_dev_deps/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,4 @@ license = "MIT"
1010
[tool.poetry.extras]
1111

1212
[tool.poetry.dev-dependencies]
13-
mylib = { path = "../mylib", develop = true}
13+
mylib = { path = "../mylib", editable = false }

tests/fixtures/sample_project/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ classifiers = [
2525
python = "~2.7 || ^3.6"
2626
cleo = "^0.6"
2727
pendulum = { git = "https://github.com/sdispater/pendulum.git", branch = "2.0" }
28-
tomlkit = { git = "https://github.com/sdispater/tomlkit.git", rev = "3bff550", develop = false }
28+
tomlkit = { git = "https://github.com/sdispater/tomlkit.git", rev = "3bff550", editable = false }
2929
requests = { version = "^2.18", optional = true, extras=[ "security" ] }
3030
pathlib2 = { version = "^2.2", python = "~2.7" }
3131

tests/masonry/builders/fixtures/with_bad_path_dep/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ authors = ["Awesome Hacker <awesome@hacker.io>"]
66

77
[tool.poetry.dependencies]
88
python = "^3.6"
9-
bogus = { path = "../only/in/dev", develop = true }
9+
bogus = { path = "../only/in/dev", editable = true }

0 commit comments

Comments
 (0)