Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Searching for a Masterthesis in combination with Tycho

Hi Felix,

See my comments inline. (I'm replying to your original e-mail to make it easier to reference details of it - the other comments written on the list were all valid nevertheless)


Felix Köhler wrote:
> Hi all
> 
> my name is Felix Köhler, I'm from Germany and im going to do my Master
> Degree. For my Master-Thesis I planned to do some stuff for building,
> especially building eclipse.
> 
> At the moment I'm working in a company who's developing an eclipse
> application for automation and security tasks. In my Bachelor-Thesis I
> changed the building process from a single Ant build to a Maven build
> with Tycho in combination with Continous Integration.

It is probably worth looking at the use cases of your company: Does your company only build Eclipse artifacts for end users, or do you also produce Eclipse artifacts to be used by other Tycho builds? The latter is a major use case for us (SAP), which is why we developed the Nexus Unzip Plugin [1] and the PDE target editor enhancements [2]

> Since then I did a lot of stuff around this.
> Actually im improving the part about building the targetsite (we need a
> offline version, because we've internet problems often).

If this is your company's main use case, the Nexus Unzip Plugin the PDE target editor enhancements will probably also be useful. Are you already using the Unzip Plugin to make the p2 repositories available independent of the internet? Are you aware of this setup? (-> Deploy zipped p2 repositories as Maven artifacts to an m2 repository on Nexus, and set up an unzip "shadow" repository serving the uploaded files)

> And now I'm searching for a topic for my thesis.
> 
> Possibilities I thought about:
> 
> 1. Developing a simple Repository management for P2-Artifacts.
> I tried a lot with Reporitymanagement-System like Nexus ... But non of
> them can understand P2 out of the box and are easy to use.

Before you start something new, really make sure that you fully understand all of the existing approaches. I've seen far too often that computer scientists in academia start something new without properly looking into existing projects and options to evolve these.

One thing which doesn't exist is "p2 central", i.e. something like Maven central for p2 artifacts. Sonatype has tried to develop this with experts in Nexus, Maven, Tycho and p2, but the project failed. The reason is that p2 repositories can't be scaled to the size of Maven central, which is far, far beyond the size of the repositories that exist today - the largest ones being the Eclipse release train repositories.

However there would be ways to unify Maven and p2 repositories which don't try to break the "sound barrier" of p2. Starting from the approach to deploy p2 repositories as Maven artifacts and serving them with the Unzip Plugin, this could be optimized to an individual Maven deploy of the feature and bundle JARs, plus a deployments of a p2 repository only consisting of metadata. In this way, all p2 artifacts would be stored as Maven artifacts in the Maven repository, and the deployed p2 repositories would be views on a subset of all p2 artifacts in the Maven repository.

Looking into "Unifying Maven and p2 repositories" would probably something which is both interesting as academic question and in practical use.

> 2. Developing a mechanism to improve the handling of pom.xml-Files in
> Tycho Builds
> In the company where im working, we have a Build with over 100 bundles.
> And our developers a tired of the extra handling of the pom.xml. For
> example if they increase the version. They don't want to use the
> commandline. So they have to hande two files (Manifest and pom.xml) So at
> this point I planned a Maven-Plugin or Eclipse precompiler, where you
> have one parten-pom (master-pom) and if necessary generate the simple
> default pom.xml. If u need special things, u can generate the pom
> manualy... There a lot of more feautes I'm thinking about.
> 
> But before I decide which one I'm gonna do, i want to know if they're
> really needed or if there are other good solutions. Eventually you know
> an other Problem I can choose.

There are a lot of approaches which generated or automatically update the pom.xml files. AFAIK, some Eclipse Platform/CBI project automatically update and submit their POMs in the build for the same reason as you describe (see the lengthy discussing here [3]). However all these solutions are really just workarounds.

The proper solution is Polyglot Maven, which allows the project object model to be read from arbitrary files. There is already a POC for integration Tycho with this [4]. However Polyglot Maven is also only in POC state, so to make this happen someone would need to step up, productize the POC and integrate it into Maven core. You could try to do that, but I'm not sure that this is suitable for a Master's thesis - it would involve "boring" hard work (earning merits in the Maven project by doing smaller contributions first, plus the productization of Polyglot Maven) and less fancy ideas you could "brag" about in your thesis.

> Both ideas are directly linked to Maven/Tycho thats the reason I chose
> this mailinglist. I will be very thankful for some help.

Good that you're asking. I'd appreciate if your work would result in something the whole community can benefit from, but I also understand that this is not always the primary focus of a Master's thesis.

Best regards
Tobias


> Greets
> Felix Köhler


[1] http://wiki.eclipse.org/Tycho/Nexus_Unzip_Plugin
[2] https://bugs.eclipse.org/bugs/show_bug.cgi?id=401719
[3] https://bugs.eclipse.org/bugs/show_bug.cgi?id=387802
[4] https://bugs.eclipse.org/bugs/show_bug.cgi?id=386114

> 
> Mit freundlichen Grüßen
> 
> Felix Köhler
> GEMTEC GmbH
> Am Möllenberg 37
> D-15713 Königs Wusterhausen OT Niederlehme
> E-Mail:           koehler@xxxxxxxxx
> 
> Webseiten:  www.gemtec.eu   oder      www.wotanex.de
> Sitz der Gesellschaft: Königs Wusterhausen OT Niederlehme
> Geschäftsführer:         Nils Burschik, Jan Burschik, Jens Krönert, Sven
> Lauritsen
> Handelsregister:           Amtsgericht Cottbus HRB 9452 CB
> 
> 




Back to the top