As a template author, I want to define directory transformation rules in the manifest so that source directories are renamed/moved based on user inputs (e.g., move com/example/ to match the user's package path).
Implementing only rename and delete transforms. The move transform is redundant since path variables already handle directory restructuring (e.g., src/main/java/$packagePath/App.java).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Part of #12
User Story
As a template author, I want to define directory transformation rules in the manifest so that source directories are renamed/moved based on user inputs (e.g., move
com/example/to match the user's package path).Design
Transforms Section
Add
transformssection to template manifest:Transform Types
movefromtotopathrenamepattern, replacing "Template" with valuedeleteExecution Order
Path Resolution
from/topaths are relative to output directory${packagePath}**/*.javaFiles to Create/Modify
TemplateManifest.javaList<Transform> transformsfieldTransform.javaTransformExecutor.javaTemplateEngine.javaImplementation Tasks
Transformrecord withtype,from,to,pattern,replacefieldstransformsfield toTemplateManifestTransformExecutorclassmovetransform (directory rename with merge)renametransform (file pattern matching)deletetransform (cleanup unwanted files)Acceptance Criteria
movetransforms relocate directories correctlyrenametransforms update file names matching patternImplementation Approach
Simplified Scope
Implementing only
renameanddeletetransforms. Themovetransform is redundant since path variables already handle directory restructuring (e.g.,src/main/java/$packagePath/App.java).Manifest Schema
Implementation
Transform.javarecord withtype,pattern,replacementfieldsTransformExecutor.javato execute transforms after renderingtransformsfield toTemplateManifestandTemplatesHub.TemplateEntryTransform Types
renamedeleteFiles to Create/Modify
Transform.java- NEWTransformExecutor.java- NEWTransformExecutorTest.java- NEWTemplateManifest.java- Add transforms fieldTemplatesHub.java- Add transforms to TemplateEntryTemplateEngine.java- Integrate TransformExecutorCompleted
Implemented directory transforms with simplified scope (rename + delete only).
Changes
Transform.java- Record with type, pattern, replacement fieldsTransformExecutor.java- Executes rename/delete using glob patternsTemplateManifest- AddedtransformsfieldTemplatesHub.TemplateEntry- AddedtransformsfieldInitCommand.java- Integrated transform execution after renderingTests
TransformExecutorTest.javaSchema