You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by dd...@apache.org on 2017/04/17 11:28:14 UTC
[2/2] incubator-freemarker git commit: README to markdown from
2.3-gae branch
README to markdown from 2.3-gae branch
Project: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/commit/143ac873
Tree: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/tree/143ac873
Diff: http://git-wip-us.apache.org/repos/asf/incubator-freemarker/diff/143ac873
Branch: refs/heads/3
Commit: 143ac8732434e2780bd26adf524ced7a5362c02d
Parents: e434fb9
Author: ddekany <dd...@apache.org>
Authored: Mon Apr 17 13:27:55 2017 +0200
Committer: ddekany <dd...@apache.org>
Committed: Mon Apr 17 13:27:55 2017 +0200
----------------------------------------------------------------------
README | 220 -------------------------------------------------------
README.md | 226 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 226 insertions(+), 220 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/143ac873/README
----------------------------------------------------------------------
diff --git a/README b/README
deleted file mode 100644
index 18ab3bf..0000000
--- a/README
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-===============================================================================
-
- Apache FreeMarker {version}
-
- For the latest version or to report bugs visit:
-
- http://freemarker.org/
-
-===============================================================================
-
- DISCLAIMER
-
- Apache FreeMarker is an effort undergoing incubation at The Apache
- Software Foundation (ASF). Incubation is required of all newly accepted
- projects until a further review indicates that the infrastructure,
- communications, and decision making process have stabilized in a manner
- consistent with other successful ASF projects. While incubation status is
- not necessarily a reflection of the completeness or stability of the
- code, it does indicate that the project has yet to be fully endorsed by
- the ASF.
-
-
-What is Apache FreeMarker?
---------------------------
-
-FreeMarker is a "template engine"; a generic tool to generate text
-output (anything from HTML to auto generated source code) based on
-templates. It's a Java package, a class library for Java programmers.
-It's not an application for end-users in itself, but something that
-programmers can embed into their products. FreeMarker is designed to
-be practical for the generation of HTML Web pages, particularly by
-servlet-based applications following the MVC (Model View Controller)
-pattern.
-
-
-Licensing
----------
-
-FreeMarker is licensed under the Apache License, Version 2.0.
-
-See the LICENSE file for more details!
-
-
-Documentation
--------------
-
-Online: http://freemarker.org/docs/
-
-Offline: The full documentation is available in the binary distribution
-in the documentation/index.html directory.
-
-
-Installing
-----------
-
-If you are using Maven (or Gradle, etc.), just add this dependency:
-
- <!--
- Attention: Be sure nothing pulls in an old dependency with groupId
- "freemarker" (without the "org."), because then you will end up with
- two freemarker.jar-s and unpredictable behavior on runtime!
- -->
- <dependency>
- <groupId>org.freemarker</groupId>
- <artifactId>freemarker</artifactId>
- <version>{version}</version>
- </dependency>
-
-Otherwise simply copy freemarker.jar to a location where your Java
-application's ClassLoader will find it. For example, if you are using
-FreeMarker in a web application, you probably want to put
-freemarker.jar into the WEB-INF/lib directory of your web application.
-
-FreeMarker 3 has only one required dependency, slf4j-api. (Of course,
-it will be automatically downloaded by Maven, Gradle, and the like.)
-It has several optional dependencies, but usually you don't have
-to deal with them, because if you are using an optional feature
-that's certainly because your application already uses the related
-library.
-
-The minimum required Java version is currently Java SE 7. (The presence
-of a later version may be detected on runtime and utilized by
-FreeMarker.)
-
-
-Change log
-----------
-
-Online (for stable releases only):
-http://freemarker.org/docs/app_versions.html
-
-Offline:
-In the binary release, open documentation/index.html, and you will find the
-link.
-
-
-Building
---------
-
-First of all, if you haven't yet, download the source release, or check
-out FreeMarker from the source code repository.
-
-You need JDK 8(!), Apache Ant and Ivy to be installed. (As of this writing
-it was tested with Ant 1.8.1 and Ivy 2.3.0.) Note that the ivy-<version>.jar
-should be copied to your Ant home directory "lib" subfolder.
-
-It's recommended to copy build.properties.sample into build.properties, and
-edit its content to fit your system. (Although basic jar building should
-succeeds without the build.properties file too.)
-
-To build freemarker.jar, just issue "ant" in the project root
-directory, and it should download all dependencies automatically and
-build freemarker.jar.
-
-If later you change the dependencies in ivy.xml, or otherwise want to
-re-download some of them, it will not happen automatically anymore.
-You have to issue "ant update-deps" for that.
-
-
-Eclipse and other IDE setup
----------------------------
-
-Below you find the step-by-step setup for Eclipse Mars.1. If you are using a
-different version or an entierly different IDE, still read this, and try to
-apply it to your development environment:
-
-- Install Ant and Ivy, if you haven't yet; see earlier.
-- From the command line, run `ant clean jar ide-dependencies`. (Note that
- now the folders "ide-dependencies", "build/generated-sources" and "META-INF" were created.)
-- Start Eclipse
-- You may prefer to start a new workspace (File -> "Switch workspace"), but
- it's optional.
-- Window -> Preferences
- - General -> Workspace, set the text file encoding
- to "UTF-8". (Or, you can set the same later on project level instead.)
- - General -> Editors, set:
- - Insert space for tabs
- - Show print margin, 120 columns
- - Java -> Code Style -> Formatter -> Import...
- Select src/ide-settings/Eclipse/Formatter-profile-FreeMarker.xml
- inside the FreeMarker project directory.
- (On IntelliJ IDEA, import
- src/ide-settings/IntelliJ-IDEA/Java-code-style-FreeMarker.xml instead)
- This profile uses space-only indentation policy and 120 character line
- width, and formatting rules that are pretty much standard in modern Java.
- - Java -> Code Style -> Organize imports
- (On IntelliJ IDEA, this was already configured by the Java code style
- import earlier.)
- The order is this (the Eclipse default): java, javax, org, com.
- Number of imports required for .*: 99
- Number of static imports needed for .*: 1
- - Java -> Installed JRE-s:
- Ensure that you have JDK 8 installed, and that it was added to Eclipse.
- Note that it's not JRE, but JDK.
- - Java -> Compiler -> Javadoc:
- "Malformed Javadoc comments": Error
- "Only consider members as visible": Private
- "Validate tag argunebts": true
- "Missing tag descriptions": Validate @return tags
- "Missing Javadoc tags": Ignore
- "Missing Javadoc comments": Ignore
-- Create new "Java Project" in Eclipse:
- - In the first window popping up:
- - Change the "location" to the directory of the FreeMarker project
- - Press "Next"
- - In the next window, you see the build path settings:
- - On "Source" tab, ensure that exactly these are marked as source
- directories (be careful, Eclipse doesn't auto-detect these well):
- build/generated-sources/java
- src/main/java
- src/main/resources
- src/test/java
- src/test/resources
- - On the "Libraries" tab:
- - Delete everyhing from there, except the "JRE System Library [...]"
- - Edit "JRE System Library [...]" to "Execution Environment" "JavaSE 1.8"
- - Add all jar-s that are directly under the "ide-dependencies" directory
- (use the "Add JARs..." and select all those files).
- - Press "Finish"
-- Eclipse will indicate many errors at this point; it's expected, read on.
-- Project -> Properties -> Java Compiler -> Errors/Warnings:
- Check in "Enable project specific settings", then set "Forbidden reference
- (access rules)" from "Error" to "Warning".
-- At Project -> Properties -> Java Code Style -> Formatter, check in "Enable
- project specific settings", and then select "FreeMarker" as active profile.
-- At Project -> Properties -> Java Editor -> Save Actions, check "Enable project
- specific settings", then "Perform the selected actions on save", and have
- only "Organize imports" and "Additional actions" checked (the list for the
- last should contain "Add missing @Override annotations",
- "Add missing @Override annotations to implementations of interface methods",
- "Add missing @Deprecated annotations", and "Remove unnecessary cast").
-- Right click on the project -> Run As -> JUnit Test
- It should run without problems (all green).
-- It's highly recommened to use the Eclipse FindBugs plugin.
- - Install it from Eclipse Marketplace (3.0.1 as of this writing)
- - Window -> Preferences -> Java -> FindBugs:
- Set all bug marker ranks from Warning to Error. (For false alarms we add
- @SuppressFBWarnings(value = "...", justification = "...") annotations.)
- - Project -> Properties -> FindBugs -> [x] Run Automatically
- - There should 0 errors. But sometimes the plugin fails to take the
- @SuppressFBWarnings annotations into account; then use Project -> Clean.
http://git-wip-us.apache.org/repos/asf/incubator-freemarker/blob/143ac873/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..425b7aa
--- /dev/null
+++ b/README.md
@@ -0,0 +1,226 @@
+Apache FreeMarker {version}
+===========================
+
+[![Build Status](https://travis-ci.org/apache/incubator-freemarker.svg?branch=3)](https://travis-ci.org/apache/incubator-freemarker)
+
+For the latest version or to report bugs visit:
+http://freemarker.org/
+
+
+DISCLAIMER
+----------
+
+Apache FreeMarker is an effort undergoing incubation at The Apache
+Software Foundation (ASF). Incubation is required of all newly accepted
+projects until a further review indicates that the infrastructure,
+communications, and decision making process have stabilized in a manner
+consistent with other successful ASF projects. While incubation status is
+not necessarily a reflection of the completeness or stability of the
+code, it does indicate that the project has yet to be fully endorsed by
+the ASF.
+
+
+What is Apache FreeMarker?
+--------------------------
+
+FreeMarker is a "template engine"; a generic tool to generate text
+output (anything from HTML to auto generated source code) based on
+templates. It's a Java package, a class library for Java programmers.
+It's not an application for end-users in itself, but something that
+programmers can embed into their products. FreeMarker is designed to
+be practical for the generation of HTML Web pages, particularly by
+servlet-based applications following the MVC (Model View Controller)
+pattern.
+
+
+Licensing
+---------
+
+FreeMarker is licensed under the Apache License, Version 2.0.
+
+See the LICENSE file for more details!
+
+
+Documentation
+-------------
+
+Online: http://freemarker.org/docs/
+
+Offline: The full documentation is available in the binary distribution
+in the documentation/index.html directory.
+
+
+Installing
+----------
+
+If you are using Maven, just add this dependency:
+
+```xml
+ <!--
+ Attention: Be sure nothing pulls in an old dependency with groupId
+ "freemarker" (without the "org."), because then you will end up with
+ two freemarker.jar-s and unpredictable behavior on runtime!
+ -->
+ <dependency>
+ <groupId>org.freemarker</groupId>
+ <artifactId>freemarker</artifactId>
+ <version>{version}</version>
+ </dependency>
+```
+
+Otherwise simply copy freemarker.jar to a location where your Java
+application's ClassLoader will find it. For example, if you are using
+FreeMarker in a web application, you probably want to put
+freemarker.jar into the WEB-INF/lib directory of your web application.
+
+FreeMarker 3 has only one required dependency, org.slf4j:slf4j-api. (Of
+course, it will be automatically downloaded by Maven, Gradle, and the like,
+and is already there in almost all projects anyway. If it wasn't there, note
+that adding slf4j-api is not enough, as it needs an implementation, which is
+not downloaded automatically by Maven, etc. The most popular is
+ch.qos.logback:logback-classic. FreeMarker has several optional dependencies,
+but usually you don't have to deal with them, because if you are using an
+optional feature that's certainly because your application already uses the
+related library.
+
+The minimum required Java version is currently Java SE 7. (The presence
+of a later version may be detected on runtime and utilized by
+FreeMarker.)
+
+
+Change log
+----------
+
+Online (for stable releases only):
+http://freemarker.org/docs/app_versions.html
+
+Offline:
+In the binary release, open documentation/index.html, and you will find the
+link.
+
+
+Local setup
+===========
+
+First of all, if you haven't yet, download the source release, or checkout
+FreeMarker from the source code repository.
+
+You need JDK 8(!), Apache Ant and Ivy to be installed. (As of this writing
+it was tested with Ant 1.8.1 and Ivy 2.3.0.).
+
+
+Ivy Installation
+----------------
+
+To install Ivy (but be sure it's not already installed). Issue
+`ant download-ivy` which will copy it under `~/.ant/lib`. Alternatively, you
+can copy `ivy-<version>.jar` into your Ant home directory `lib` subfolder
+manually.
+
+
+Building
+--------
+
+To build `freemarker.jar`, just issue `ant` in the project root directory, and
+it should download all dependencies automatically and build freemarker.jar.
+
+It's recommended to copy `build.properties.sample` into `build.properties`,
+and edit its content to fit your system. (Although basic jar building should
+succeeds without the build.properties file too.)
+
+
+Managing dependencies
+---------------------
+
+If later you change the dependencies in `ivy.xml`, or otherwise want to
+re-download some of them, it will not happen automatically anymore, and you
+must issue `ant update-deps`.
+
+
+Eclipse and other IDE setup
+===========================
+
+Below you find the step-by-step setup for Eclipse Mars.1. If you are using a
+different version or an entierly different IDE, still read this, and try to
+apply it to your development environment:
+
+- Install Ant and Ivy, if you haven't yet; see earlier.
+- From the command line, run `ant clean jar ide-dependencies`
+ (Note that now the folders `ide-dependencies`, `build/generated-sources` and
+ `META-INF` were created.)
+- Start Eclipse
+- You may prefer to start a new workspace (File -> "Switch workspace"), but
+ it's optional.
+- Window -> Preferences
+ - General -> Workspace, set the text file encoding
+ to "UTF-8". (Or, you can set the same later on project level instead.)
+ - General -> Editors, set:
+ - Insert space for tabs
+ - Show print margin, 120 columns
+ - Java -> Code Style -> Formatter -> Import...
+ Select src\ide-settings\Eclipse\Formatter-profile-FreeMarker.xml
+ inside the FreeMarker project directory.
+ (On IntelliJ IDEA, import
+ src/ide-settings/IntelliJ-IDEA/Java-code-style-FreeMarker.xml instead)
+ This profile uses space-only indentation policy and 120 character line
+ width, and formatting rules that are pretty much standard in modern Java.
+ - Java -> Code Style -> Organize imports
+ (On IntelliJ IDEA, this was already configured by the Java code style
+ import earlier.)
+ The order is this (the Eclipse default): java, javax, org, com.
+ Number of imports required for .*: 99
+ Number of static imports needed for .*: 1
+ - Java -> Installed JRE-s:
+ Ensure that you have JDK 8 installed, and that it was added to Eclipse.
+ Note that it's not JRE, but JDK.
+ - Java -> Compiler -> Javadoc:
+ "Malformed Javadoc comments": Error
+ "Only consider members as visible": Private
+ "Validate tag argunebts": true
+ "Missing tag descriptions": Validate @return tags
+ "Missing Javadoc tags": Ignore
+ "Missing Javadoc comments": Ignore
+- Create new "Java Project" in Eclipse:
+ - In the first window popping up:
+ - Change the "location" to the directory of the FreeMarker project
+ - Press "Next"
+ - In the next window, you see the build path settings:
+ - On "Source" tab, ensure that exactly these are marked as source
+ directories (be careful, Eclipse doesn't auto-detect these well):
+ build/generated-sources/java
+ src/main/java
+ src/main/resources
+ src/test/java
+ src/test/resources
+ - On the "Libraries" tab:
+ - Delete everyhing from there, except the "JRE System Library [...]"
+ - Edit "JRE System Library [...]" to "Execution Environment" "JavaSE 1.8"
+ - Add all jar-s that are directly under the "ide-dependencies" directory
+ (use the "Add JARs..." and select all those files).
+ - On the "Order and Export" tab find dom4j-*.jar, and send it to the
+ bottom of the list (becase, an old org.jaxen is included inside
+ dom4j-*.jar, which casues compilation errors if it wins over
+ jaxen-*.jar).
+ - Press "Finish"
+- Eclipse will indicate many errors at this point; it's expected, read on.
+- Project -> Properties -> Java Compiler -> Errors/Warnings:
+ Check in "Enable project specific settings", then set "Forbidden reference
+ (access rules)" from "Error" to "Warning".
+- At Project -> Properties -> Java Code Style -> Formatter, check in "Enable
+ project specific settings", and then select "FreeMarker" as active profile.
+- At Project -> Properties -> Java Editor -> Save Actions, check "Enable project
+ specific settings", then "Perform the selected actions on save", and have
+ only "Organize imports" and "Additional actions" checked (the list for the
+ last should contain "Add missing @Override annotations",
+ "Add missing @Override annotations to implementations of interface methods",
+ "Add missing @Deprecated annotations", and "Remove unnecessary cast").
+- Right click on the project -> Run As -> JUnit Test
+ It should run without problems (all green).
+- It's highly recommened to use the Eclipse FindBugs plugin.
+ - Install it from Eclipse Marketplace (3.0.1 as of this writing)
+ - Window -> Preferences -> Java -> FindBugs:
+ Set all bug marker ranks from Warning to Error. (For false alarms we add
+ @SuppressFBWarnings(value = "...", justification = "...") annotations.)
+ - Project -> Properties -> FindBugs -> [x] Run Automatically
+ - There should 0 errors. But sometimes the plugin fails to take the
+ @SuppressFBWarnings annotations into account; then use Project -> Clean.