Skip to content
This repository has been archived by the owner on Jan 8, 2020. It is now read-only.

Commit

Permalink
Overwriting the master with 2.3-gae code, but keeping the new (2.4) p…
Browse files Browse the repository at this point in the history
…roject structure and build script (fixed it at various places during the process). Thus 2.3-gae has moved from sf.net SVN to GitHub, and 2.3 will soon follow. 2.4 is not canceled, but it's more efficient if I make 2.3-gae/2.3 the master, do some releases from it, then branch out 2.4, and put back those few changes that were now overwritten and were still valid. BTW, with the new build script, 2.3 is now an OSGi bundle.
  • Loading branch information
ddekany committed May 20, 2013
1 parent ddc281c commit 3470332
Show file tree
Hide file tree
Showing 106 changed files with 8,007 additions and 1,161 deletions.
4 changes: 2 additions & 2 deletions .classpath
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="freemarker/ext/dom/SunInternalXalanXPathSupport.java|freemarker/ext/jsp/FreeMarkerJspFactory2.java|freemarker/ext/jsp/FreeMarkerPageContext2.java" kind="src" path="src/main/java"/>
<classpathentry excluding="freemarker/ext/dom/SunInternalXalanXPathSupport.java|freemarker/ext/jsp/FreeMarkerJspFactory2.java|freemarker/ext/jsp/FreeMarkerPageContext1.java|freemarker/ext/jsp/FreeMarkerPageContext2.java|freemarker/ext/jython/Jython20And21VersionAdapter.java|freemarker/ext/jython/Jython22VersionAdapter.java" kind="src" path="src/main/java"/>
<classpathentry kind="src" path="src/main/resources"/>
<classpathentry kind="src" path="src/test/java"/>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="src" path="build/generated-sources/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?ivyXmlPath=ivy.xml&amp;confs=IDE&amp;ivySettingsPath=project%3A%2F%2F%2Fivysettings.xml"/>
<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=FreeMarker-master&amp;ivyXmlPath=ivy.xml&amp;confs=IDE&amp;ivySettingsPath=%24%7Bworkspace_loc%3AFreeMarker-master%2Fivysettings.xml%7D&amp;loadSettingsOnDemand=false&amp;propertyFiles="/>
<classpathentry kind="output" path=".bin/"/>
</classpath>
3 changes: 2 additions & 1 deletion .project
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>FreeMarker-2.4</name>
<name>FreeMarker-master</name>
<comment></comment>
<projects>
</projects>
Expand All @@ -19,5 +19,6 @@
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
<nature>org.apache.ivyde.eclipse.ivynature</nature>
</natures>
</projectDescription>
4 changes: 4 additions & 0 deletions LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,5 +61,9 @@ included both in freemarker.jar and in the source code:

freemarker/ext/jsp/web-app_2_2.dtd
freemarker/ext/jsp/web-app_2_3.dtd
freemarker/ext/jsp/web-app_2_4.xsd
freemarker/ext/jsp/web-app_2_5.xsd
freemarker/ext/jsp/web-jsptaglibrary_1_1.dtd
freemarker/ext/jsp/web-jsptaglibrary_1_2.dtd
freemarker/ext/jsp/web-jsptaglibrary_2_0.xsd
freemarker/ext/jsp/web-jsptaglibrary_2_1.xsd
9 changes: 5 additions & 4 deletions build.properties.sample
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# Should point to the rt.jar of J2SE 1.5.
# You may comment this property out, but for releases it should be set,
# so J2SE 1.5 incompatibilities will cause compilation-time errors.
boot.classpath=C:/Program Files (x86)/Java/jdk1.5.0_16/jre/lib/rt.jar
# Copy this file to "build.properties" before editing!
# These propeties should point to the rt.jar-s of the respective J2SE versions:
boot.classpath.j2se1.2=C:/Program Files (x86)/Java/jdk1.2.2/jre/lib/rt.jar
boot.classpath.j2se1.4=C:/Program Files (x86)/Java/jdk1.4.0/jre/lib/rt.jar
boot.classpath.j2se1.5=C:/Program Files (x86)/Java/jdk1.5.0_16/jre/lib/rt.jar
180 changes: 155 additions & 25 deletions build.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,47 @@
<!-- Ivy project coordinates: -->
<property name="moduleOrg" value="org.freemarker" />
<property name="moduleName" value="freemarker" />
<property name="moduleBranch" value="2.4" />
<property name="moduleBranch" value="2.3" />

