What's the status of flaka? - ant

I'm considering adding Flaka to our Ant builds to get the EL support, but I'm concerned that the last release is from June 2011. There's not a whole lot of chatter about it on its own website or anywhere else I can find, either.
This could mean it's fulfilling its purpose in life with great success so no need to make new releases, or it could mean it's not healthy.
Anyone know for sure?

This could mean it's fulfilling its purpose in life with great success so no need to make new releases, or it could mean it's not healthy.
We believe that Flaka is very healthy. Those who believe otherwise may express their concerns here in this thread.
Similar, those who enjoy Flaka and would like see further (exiting) features, please step forward and discuss with us your wishes.

Disclosure => i'm participating in the Flaka project
Using Flaka successfully for over 3 years in production code, starting with Ant 1.7.1 and Java 6, currently using Ant 1.9.1 and Java 7.
So, to use your own words "it's fulfilling its purpose in life with great success"
Nevertheless i believe Flaka has even more potential, see Adding EL Functions
Still a lot of people use AntContrib although their latest release 1.0b3 is from 2006-11-02 and using AntContrib before i know that Flaka has many advantages, f.e. overwriting of userproperties or inline EL expressions that are not possible with AntContrib.
#thekbb => when starting with a new project as a Groovy affinicado i would use Gradle, but if i'm stuck with ant i would use Flaka.
Although because of personal reasons there has been no new release since June 2011 it doesn't mean we're not around anymore ;-) Maybe more next year..
And as already said before, Flaka 1.02.02 works great with Ant 1.9.x :-)

Related

grails backward compatibility

I recently get to know grails and start to using it, I know that grails is a great language and it is very helpful for rapid development, but I cant understand why grails dont have a good backward compatibility, I use grails 2.3.8 and grails 2.4 for my projects but many of sample codes in the internet are 2.2 or less, and it isn't time efficient to convert them to 2.3.8 or 2.4 because there are many changes from one version to another. And some times although I do any things right and every thing must work like it works with grails 2.1 or 2.2 but some things still remains.
Am I wrong? I skipped some things that make converting version so hard?
And above all this, what are the guaranties that projects I'm developing right now will be compatible with higher versions of grails that comes in the future?
Joshua Moore is right with his answer, but I do not see it as passimistic as he does.
The grails development team is brave enough to make changes which break with the past. I consider this as a great feature - Grails does not ride dead horses.
For me, most of the changes don't seem to bee too radical. Most of the time, I skip 2-3 version and then upgrade my apps to the current stable version in less than a day. This also helps me to get to know the new features.
If you don't know how to upgrade, the safest way is to use the grails upgrade command. Just increase you version number step by step and do an upgrade and re-run your test (yes, tests help you in your upgrade process :-). If tests fail, take a look at the great changelogs and the "What new in Grails x.y?" sections of the documentation.
Often it is also helpful to compare your old grails version app with a new and empty target version project with a good comparison tool like BeyondCompare. This way you easily spot changed configurations.
Hope that helps
Update: When you are new to "all those webconcepts" you should first decide on the platform you want to work on. If it is the java ecosystem, Grails is the best webframework on the market :-) Otherwise PHP, Rails, DJango etc. could also be a match.
So if you want to learn Grails (and with Grails all those webconcepts), I would suggest to start reading the Guide which will tell you how Grails works. If you need more examples, I can suggest the "The Definitive Guide to Grails 2" published by Apress. It covers basically the same content as the guide, but it does so by walking you through a process of building a sample application.
When it comes to the samples you find on the net... as soon as you get to know the framework better, you will probaply know ho to handle the examples - but there is no silver bullet...
Nothing guaranties that your projects will be compatible with future versions of Grails. In fact, from my own experience, they won't. Often things change, and sometimes radically too, as Grails matures into higher versions.
The same holds true of backwards compatibility as well.
All you need do is take a look at the introduction section of the Grails documentation to see how often things change significantly between versions. A lot of times these changes require significant refactoring of older projects to upgrade them. I still have several large projects running on the 1.3.x branch of Grails because we don't have the resources (time) to go through and upgrade them.
Often this upgrade process involves creating a new empty project then slowly moving the code from the old project into the new project, updating code to reflect newer means of doing the same thing and testing. It's not easy for projects where you have 100+ Domain classes, 1000+ GSPs, 50+ Services and several hundred thousand lines of tests.

