The Recipe file does all of the work setting up the project, but it does most of this by copying and expanding directories which exist in the template root directory.
One key command that you are likely to use is copy, which copies a directory and all its subdirectories from the template root to the project. The command instantiate does the same job as copy, but it expands any FreeMarker tags within the files. The final command is merge, which as you can guess merges the content of a source file in the template root with a project file.
The Recipe file starts out by loading compatibility libraries if they are needed:
When this file is processed it is merged with any existing manifest file in such a way that only the new lines are added. What this means is that when the same template is used to create a new activity within an existing project only the new definition of the activity is added to the existing manifest.
This ends the recipe file and the entire template.
It would be wise not to spend too much time and effort on hand crafted templates as Android Studio is still changing, but you can see that simple templates are easy enough. If you study the documentation for FreeMarker and use the existing templates as examples, you should be able to cope until there is full documentation.
The template presented here can be downloaded from the CodeBin. Note you have to register with I Programmer to access this.
The QuickSort is the most elegant of algorithms and every programmer should study it. It is not only elegant, it is subtle and this often means it is incorrectly implemented and incorrectly explained. [ ... ]