Hello,

It would be great if you can look at the Ant build and tell your
opinion about transforming the same functionality to Gradle. By same
functionality I mean getting nearly identical "artifacts" at the end,
otherwise everything can change. (For example, you will find that
there are some tricky things going on with Ivy; we might not need that
anymore.) And of course, you are welcome to actually do the
transition.

If you look at http://freemarker.org/sourcecode.html, you will find
that we have 3 projects. The topic is now the "freemarker" project
(and there the work should be done in a feature branch coming out from
the "2.3-gae" branch). "freemarker-docgen" and "freemarker-site",
which also run on Ant, could be migrated separately, later.


Saturday, December 31, 2016, 7:38:32 PM, Taher Alkhateeb wrote:

> Hello Everyone,
>
> We recently switched Apache OFBiz from Ant to Gradle and it was an 
> amazing experience. I was the main developer working on the transition
> and I think if something so complex and wired up with hundreds of 
> libraries like OFBiz can do it, then I think it would be a much more 
> pleasant experience with FreeMarker.
>
> Transitioning to Gradle, however, requires a shift of the way you think,
> it is not an imperative style of "do this then do that" and it has 
> multiple build phases (initialization, configuration and execution). 
> Gradle is also subject to frequent changes more than ant or Maven. For
> example, in versions 3+ the left shift operator "<<" was deprecated even
> though heavily used in projects and is subject for total removal in 
> version 5.
>
> Overall, I would say between the three build systems, Gradle is the most
> powerful hands down as it mixes the convention-over-configuration 
> philosophy of maven while at the same time allowing overriding any 
> configuration setting. It also provides a powerful DSL on top of a full
> programming language (Groovy)
>
> If you folks would like to proceed with the transition, and need extra
> hands, I'd love to help however I can.
>
> Cheers,
>
> Taher Alkhateeb
>
>
> On 2016-12-31 02:43 (+0300), Daniel Dekany <d...@freemail.hu> wrote:
 >> Friday, December 30, 2016, 11:44:35 PM, Apache wrote:>
 >>
 >> > I\u2019m not sure what \u201cfuture-proof\u201d means.>
 >>
 >> By that I mean that if we have to do something non-standard, it's>
 >> probably easier to achieve with Gradle.>
 >>
 >> Also, if we include FM2 in this, then we surely has to do non-standard>
 >> things. In FM2 the resulting freemarker.jar has to be the same>
 >> monolithic jar, etc.>
 >>
 >> Last not least, if someone is interested in Gradle, and so wants to>
 >> tackle this task, then I believe we should just go for Gradle.>
 >> Especially as it can be started right now with FM2, while with Maven,>
 >> he had to wait until FM3 gets somewhere.>
 >>
 >> -- >
 >> Thanks,>
 >> Daniel Dekany>
 >>
 >>
 >> > Maven is basically the standard the other build tools have to be>
 >> > compatible with. The Maven team has been discussing ways to enhance>
 >> > the pom.xml to open up new features for quite some time and do seem>
 >> > to be making some progress.>
 >> >>
 >> > The big downside with an Ant build is that everything is custom.>
 >> > Maven takes the opposite approach - everything is standard, while>
 >> > Gradle is somewhere in the middle.>
 >> >>
 >> > Ralph>
 >> >>
 >> >> On Dec 30, 2016, at 2:05 PM, Daniel Dekany <dd...@freemail.hu> 
wrote:>>
 >> >> >
 >> >> I think recreating the Ant build of FM 2 in Gradle (with nearly>
 >> >> identical output) would be a good start. For starters, it's useful 
in>>
 >> >> itself, like it makes FM 2 look less ancient. (-; It's parhaps also>
 >> >> useful if we want to become Android friendly. Then, it will be 
easier>>
 >> >> to proceed with a modular Gradle build in FM 3. (I'm leaning towards>
 >> >> Gradle as opposed to Maven because it gives us more flexibility, so>
 >> >> it's more future proof. As history has shown, FreeMarker often needs>
 >> >> that.)>
 >> >> >
 >> >> If you or anyone else feels like playing with the FM2 Ant to Gradle>
 >> >> conversion, go ahead!>
 >> >> >
 >> >> >
 >> >> Thursday, September 22, 2016, 1:08:18 PM, Mauricio Nu%uFFFDez 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.>
 >> >>> >
 >> >>> Regards,>
 >> >>> >
 >> >>> Mauricio>
 >> >>> >
 >> >>> 2016-09-21 14:49 GMT-03:00 Daniel Dekany <dd...@freemail.hu>:>
 >> >>> >
 >> >>>> Hi,>
 >> >>>> >
 >> >>>> 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>>
 >> >>>> them.)>
 >> >>>> >
 >> >>>> 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:>
 >> >>>> https://issues.apache.org/jira/browse/FREEMARKER-7?jql=>
 >> >>>> project%20%3D%20FREEMARKER>
 >> >>>> >
 >> >>>> 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%uFFFDez 
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>>
 >> >>>> it>
 >> >>>>> was developed with freemarker about 2002-2003.>
 >> >>>>> >
 >> >>>>> I'm using a maven plugin for javacc, and this build is working. 
I have>>
 >> >>>> some>
 >> >>>>> issues with some JUnit tests, but I'm working in that ( I guess 
the>>
 >> >>>> problem>
 >> >>>>> 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>
 >> >>>> >
 >> >>>> -->
 >> >>>> Thanks,>
 >> >>>> Daniel Dekany>
 >> >>>> >
 >> >>>> >
 >> >> >
 >> >> -- >
 >> >> Thanks,>
 >> >> Daniel Dekany>
 >> >> >
 >> >> >
 >> >>
 >> >>
 >> >>
 >>
 >>
>

-- 
Thanks,
 Daniel Dekany

Reply via email to