Forum: Mikrocontroller und Digitale Elektronik Gemeinsames SVN-Code-Repository (inkl. Projectsettings), unterschiedliche Eclipse IDEs - wie lösen?


von Alexander I. (daedalus)


Lesenswert?

Hallo zusammen,

ich habe vor geraumer Zeit die Aufgabe bekommen, die alte WindRiver 
Workbench 3.1 (basierend auf Eclipse 3.4) durch ein aktuelleres Eclipse 
CDT (4.6 neon) zu ersetzen.

Das habe ich auch geschafft, nur gibt es Probleme mit der gemeinsamen 
Codebasis:

Es gibt diverse Libraries, die von vielen Entwicklern genutzt werden. 
Nicht alle sind bereit von der überalterten WRWB 3.1 Abschied zu nehmen. 
Deshalb sollte es irgendwie möglich sein, dass im selben Repository die 
einen mit Eclipse CDT neon arbeiten und die anderen noch ihren alten 
WRWB 3.1 mit dem selben Sourcecode nutzen können.

Das Problem ist:
Beide Eclipse-Varianten legen ihre Projectsettings mit gleichem Namen im 
Projekt-Root ab.

Sobald der erste Held dann eine /.cproject von Eclipse Neon eingecheckt 
hat und einer mit einer WRWB3.1 ein Update macht, dann knallt's. Das 
Projekt ist nicht mehr übersetzbar, weil die Project-Settings 
inkompatibel sind.

Gleiches Problem tritt auf, wenn jemand mit einer WRWB3.1 seine 
/.cproject eincheckt, dann gibt's bei CDT Neon Probleme.

Immerhin konnte ich beide .Project-Dateien mergen (Inhalt ergänzen), 
damit jeder klarkommt. Das Problem liegt in der .cproject.

Daher die Frage:
- Wie kann man im selben Repository unterschiedliche Eclipse IDE's 
pflegen? (Sourcecode derselbe, nur andere Projectsettings)
- Gibt es die Möglichkeit .cproject-Dateien zu 'mergen', also z.B. 
anhand der Versionsnummer unterscheidbare XML-Tags in derselben Datei zu 
pflegen? Alle meine Versuche diesbezüglich haben bis jetzt zu 
NullPointerExceptions und anderen grausigen Fehlern geführt.

Die Projectsettings selbst sollten im selben Repostitory 
versionsverwaltet bleiben, so dass die Entscheidung dem Entwickler 
überlassen ist, welche IDE er nutzt.

Ich suche nach sowas wie einer 'Bedingten Umleitung' z.B. in der 
.Project-Datei:

IF WRWB3.1 THEN Repository/prjSettings/WRWB31/.cproject
IF CDTneon THEN Repository/prjSettings/CDTneon/.cproject

Wie könnte ich diesen Ressourcenkonflikt lösen?

von Walter T. (nicolas)


Lesenswert?

Externals:

Die eigentliche Codebasis als External in Unterverzeichnisse zweier 
"Projektverzeichnis" einbinden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.