<!-- Will be overidden on the server: -->
<!-- Will be overidden on the Continous Integration server: -->
<property name="server.ivy.repo.root" value="${basedir}/build/dummy-server-ivy-repo" />

<property file="build.properties"/>
<condition property="has.explicit.boot.classpath">
<isset property="boot.classpath"/>
<condition property="has.explicit.boot.classpath.j2se1.2">
<isset property="boot.classpath.j2se1.2"/>
</condition>
<condition property="has.explicit.boot.classpath.j2se1.4">
<isset property="boot.classpath.j2se1.4"/>
</condition>
<condition property="has.explicit.boot.classpath.j2se1.5">
<isset property="boot.classpath.j2se1.5"/>
</condition>
<condition property="has.all.explicit.boot.classpaths">
<and>
<isset property="has.explicit.boot.classpath.j2se1.2"/>
<isset property="has.explicit.boot.classpath.j2se1.4"/>
<isset property="has.explicit.boot.classpath.j2se1.5"/>
</and>
</condition>

<!-- When boot.classpath is missing, this is the default: -->
<property name="boot.classpath" value="${sun.boot.class.path}" />
<!-- For checking the correctness of the boot.classpath -->
<available classpath="${boot.classpath}"
<!-- When boot.classpath.j2se* is missing, these will be the defaults: -->
<!-- Note: Target "dist" doesn't allow using these. -->
<property name="boot.classpath.j2se1.2" value="${sun.boot.class.path}" />
<property name="boot.classpath.j2se1.4" value="${sun.boot.class.path}" />
<property name="boot.classpath.j2se1.5" value="${sun.boot.class.path}" />

<!-- For checking the correctness of the boot.classpath.j2se* -->
<available classpath="${boot.classpath.j2se1.2}"
classname="java.lang.Object" ignoresystemclasses="true"
property="boot.classpath.j2se1.2.correct"
/>
<available classpath="${boot.classpath.j2se1.4}"
classname="java.lang.Object" ignoresystemclasses="true"
property="boot.classpath.correct"
property="boot.classpath.j2se1.4.correct"
/>
<available classpath="${boot.classpath.j2se1.5}"
classname="java.lang.Object" ignoresystemclasses="true"
property="boot.classpath.j2se1.5.correct"
/>

<condition property="example.freemarker.jar.location"
Expand Down Expand Up @@ -156,45 +181,148 @@
</target>

<target name="compile" depends="javacc">
<fail unless="boot.classpath.correct"><!--
-->The "boot.classpath" property value (${boot.classpath}) <!--
<fail unless="boot.classpath.j2se1.2.correct"><!--
-->The "boot.classpath.j2se1.2" property value (${boot.classpath.j2se1.2}) <!--
-->seems to be an incorrect boot classpath. Please fix it in <!--
-->the &lt;projectDir>/build.properties file, or wherever you <!--
-->set it.<!--
--></fail>
<fail unless="boot.classpath.j2se1.4.correct"><!--
-->The "boot.classpath.j2se1.4" property value (${boot.classpath.j2se1.4}) <!--
-->seems to be an incorrect boot classpath. Please fix it in <!--
-->the &lt;projectDir>/build.properties file, or wherever you <!--
-->set it.<!--
--></fail>
<fail unless="boot.classpath.j2se1.5.correct"><!--
-->The "boot.classpath.j2se1.5" property value (${boot.classpath.j2se1.5}) <!--
-->seems to be an incorrect boot classpath. Please fix it in <!--
-->the &lt;projectDir>/build.properties file, or wherever you <!--
-->set it.<!--
--></fail>
<echo level="info">Using boot classpath: ${boot.classpath}</echo>
<echo level="info">Using boot classpaths: 1.2: ${boot.classpath.j2se1.2}; 1.4: ${boot.classpath.j2se1.4}; 1.5: ${boot.classpath.j2se1.5}</echo>

