Reflection has runtime effect though, so it's a strong compromise. I
mean, Ant could do it without such runtime effect. The users were not
affected. Probably at least Gradle can do that too. Or we have to go
for extra platform dependent artifacts, but that's again a compromise
that complicates life for the users instead of for the contributors. I
wonder if we can have these separate platform modules (Java 8 support,
etc.) in the IDE, but then put all the classes into the same jar
during the build. Researching any of these is highly welcome of
I will check to the JUnit pull request at latest when I get back to
FreeMarker (in November, I hope). That's also when I plan to start the
FM 3 branch, and then I can be more active in working out the
modularization and such too.
Thursday, September 22, 2016, 2:08:18 PM, Mauricio Nuñez wrote:
> Hi Daniel,
> Thanks for your feedback. I'm pushing to my personal github. I have a
> parent pom with a submodule core and a submodule ext. I want to check
> alternatives for the different artifacts. Maybe with reflection, as
> suggested by the previous effort, or retrotranslator.
> https://github.com/mauronunez/incubator-freemarker/tree/maven ( my fork,
> branch "maven" )
> I have more experience with maven, but I think this as intermediate step
> for Gradle.
> About maven for FM2, yes, I agree with to keep it as is, not impacting
> users. I want to contribute my changes to FM3, but now, FM2 it's a good
> codebase to test, and to be more involved as developer.
> Btw, I've create a pull request to fix some Junit tests.
> 2016-09-21 14:49 GMT-03:00 Daniel Dekany <ddek...@freemail.hu>:
>> In FreeMarker 3 we want to modularize the project, so that there will
>> be at least a freemarker-core and then a separate artifacts for each
>> extension (like freemarker-jsp, etc.). Thus so far I agree with what
>> you are doing. If it can be done with FreeMarker 2 though, I'm not
>> sure, because we have to keep strict backward compatibility there, and
>> also we have to consider how much hassle such a change causes for the
>> users. (There are orders magnitude more users than contributors.
>> Something that's nice for the contributors might bears no value for
>> the users, or even just makes dependency management more fragile for
>> As of a monolithic Maven build (where the point is to migrate away
>> from Ant and make the build more "standard"), there was such activity,
>> but it didn't get far enough so far:
>> The main problem is that in FreeMarker it happens now and then that we
>> have to depend on multiple versions of the same artifact (or on
>> multiple versions of the Java platform). Ant can handle that, but
>> Maven... well, perhaps if we extract parts that are above the baseline
>> platform (Java 5 currently, but let's say Java 6) into separate
>> artifacts, like freemarker-core-java-8 and such, but that won't be
>> backward compatible as users had to depend on them explicitly (I
>> guess), and even if we consider FreeMarker 3, it might complicates the
>> life of users. So perhaps we have to look into using Gradle. (Gradle
>> can be also handy if we want to target Android, and with in FreeMarker
>> 3 we surely should.)
>> Also, there are quite a few extra steps and extra tasks, if you look
>> into the build.xml. Though I guess most of them can be reimplemented
>> in Maven gradually, and we can keep the Ant build until it's done...
>> Tuesday, September 20, 2016, 10:03:56 PM, Mauricio Nuñez wrote:
>> > Hi all,
>> > I'm a older user of freemarker, from version 1. Today, I'm working in a
>> > maven pom.xml for freemarker. Freemarker is very valuable for me, and I
>> > want to contribute. My old web site ( www.chile.com ) is down now, but
>> > was developed with freemarker about 2002-2003.
>> > I'm using a maven plugin for javacc, and this build is working. I have
>> > issues with some JUnit tests, but I'm working in that ( I guess the
>> > is related to my Locale )
>> > But my approach is to create a base freemarker project, and a second
>> > project, related to extensions ( jython, servlet, etc ). Before
>> continue, I
>> > want some comments from you.
>> > Regards,
>> > Mauricio
>> Daniel Dekany