vortex-cli 8.0.0__tar.gz → 8.0.1__tar.gz

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.
Files changed (52) hide show
  1. {vortex_cli-8.0.0/vortex_cli.egg-info → vortex_cli-8.0.1}/PKG-INFO +3 -3
  2. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/README.md +2 -2
  3. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/pyproject.toml +1 -1
  4. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/cli.py +2 -3
  5. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/compile.py +2 -11
  6. {vortex_cli-8.0.0 → vortex_cli-8.0.1/vortex_cli.egg-info}/PKG-INFO +3 -3
  7. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/LICENSE +0 -0
  8. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/setup.cfg +0 -0
  9. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/__init__.py +0 -0
  10. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/__main__.py +0 -0
  11. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/colour.py +0 -0
  12. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/__init__.py +0 -0
  13. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/app.py +0 -0
  14. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/clean.py +0 -0
  15. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/clone.py +0 -0
  16. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/code.py +0 -0
  17. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/config.py +0 -0
  18. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/db.py +0 -0
  19. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/docs.py +0 -0
  20. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/execute.py +0 -0
  21. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/find.py +0 -0
  22. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/grep.py +0 -0
  23. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/keyword.py +0 -0
  24. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/libs.py +0 -0
  25. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/log.py +0 -0
  26. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/object_.py +0 -0
  27. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/status.py +0 -0
  28. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/use.py +0 -0
  29. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/commands/watch.py +0 -0
  30. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/constants.py +0 -0
  31. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/docs/Blackbook v2.md +0 -0
  32. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/docs/Blackbook.pdf +0 -0
  33. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/docs/index.html +0 -0
  34. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/docs/marked.min.js +0 -0
  35. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/lib/puakma-6.0.40.jar +0 -0
  36. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/libs.py +0 -0
  37. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/logging.py +0 -0
  38. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/main.py +0 -0
  39. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/models.py +0 -0
  40. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/output.py +0 -0
  41. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/registry.py +0 -0
  42. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/schedule.py +0 -0
  43. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/soap.py +0 -0
  44. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/spinner.py +0 -0
  45. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/util.py +0 -0
  46. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/webdesign.py +0 -0
  47. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex/workspace.py +0 -0
  48. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex_cli.egg-info/SOURCES.txt +0 -0
  49. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex_cli.egg-info/dependency_links.txt +0 -0
  50. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex_cli.egg-info/entry_points.txt +0 -0
  51. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex_cli.egg-info/requires.txt +0 -0
  52. {vortex_cli-8.0.0 → vortex_cli-8.0.1}/vortex_cli.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vortex_cli
3
- Version: 8.0.0
3
+ Version: 8.0.1
4
4
  Summary: Vortex CLI
5
5
  Author-email: Jordan Amos <jordan.amos@gmail.com>
6
6
  License: MIT License
@@ -567,8 +567,8 @@ The server runs compiled classes, not source. There are three ways to get a clas
567
567
  Tornado loads one class per design element, so nested classes never ship. `compile` treats
568
568
  a source as a **compile error** - exit 1, its classes named, nothing written to `zbin/` for
569
569
  it, never uploaded - when it produces `Outer$*.class` files (inner, anonymous or local
570
- classes) or uses lambdas or method references (its bytes reference
571
- `java/lang/invoke/LambdaMetafactory`). Use top-level SHARED_CODE classes instead. A `switch`
570
+ classes). Use top-level SHARED_CODE classes instead. Lambdas and method references are
571
+ fine - they compile into the class itself (`invokedynamic`), no `$` class. A `switch`
572
572
  over an enum is fine: ecj keeps it inside the class (javac would add a synthetic `Outer$1`).
573
573
  `watch` likewise refuses to upload a class compiled alongside `$` siblings.
574
574
 
@@ -523,8 +523,8 @@ The server runs compiled classes, not source. There are three ways to get a clas
523
523
  Tornado loads one class per design element, so nested classes never ship. `compile` treats
524
524
  a source as a **compile error** - exit 1, its classes named, nothing written to `zbin/` for
525
525
  it, never uploaded - when it produces `Outer$*.class` files (inner, anonymous or local
526
- classes) or uses lambdas or method references (its bytes reference
527
- `java/lang/invoke/LambdaMetafactory`). Use top-level SHARED_CODE classes instead. A `switch`
526
+ classes). Use top-level SHARED_CODE classes instead. Lambdas and method references are
527
+ fine - they compile into the class itself (`invokedynamic`), no `$` class. A `switch`
528
528
  over an enum is fine: ecj keeps it inside the class (javac would add a synthetic `Outer$1`).
529
529
  `watch` likewise refuses to upload a class compiled alongside `$` siblings.
530
530
 
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "vortex_cli"
8
- version = "8.0.0"
8
+ version = "8.0.1"
9
9
  description = "Vortex CLI"