<mkdir dir="build/classes" />

<!-- Note: the "build" conf includes the JSP 2.0 and Servlet 2.4 API-s -->
<!-- Note: the "build" conf includes the JSP 2.0 and Servlet 2.4 API-s. -->
<!-- But it doesn't include other API-s that has multiple versions to compile against. -->
<ivy:cachepath conf="build" pathid="ivy.dep" />
<javac destdir="build/classes" deprecation="off"
debug="on" optimize="off" target="1.5" source="1.5" encoding="utf-8"
debug="on" optimize="off" target="1.2" source="1.2" encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep"
bootclasspath="${boot.classpath}"
bootclasspath="${boot.classpath.j2se1.2}"
excludes="
freemarker/log/JDK14LoggerFactory.java,
freemarker/core/RegexBuiltins.java,
freemarker/template/utility/J2SE14TimeZoneOffsetCalculator.java,
freemarker/ext/beans/EnumModels.java,
freemarker/ext/dom/SunInternalXalanXPathSupport.java,
freemarker/ext/jsp/TaglibFactory.java,
freemarker/ext/jsp/FreeMarkerPageContext1.java,
freemarker/ext/jsp/FreeMarkerPageContext21.java,
freemarker/ext/jsp/FreeMarkerJspFactory21.java,
freemarker/ext/jsp/FreeMarkerJspApplicationContext.java"
freemarker/ext/jsp/FreeMarkerJspApplicationContext.java,
freemarker/ext/jython/**,
freemarker/template/utility/JythonRuntime.java,
freemarker/ext/ant/**"
>
<src>
<pathelement location="src/main/java" />
<pathelement location="build/generated-sources" />
</src>
</javac>

<rmic
base="build/classes" includes="freemarker/debug/impl/Rmi*Impl.class"
classpathref="ivy.dep"
verify="yes" stubversion="1.2"
/>

<ivy:cachepath conf="build.jsp2.1" pathid="ivy.dep.jsp2.1" />
<ivy:cachepath conf="build.j2se1.4" pathid="ivy.dep.j2se1.4" />
<javac srcdir="src/main/java" destdir="build/classes" deprecation="off"
debug="on" optimize="off" target="1.4" source="1.4" encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep.j2se1.4"
bootclasspath="${boot.classpath.j2se1.4}"
includes="
freemarker/log/JDK14LoggerFactory.java,
freemarker/core/RegexBuiltins.java,
freemarker/template/utility/J2SE14TimeZoneOffsetCalculator.java"
/>

<ivy:cachepath conf="build.j2se1.5" pathid="ivy.dep.j2se1.5" />
<javac srcdir="src/main/java" destdir="build/classes" deprecation="off"
debug="on" optimize="off" target="1.5" source="1.5" encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep.j2se1.5"
bootclasspath="${boot.classpath.j2se1.5}"
includes="
freemarker/ext/beans/EnumModels.java,
freemarker/ext/dom/SunInternalXalanXPathSupport.java"
/>

<ivy:cachepath conf="build.jsp1.2" pathid="ivy.dep.jsp1.2" />
<javac srcdir="src/main/java" destdir="build/classes" deprecation="off"
debug="on" optimize="off" target="1.2" source="1.2" encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep.jsp1.2"
bootclasspath="${boot.classpath.j2se1.2}"
includes="
freemarker/ext/jsp/TaglibFactory.java,
freemarker/ext/jsp/FreeMarkerPageContext1.java"
/>

<!-- There's no build.jsp2.0, as those classes are part of the common build subset. -->

<ivy:cachepath conf="build.jsp2.1" pathid="ivy.dep.jsp2.1" />
<javac srcdir="src/main/java" destdir="build/classes" deprecation="off"
debug="on" optimize="off" target="1.2" source="1.2" encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep.jsp2.1"
bootclasspath="${boot.classpath}"
bootclasspath="${boot.classpath.j2se1.2}"
includes="
freemarker/ext/jsp/FreeMarkerPageContext21.java,
freemarker/ext/jsp/FreeMarkerJspFactory21.java,
freemarker/ext/jsp/FreeMarkerJspApplicationContext.java"
/>

<ivy:cachepath conf="build.jython2.0" pathid="ivy.dep.jython2.0" />
<javac srcdir="src/main/java" destdir="build/classes" deprecation="off"
debug="on" optimize="off" target="1.2" source="1.2" encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep.jython2.0"
bootclasspath="${boot.classpath.j2se1.2}"
includes="
freemarker/ext/ant/**,
freemarker/template/utility/JythonRuntime.java,
freemarker/ext/jython/**"
excludes="
freemarker/ext/jython/Jython22VersionAdapter.java,
freemarker/ext/jython/Jython25VersionAdapter.java"
/>

<ivy:cachepath conf="build.jython2.2" pathid="ivy.dep.jython2.2" />
<javac srcdir="src/main/java" destdir="build/classes" deprecation="off"
debug="on" optimize="off" target="1.2" source="1.2" encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep.jython2.2"
bootclasspath="${boot.classpath.j2se1.2}"
includes="
freemarker/ext/jython/Jython22VersionAdapter.java"
/>

<ivy:cachepath conf="build.jython2.5" pathid="ivy.dep.jython2.5" />
<javac srcdir="src/main/java" destdir="build/classes" deprecation="off"
debug="on" optimize="off" target="1.2" source="1.2" encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep.jython2.5"
bootclasspath="${boot.classpath.j2se1.5}"
includes="
freemarker/ext/jython/Jython25VersionAdapter.java"
/>

<rmic base="build/classes" classpathref="ivy.dep"
includes="src/main/java/freemarker/debug/impl/Rmi*Impl.class"
Expand Down Expand Up @@ -238,7 +366,7 @@
includeantruntime="false"
classpath="build/classes"
classpathref="ivy.dep.test"
bootclasspath="${boot.classpath}"
bootclasspath="${boot.classpath.j2se1.5}"
/>
<copy toDir="build/test-classes">
<fileset dir="src/test/resources"
Expand Down Expand Up @@ -365,7 +493,8 @@
<delete includeEmptyDirs="yes">
<fileset dir="build/api" includes="**/*" />
</delete>
<ivy:cachepath conf="build.jsp2.1" pathid="ivy.dep" />
<!-- conf="IDE": as that has to contain all depedencies -->
<ivy:cachepath conf="IDE" pathid="ivy.dep" />
<javadoc
sourcepath="src/main/java"
destdir="build/api"
Expand All @@ -378,6 +507,7 @@
version="true"
author="true"
windowtitle="FreeMarker ${version} API"
classpath="build/classes"
classpathref="ivy.dep"
/>
</target>
Expand Down Expand Up @@ -406,11 +536,11 @@
<javac
srcdir="src/examples/@{exampleName}/WEB-INF/classes"
destdir="build/examples/@{exampleName}/WEB-INF/classes"
deprecation="off" debug="on" optimize="off" target="1.5" source="1.5"
deprecation="off" debug="on" optimize="off" target="1.2" source="1.2"
encoding="utf-8"
includeantruntime="false"
classpathref="ivy.dep"
bootclasspath="${boot.classpath}"
bootclasspath="${boot.classpath.j2se1.2}"
>
<classpath>
<pathelement path="${ivy.dep}" />
Expand Down Expand Up @@ -466,8 +596,8 @@
description="Build the FreeMarker distribution files"
>
<fail
unless="has.explicit.boot.classpath"
message="boot.classpath must be set in build.properties for dist!"
unless="has.all.explicit.boot.classpaths"
message="All boot.classpath properties must be set in build.properties for dist!"
/>
<antcall target="clean" /> <!-- To improve the reliability -->
<antcall target="_dist" />
Expand Down Expand Up @@ -496,7 +626,7 @@
<include name="*.txt" />
</fileset>
</copy>
<copy file="build/freemarker.jar" tofile="${dist.dir}/freemarker-${version}.jar" />
<copy file="build/freemarker.jar" tofile="${dist.dir}/freemarker.jar" />
<replace
file="${dist.dir}/README.txt"
token="{version}"
Expand Down
Loading

0 comments on commit 3470332

Please sign in to comment.