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