haraka 0.2.29__tar.gz → 0.2.30__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 (39) hide show
  1. {haraka-0.2.29 → haraka-0.2.30}/PKG-INFO +1 -1
  2. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/service/fileOps/purge.py +26 -8
  3. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/manifests/java-springboot.yml +4 -0
  4. {haraka-0.2.29 → haraka-0.2.30}/haraka.egg-info/PKG-INFO +1 -1
  5. {haraka-0.2.29 → haraka-0.2.30}/pyproject.toml +1 -1
  6. {haraka-0.2.29 → haraka-0.2.30}/MANIFEST.in +0 -0
  7. {haraka-0.2.29 → haraka-0.2.30}/haraka/__init__.py +0 -0
  8. {haraka-0.2.29 → haraka-0.2.30}/haraka/art/__init__.py +0 -0
  9. {haraka-0.2.29 → haraka-0.2.30}/haraka/art/ascii/__init__.py +0 -0
  10. {haraka-0.2.29 → haraka-0.2.30}/haraka/art/ascii/assets.py +0 -0
  11. {haraka-0.2.29 → haraka-0.2.30}/haraka/art/ascii/frame/__init__.py +0 -0
  12. {haraka-0.2.29 → haraka-0.2.30}/haraka/art/ascii/frame/border.py +0 -0
  13. {haraka-0.2.29 → haraka-0.2.30}/haraka/art/ascii/frame/framer.py +0 -0
  14. {haraka-0.2.29 → haraka-0.2.30}/haraka/art/ascii/frame/width_utils.py +0 -0
  15. {haraka-0.2.29 → haraka-0.2.30}/haraka/art/create.py +0 -0
  16. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/__init__.py +0 -0
  17. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/config/__init__.py +0 -0
  18. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/config/config.py +0 -0
  19. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/resources/__init__.py +0 -0
  20. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/resources/assets.py +0 -0
  21. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/runner.py +0 -0
  22. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/service/__init__.py +0 -0
  23. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/service/command.py +0 -0
  24. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/service/fileOps/__init__.py +0 -0
  25. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/service/fileOps/files.py +0 -0
  26. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/service/gitOps/__init__.py +0 -0
  27. {haraka-0.2.29 → haraka-0.2.30}/haraka/post_gen/service/gitOps/gitops.py +0 -0
  28. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/__init__.py +0 -0
  29. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/common/__init__.py +0 -0
  30. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/common/utils.py +0 -0
  31. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/logging/__init__.py +0 -0
  32. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/logging/log_util.py +0 -0
  33. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/manifests/go-grpc-gateway-buf.yml +0 -0
  34. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/manifests/go-grpc-protoc.yml +0 -0
  35. {haraka-0.2.29 → haraka-0.2.30}/haraka/utils/manifests/python-fastapi.yml +0 -0
  36. {haraka-0.2.29 → haraka-0.2.30}/haraka.egg-info/SOURCES.txt +0 -0
  37. {haraka-0.2.29 → haraka-0.2.30}/haraka.egg-info/dependency_links.txt +0 -0
  38. {haraka-0.2.29 → haraka-0.2.30}/haraka.egg-info/top_level.txt +0 -0
  39. {haraka-0.2.29 → haraka-0.2.30}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: haraka
3
- Version: 0.2.29
3
+ Version: 0.2.30
4
4
  Summary: Reusable post-generation helper for Cookiecutter micro-service templates
5
5
  Author-email: Will Burks <will@example.com>
6
6
  License: MIT
@@ -95,27 +95,36 @@ class ResourcePurger:
95
95
  else:
96
96
  self._log.debug(f"Found {len(all_paths)} paths under {root})")
97
97
 
98
- matches, non_matches, directories_skipped = [], [], []
98
+ matches, non_matched_files, directories_skipped, non_matched_dirs = [], [], [], []
99
99
  for path in all_paths:
100
100
  self._log.debug(f"\nScanning path: {path}")
101
101
  rel = path.relative_to(root).as_posix()
102
102
  self._log.debug(f"Relative path for inspection: {rel}")
103
-
104
103
  # Match file against the PathSpec
105
104
  if spec.match_file(rel):
106
105
  self._log.debug(f"✅ KEEP: Path matches keep patterns: {rel}")
107
106
  matches.append(path) # Collect paths to keep
108
- continue
107
+ else:
108
+ if path.is_dir():
109
+ if self._is_dir_protected(rel, spec):
110
+ self._log.debug(f"{"⏭️ SKIPPING DELETE: Protected ancestor found: %s", path}")
111
+ directories_skipped.append(rel)
112
+ else:
113
+ self._log.debug(f"{"❌ DELETE DIR: %s", rel}")
114
+ non_matched_dirs.append(rel)
115
+ else:
116
+ non_matched_files.append(rel)
117
+ self._f.remove_file(path)
118
+ self._log.debug(f"{"❌ DELETE FILE: %s", rel}")
119
+
120
+
109
121
 
110
122
  # Non-matching paths: collect and delete
111
123
  self._log.debug(f"❌ DELETE: Path does not match keep patterns: {rel}")
124
+
112
125
  if path.is_dir():
113
126
  directories_skipped.append(path)
114
127
  self._log.debug(f"⏭️ SKIPPING DELETE: Path is a directory: {path}")
115
- else:
116
- non_matches.append(path)
117
- self._f.remove_file(path)
118
- self._log.debug(f"Deleted file: {path}")
119
128
 
120
129
  # Print results cleanly for debugging/logging purposes
121
130
  self._log.info("\nMATCHED PATHS:")
@@ -125,6 +134,15 @@ class ResourcePurger:
125
134
 
126
135
  self._log.info("\nNOT MATCHED PATHS:")
127
136
  self._log.info("=" * 80)
128
- for non_match in non_matches:
137
+ for non_match in non_matched_files:
129
138
  self._log.info(f"❌ {non_match}")
130
139
 
140
+ @staticmethod
141
+ def _is_dir_protected(relative_path: str, spec: PathSpec) -> bool:
142
+ """
143
+ Walks from `path` up to `root`, and returns True if any ancestor
144
+ is matched by the spec.
145
+ """
146
+ if spec.match_file(relative_path):
147
+ return True
148
+ return False
@@ -2,12 +2,15 @@ variant: java-springboot
2
2
 
3
3
  keep:
4
4
  # ── application source ────────────────────────────
5
+ - src/
6
+ - src/main/
5
7
  - src/main/java/
6
8
  - src/main/java/**
7
9
  - src/main/resources/
8
10
  - src/main/resources/**
9
11
 
10
12
  # ── tests ─────────────────────────────────────────
13
+ - src/test/
11
14
  - src/test/java/
12
15
  - src/test/java/**
13
16
 
@@ -18,6 +21,7 @@ keep:
18
21
  - README.md
19
22
 
20
23
  # ── IDE / run configs ─────────────────────────────
24
+ - runConfigurations/
21
25
  - runConfigurations/SpringBoot/
22
26
  - runConfigurations/SpringBoot/**
23
27
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: haraka
3
- Version: 0.2.29
3
+ Version: 0.2.30
4
4
  Summary: Reusable post-generation helper for Cookiecutter micro-service templates
5
5
  Author-email: Will Burks <will@example.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "haraka"
7
- version = "0.2.29"
7
+ version = "0.2.30"
8
8
  description = "Reusable post-generation helper for Cookiecutter micro-service templates"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
File without changes
File without changes
File without changes
File without changes
File without changes