10
10
  requires-python = ">=3.10"
11
11
  readme = { file = "README.md", content-type = "text/markdown" }
@@ -402,9 +402,8 @@ def add_compile_parser(
402
402
  "Compile a cloned application's Java design objects into zbin/ with "
403
403
  "ecj 3.46.0, run by the server's java_home against the server's own "
404
404
  "jars, for the server's java_environment_name (e.g. JavaSE-17). A "
405
- "source that produces nested classes (Outer$*.class) or uses lambdas "
406
- "or method references is a compile error: nothing is written to zbin/ "
407
- "for it and it is never uploaded."
405
+ "source that produces nested classes (Outer$*.class) is a compile "
406
+ "error: nothing is written to zbin/ for it and it is never uploaded."
408
407
  ),
409
408
  )
410
409
  compile_parser.add_argument(
@@ -11,8 +11,8 @@ unset, compile fails and names the setting.
11
11
  The server loads one class per design element, so a source is a compile
12
12
  ERROR - exit 1, its classes are named, nothing is written to zbin/ for it
13
13
  and it is never uploaded - when it produces nested classes (Outer$*.class:
14
- inner, anonymous or local classes) or uses lambdas / method references
15
- (its bytes reference java/lang/invoke/LambdaMetafactory). ecj keeps a
14
+ inner, anonymous or local classes). Lambdas and method references are
15
+ fine: they compile into the class itself (invokedynamic). ecj keeps a
16
16
  switch over an enum inside the class itself (javac adds a synthetic
17
17
  Outer$1), which is why ecj is used.
18
18
 
@@ -55,7 +55,6 @@ logger = logging.getLogger("vortex")
55
55
 
56
56
  # ecj reports each problem as '<n>. ERROR in <path> (at line <n>)'
57
57
  _ECJ_ERROR_RE = re.compile(r"^\s*\d+\.\s+ERROR in (.+?)(?:\s*\(at line \d+\))?\s*$")
58
- _LAMBDA_MARKER = b"java/lang/invoke/LambdaMetafactory"
59
58
  _RELEASE_RE = re.compile(r"(?:1\.)?(\d+)\s*$")
60
59
 
61
60
 
@@ -67,7 +66,6 @@ class CompiledSource(NamedTuple):
67
66
  class_file: Path | None
68
67
  nested: list[Path]
69
68
  has_errors: bool
70
- uses_lambdas: bool
71
69
 
72
70
  @property
73
71
  def name(self) -> str:
@@ -87,11 +85,6 @@ class CompiledSource(NamedTuple):
87
85
  "ship: the server loads one class per design element - use "
88
86
  "top-level SHARED_CODE classes)"
89
87
  )
90
- if self.uses_lambdas:
91
- return (
92
- "lambdas or method references (java/lang/invoke/LambdaMetafactory) "
93
- "- banned in design-element Java"
94
- )
95
88
  return None
96
89
 
97
90
 
@@ -209,14 +202,12 @@ def _collect(out_dir: Path, source: Path, has_errors: bool) -> CompiledSource:
209
202
  class_dir = out_dir / package_dir if package_dir else out_dir
210
203
  class_file = class_dir / f"{source.stem}.class"
211
204
  nested = sorted(class_dir.glob(f"{source.stem}$*.class"))
212
- produced = [f for f in (class_file, *nested) if f.is_file()]
213
205
  return CompiledSource(
214
206
  source,
215
207
  package_dir,
216
208
  class_file if class_file.is_file() else None,
217
209
  nested,
218
210
  has_errors,
219
- any(_LAMBDA_MARKER in f.read_bytes() for f in produced),
220
211
  )
221
212
 
222
213
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: vortex_cli
3
- Version: 8.0.0
3
+ Version: 8.0.1
4
4
  Summary: Vortex CLI
5
5
  Author-email: Jordan Amos <jordan.amos@gmail.com>
6
6
  License: MIT License
@@ -567,8 +567,8 @@ The server runs compiled classes, not source. There are three ways to get a clas
567
567
  Tornado loads one class per design element, so nested classes never ship. `compile` treats
568
568
  a source as a **compile error** - exit 1, its classes named, nothing written to `zbin/` for
569
569
  it, never uploaded - when it produces `Outer$*.class` files (inner, anonymous or local
570
- classes) or uses lambdas or method references (its bytes reference
571
- `java/lang/invoke/LambdaMetafactory`). Use top-level SHARED_CODE classes instead. A `switch`
570
+ classes). Use top-level SHARED_CODE classes instead. Lambdas and method references are
571
+ fine - they compile into the class itself (`invokedynamic`), no `$` class. A `switch`
572
572
  over an enum is fine: ecj keeps it inside the class (javac would add a synthetic `Outer$1`).
573
573
  `watch` likewise refuses to upload a class compiled alongside `$` siblings.
574
574
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes