GitHub pages
technicalguru / template-machine Goto Github PK
View Code? Open in Web Editor NEWGenerate files based on directory-structured templates (supporting i18n and defaults with overriding)
License: Other
Generate files based on directory-structured templates (supporting i18n and defaults with overriding)
License: Other
The replacement of underscores seems to be disturbing in process
Add a scheme to have different or adjusted localization (languages and language codes) per directory.
Document template configuration
Make template and localization directories configurable. Defaults would be:
templateDir=__templates
localizationDir=__localization
Tests revealed that written files cannot be closed. This was because the FileWriter was not closed after generation.
Document how to call the program on command line
Document how to use the project in Java code
Usage, license, contribution etc
The current design makes it difficult to enhance the configuration for all or a few sub-directories. A new context will be introduced in favour of the config objects that holds all required information for a specific generator run.
Define a default configuration file and make it available via command line
Make the position of the language directory in output configurable, e.g.
outputScheme=<definition>
where <definition>
could be:
n
- the n-th position in output path-n
- the n-th last position in output pathDefault would be -1
or class templating.scheme.DefaultOutputScheme
Document the configuration of languages
JAVA_HOME
if presentDocument the localization hierarchy
build 24-Dec-2020 10:06:29 [ERROR] MavenReportException: Error while generating Javadoc:
build 24-Dec-2020 10:06:29 Exit code: 1 - javadoc: error - The code being documented uses modules but the packages defined in https://docs.oracle.com/javase/9/docs/api/ are in the unnamed module.
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/Context.java:315: error: exception not thrown: java.io.IOException
build 24-Dec-2020 10:06:29 * @throws IOException - when the templates cannot be read
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/Generator.java:42: warning: no @param for context
build 24-Dec-2020 10:06:29 public Generator(Context context) {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/Generator.java:103: warning: no @throws for java.io.IOException
build 24-Dec-2020 10:06:29 protected void generateFile(File templateFile, String language, File outFile) throws IOException, TemplateException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/Generator.java:103: warning: no @throws for freemarker.template.TemplateException
build 24-Dec-2020 10:06:29 protected void generateFile(File templateFile, String language, File outFile) throws IOException, TemplateException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:45: warning: no @param for rootContext
build 24-Dec-2020 10:06:29 public TemplateMachine(Context rootContext) {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:52: warning: no @return
build 24-Dec-2020 10:06:29 public GenerationInfo generate() {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:67: error: @param name not found
build 24-Dec-2020 10:06:29 * @param parent - the parent generator to allow overriding templates and localizations
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:68: error: @param name not found
build 24-Dec-2020 10:06:29 * @param sourceDir - the directory to process
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:69: error: @param name not found
build 24-Dec-2020 10:06:29 * @param outputDir - the output directory
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:71: warning: no @param for context
build 24-Dec-2020 10:06:29 protected GenerationInfo generateRecursively(Context context) {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:71: warning: no @return
build 24-Dec-2020 10:06:29 protected GenerationInfo generateRecursively(Context context) {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:23: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param message
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:31: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param cause
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:39: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param message
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:40: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param cause
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:48: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param message
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:49: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param cause
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:50: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param enableSuppression
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:51: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param writableStackTrace
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/util/FileReadUtils.java:25: warning: no @throws for java.io.IOException
build 24-Dec-2020 10:06:29 public static Reader getReader(File file, String encoding) throws IOException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/util/FileReadUtils.java:35: warning: no @throws for java.io.IOException
build 24-Dec-2020 10:06:29 public static Reader getReader(File file, Charset encoding) throws IOException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/util/FileReadUtils.java:53: warning: no description for @throws
build 24-Dec-2020 10:06:29 * @throws IOException
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/util/UnicodeInputStream.java:77: warning: no @throws for java.io.IOException
build 24-Dec-2020 10:06:29 protected void init() throws IOException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29
build 24-Dec-2020 10:06:29 Command line was: /usr/local/jdk-9.0.4/../bin/javadoc @options @packages
build 24-Dec-2020 10:06:29
build 24-Dec-2020 10:06:29 Refer to the generated Javadoc files in '/var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/target/apidocs' dir.
build 24-Dec-2020 10:06:29
build 24-Dec-2020 10:06:29 org.apache.maven.reporting.MavenReportException:
build 24-Dec-2020 10:06:29 Exit code: 1 - javadoc: error - The code being documented uses modules but the packages defined in https://docs.oracle.com/javase/9/docs/api/ are in the unnamed module.
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/Context.java:315: error: exception not thrown: java.io.IOException
build 24-Dec-2020 10:06:29 * @throws IOException - when the templates cannot be read
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/Generator.java:42: warning: no @param for context
build 24-Dec-2020 10:06:29 public Generator(Context context) {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/Generator.java:103: warning: no @throws for java.io.IOException
build 24-Dec-2020 10:06:29 protected void generateFile(File templateFile, String language, File outFile) throws IOException, TemplateException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/Generator.java:103: warning: no @throws for freemarker.template.TemplateException
build 24-Dec-2020 10:06:29 protected void generateFile(File templateFile, String language, File outFile) throws IOException, TemplateException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:45: warning: no @param for rootContext
build 24-Dec-2020 10:06:29 public TemplateMachine(Context rootContext) {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:52: warning: no @return
build 24-Dec-2020 10:06:29 public GenerationInfo generate() {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:67: error: @param name not found
build 24-Dec-2020 10:06:29 * @param parent - the parent generator to allow overriding templates and localizations
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:68: error: @param name not found
build 24-Dec-2020 10:06:29 * @param sourceDir - the directory to process
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:69: error: @param name not found
build 24-Dec-2020 10:06:29 * @param outputDir - the output directory
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:71: warning: no @param for context
build 24-Dec-2020 10:06:29 protected GenerationInfo generateRecursively(Context context) {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplateMachine.java:71: warning: no @return
build 24-Dec-2020 10:06:29 protected GenerationInfo generateRecursively(Context context) {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:23: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param message
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:31: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param cause
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:39: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param message
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:40: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param cause
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:48: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param message
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:49: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param cause
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:50: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param enableSuppression
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/TemplatingException.java:51: warning: no description for @param
build 24-Dec-2020 10:06:29 * @param writableStackTrace
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/util/FileReadUtils.java:25: warning: no @throws for java.io.IOException
build 24-Dec-2020 10:06:29 public static Reader getReader(File file, String encoding) throws IOException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/util/FileReadUtils.java:35: warning: no @throws for java.io.IOException
build 24-Dec-2020 10:06:29 public static Reader getReader(File file, Charset encoding) throws IOException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/util/FileReadUtils.java:53: warning: no description for @throws
build 24-Dec-2020 10:06:29 * @throws IOException
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29 /var/atlassian/application-data/bamboo/xml-data/build-dir/131073/OSS-TM-INSTALL/src/main/java/templating/util/UnicodeInputStream.java:77: warning: no @throws for java.io.IOException
build 24-Dec-2020 10:06:29 protected void init() throws IOException {
build 24-Dec-2020 10:06:29 ^
build 24-Dec-2020 10:06:29
The languages are currently pulled from localization directory. Allow a definition in configuration, e.g.
languages=en,de,fr,sp=es,other
which would create languages English, German, French by pulling respective files. Spanish will be defined in es.properties
file but duplicated to language sp
.
The keyword other would allow to auto-detect additional languages. The default setting (when setting is missing) is:
languages=auto
Document how templates are organized
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.