Good alternative for ant for use on jenkins build server

Hy there. I have a number of software projects (also iOS and OSX) which I build with Apache ant`.
Although I quite like Ant it is often too verbose and some things which should be easy are quite tricky or I have to use shell scripts along with ant.
Is there a good alternative for which is extensible, easy to use and should work well on my jenkins build server.
Thanks for your input.
Have a look at Gradle - it's quite different from Ant and may take a little while to get your head around, but I think it's going to be the new standard for build systems. One nice thing is that it has full Ant support under the hood, so you can easily get your existing Ant builds running and then port them to Gradle.
Gareth's answer of Gradle is a good one. But do take a look at what you are doing that is hard with Ant. In my experience, a fair portion of the time its "non-build" stuff. Perhaps leave Ant for the pure build stuff, and use an alternate tool for and deploy or test stuff that's snuck in there.
Although gradle looks very promising I decided to use Rake instead.
I should say that this is a biased decision since I am already using ruby for other parts in my build setup. I found a good Article by Martin Fowler
Another point is that by doing OSX development the platform-independence-aspect of Ant (or Gradle) does not have such a big weight for me.
BTW Besi's Rake answer:
JRuby's Rake+Ant integration seems like a really powerful combo:
http://www.engineyard.com/blog/2010/rake-and-ant-together-a-pick-it-n-stick-it-approach
One big advantange there, it fully supports integration with Ant, allowing step-by-step migration.. which IMHO is only viable strategy for large, existing projects.
Gradle seems similar and while it looks good; I think learning Rake could be a better investment as it's more universal outside of Java.
(The other thing I'm seriously considering is BuildR http://buildr.apache.org, but Jenkins doens't explicitly support it yet, so have to use scripted build steps, which seems less preferable. TODO: a BuildR plugin).

Netbeans Intellisense for Rails

Has anybody figured out a way to make the Netbeans intellisense for ruby and rails better? It either has too many options in the list (which I understand is a problem since it is a dynamic language). Or it has no options in the list, as if it is not dynamic enough to find everything.
Are there any hacks to make it better, or is this just something that needs to be improved within the Netbeans source code? I'm currently using 6.8.
Please spare me the posts about how I don't really need to use intellisense, and I should use vim or emacs. I'm sure the vim programmers are 10 times more productive than me with all their cool shortcuts, but I have no desire to learn these tools.
if you click on options, in tools and select options.
Then go to miscellaneous tab, and select ruby.
enable extended type interface (may be slow)
check on for methods.
I tried doing this it is giving me better intellisense with methods like p, and protected methods as well.
I am using netbeans 6.8 and I suppose this would offer you better intellisense.
I'm with you on intellisense. If you're on a Mac, you might try Coda from Panic. It has better intellisense than either RadRails or Netbeans for Ruby/Rails IMHO.
Sadly you just have to wait. I read that Oracle is now focusing NB on scripting languages, and there were plans afoot to add most of what you are talking about to 6.9.
You can check out the nightly builds here: http://bits.netbeans.org/download/trunk/nightly/latest/
They've already hit milestone 1.
It has to be improved by the Netbeans team. There's nothing you can really do to help it.
[edit: oh, and you can have code completion with Vim, so .. You should use Vim! :p]
There's been improvements in 6.8, but it's still far from perfect, and you mentionned you are already using 6.8.
You might want to try RadRails - can't tell you if their code completion is better though (I'm a NetBeans user), but I seem to recall reading it was.
I haven't gotten to play with Ruby and Ruby on Rails in NetBeans 6.9, but one of the features touted by the Release Notes was improved code completion in dynamic languages (Ruby, Ruby on Rails, and Python). You might want to consider upgrading (if you haven't already) and checking it out.

Hurdles with Grails development

Have been developing with Grails for couple of weeks now,
Though I've loved the experience and the possibilities, I've seen following problems starting up.
Please share if you've had similar issues.. and remedies would help too.
Transaction management (in-built) doesn't seem to work in some circumstances.
AOP with domain objects doesn't work
Grails IDE-plugins are pretty primitive
GWT-Integration (with the plugin)
Plugin installation (fails unusually) probably cause plugins are not matured enough.
Lack of extensive documentation (though what is available is pretty good)
Debugging support
If you actually want solutions for these problems you should post a separate question for each with a lot more information than you've provided here. For example, I can't possibly diagnose the cause of the problem when all I know is
Transaction management (in-built)
doesn't seem to work in some
circumstances.
Here is my opinion on these issues:
Transaction management (in-built) doesn't seem to work in some circumstances.
I haven't noticed any such problem
AOP with domain objects doesn't work
I guess what you mean here is that meta-programming domain objects doesn't work. I have encountered this and haven't found any solution. If you really meant AOP then I can't help you as I've never used it with Groovy.
Grails IDE-plugins are pretty primitive
The IntelliJ plugin is very, very good. The Netbeans plugin is OK. Last time I tried the Eclipse Groovy plugin it was awful. However, I believe that a new Eclipse Groovy plugin has recently been released as part of the Spring Tool Suite (STS). It's supposed to be big improvement on the previous Eclipse Groovy plugin, but I don't think it has much Grails support yet
GWT-Integration (with the plugin)
I don't use GWT, so have no comment
Plugin installation (fails unusually) probably cause plugins are not matured enough.
I've never had problems installing plugins, though if I update a plugin, I sometimes need to manually remove the old version from the .grails directory.
Lack of extensive documentation (though what is available is pretty good)
I think the level of documentation for Grails is way ahead of most OS projects. There is a wide range of Grails books available, there's an active mailing list, and the official document is 176 page long.
Debugging support
Again, it depends on the tools you're using. With IntelliJ, debugging a Grails app is as easy as debugging a Java app with Eclipse.
My own pet peeves about Grails development are:
Upgrading from one version to another is often a very painful process due to lack of backward compatibility. When I upgraded from 1.0.4 to 1.1.1 about 20% of my tests started failing
Application reloading is very hit and miss.
My feedback after few months with Grails:
Didn't happen to me.
I don't use AOP
Wrong. IntelliJ is very good and especially the last beta version. You can download it for a free trial. I know that Eclipse support is very limited and NetBeans becomes better but still behind IntelliJ
I can't say. I don't use it
Agree. My piece of advice here is to follow these following principles: 1.Use plugins as few as you can. Your application will be lighter and more maintainable. Also, you will upgrade Grails version more easily. 2.if you want to use a plugin, test it before with a dummy project. It takes few minutes for creating a grails application and you could test your next plugin rapidly. Be aware that sometimes plugins have compatibility issues between theselves so, do not hesitate to install all of the plugins you need into your dummy project
Agree. Grails is a very complex framework and documentation does not cover every aspect of Grails. But what is available is well explained. Also, grails community is very responsive, so if you don't find something you will easily have an answer in Grails forum or even on StackOverflow
Definitely Agree. Again, with IntelliJ you can debug easily but it is resource-consuming and takes time when reloading your app. So usually, I end up with logging traces and I debugg my full stack of exceptions like that! IMHO, this is one of the major shortcomings of Grails.

Incorporate Team Coherence version label into build

The accepted answer to this question suggests using an SVN revision number as part of the version number when building a release. I want to do something similar using Team Coherence, which doesn't do revision numbers quite the same way.
For Delphi 2009 how can I set up a build script so that every release automatically includes a number or tag linking it to a specific Team Coherence check-in or version label? Just a way to access the current version label would be great, though a solution that automatically updates it would be even better.
I don't know how to do this (though I'm interested in the answer, I use TC myself) - but have you emailed Ewan at QSC about it? On the few occasions I've needed some help doing something like this he's replied very quickly and if he doesn't know how to do it, well quite honestly you probably can't - he's the TC developer! :-)
support#teamcoherence.com
QSC web site

Resources