Le 08/11/2010 19:34, Ketan Padegaonkar a écrit :
This is
not a rant against you, I like you personally. I just don't like it
when people I like, like maven :P
Based on some real life war stores, and some real scars to go along:
<really long maven rant>
...
</really long maven rant>
Most of the criticism you have against Maven do not apply to Tycho.
Indeed, Tycho is not the master of your dependencies, you still have to
specify them by yourself in a Manifest, and Tycho will use it to build
a target platform that is OK for building your bundle.
The approach is fairly good. I maintain a build with Ant and I have to
admit I am almost the only one who can work with it easily in our team,
and that we spend a lot of time maintaining target platforms. I've done
some work with Maven, and I really feel that the build is easier for
everybody with Tycho.
The only difficulty is that Tycho does not allow you ugly hacks in
builds. A legacy Ant-based build allows you to write very crappy
scripts to solve some problems. Tycho forces you to get closer from the
OSGi and Maven way. Writing crappy build with Tycho is almost
impossible, so that basing the build on Tycho forces you to have a
better quality.
Concretely, Tycho would not let you to have a Manifest.mf.eclipse35 and
a Manifest.mf.eclipse36 in the same bundle with the manifest that is
chosen according to a flag in the build. It would force you to leverage
constaints in dependencies. And if you are really in need of such a
hack, you can leverage profiles, that allow you to do ugly things, but
in a more structured way.
You should give a try to Tycho. For example try building EGit/JGit, I
think you'll for sure find it pretty straightforward and you'll
understand how easy it is to get into the project thanks to it.
By the way, I think that the best way to convince you is to show you
concrete results. I keep on working on that stuff, on once I am
successful, I'll simply show you the result. Then you'll probably be
more friendly with Tycho ;)
--
Mickael Istria
R&D Engineer
This message and any attachment (the "message") is
intended solely for
the addressees and is confidential. If you receive this message by
mistake, please delete it and notify the sender immediately. Any use
not in accordance with its purpose, any out-spread or disclosure,
either as a whole or partially, is prohibited except with formal
approval. Internet cannot guarantee the integrity of this message,
therefore BonitaSoft will not be liable for the message if modified.
|