|Re: Build Tool for RCP [message #1233678 is a reply to message #1233643]
||Mon, 20 January 2014 09:06
|| Lorenzo Bettini
Registered: July 2009
Location: Firenze, Italy
On 20/01/2014 08:09, S. Schulz wrote:|
> Thanks you two for answering.
>> We use Buckminster, the other game in town :)
> Really? I took a look at this one, but it seemed it isn't maintained
> anymore. Is it stable? Does it scale well for multipart projects?
Yes, it is still mantained and stable (as far as I know, it is the build
tool used by EMF, CDO and Xtext, not to mention our new Eclispe project
what do you mean by "multipart"?
> I had some time at work to validate its functionality, but when I did
> http://eclipse.org/buckminster/ was down and so my boss told me: "So
> that's the reason why the Eclipse team switched from Buckminster to Tycho."
as far as I know it was down due to Eclipse web sites switching to git
I wrote a tutorial for building RCP app with Buckminster
hope this helps
Lorenzo Bettini, PhD in Computer Science, DI, Univ. Torino
|Re: Build Tool for RCP [message #1257240 is a reply to message #1257213]
||Wed, 26 February 2014 07:53
|| Jonathan Dumont
Registered: March 2011
I can't publish our complete product configuration but to help you on the different problematics :|
1 - Project configuration :
We have configured a multi module project for Maven. All our Eclipse plugins, features and fragments have their own folder and thus their own pom.xml, which is quite simple in most cases. The packagings used are :
- for the features
- for the plugins
- for the fragments containing our Junit tests
All the corresponding Eclipse projects use an 'src' source folder and 'target/classes' as output folder. We don't use M2E for our daily work, we prefere the maven command lines, which can work in parallel with the Eclipse builds.
We also have a separated basic Eclipse project, containing our .product definition. This project has also pom.xml, with the following packaging :
It's in this pom file that we have configured the tycho plugins tycho-p2-repository-plugin and tycho-p2-director-plugin.
All these projects are linked to a parent pom.xml, which references all the child modules, defines the p2 repository built and used as our TP, and which contains the configuration of the tycho plugins tycho-maven-plugin and target-platform-configuration.
2 - Unit test configuration :
The unit tests configuration is managed in the parent pom.xml, using the tycho-surefire-plugin. We use fragments to be able to access to the classes under test, and guaranty the separation between functionnal code and test code.
Finally, the global project configuration is organised in an 'Eclipse way', which does not respect the full Maven conventions, but it works.
|Re: Build Tool for RCP [message #1269163 is a reply to message #1228028]
||Tue, 11 March 2014 13:22
Registered: September 2011
I had some time for this topic the last days, and I accidently found out that "mvn release:prepare" and "mvn release:perform" do now work with Tycho somewhat. I couldn't find out what bugs prevented us from using it before, but knowing Tycho it had to be something stupid (like the "tycho-version-plugin", which does not work since at least 0.10.0, and we're at 0.20.0 now).|
The only problem was the "maven-source-plugin", which created a JAR that overwrote the one of the "tycho-source-plugin" and that way made the resulting source JAR unusable. Since I couldn't get the maven plug-in from getting called nor change the order of the two plug-ins, I took the cowards way out and renamend the final JAR of the maven plug-in, so it doesn't overwrite anymore.
In the end I wrote a small Java program that sets the versions and does the validation necessary for plug-ins, then uses the Maven Invoker to do the actual release and then sets the versions again. It's a big step from not being able to do anything while releasing, but there's still a lot of work ahead of us if we want to release using our Jenkins. =/