analizować je w javascript;) Oto JSFiddle do całkiem-print plik OSGi MANIFEST.MF:
http://jsfiddle.net/scotch/5WJwd/embedded/result/
var sectionsText = text.split(/\n\n\n/),
sections = {},
sectionText,
name,
body,
packagesText,
packages,
packageName,
packageBody;
for (var i in sectionsText) {
sectionText = sectionsText[i];
name = sectionText.substr(0, sectionText.indexOf(": "));
body = sectionText.substr(sectionText.indexOf(": ") + 2);
sections[name] = body;
if (name.indexOf("Package") != -1) {
body = body.replace(/[\n\r] /g, '');
body = body.replace(/(,)(?=(?:[^"]|"[^"]*")*$)/g, "$1\n");
packagesText = body.split(/\n/);
packages = {};
for (var i in packagesText) {
packageBody = packagesText[i];
packageName = packageBody.substr(0, packageBody.indexOf(";"));
packageBody = packageBody.substr(packageBody.indexOf(";")+1);
if (collapse) {
packageBody = packageBody.replace(/uses:="[^"]*"/g, 'uses:="..."');
}
packages[packageName] = packageBody;//.replace(/;/g, ';\n');
}
sections[name] = packages;
}
}
To sortuje wpisy wg kolejności alfabetycznej też, więc można porównać im. Mam nadzieję, że przyda się komuś (szczególnie osobom rozwijającym się poza Eclipse).
To prawie dokładnie to, co byłem po - edytor JAR pokazuje tylko plik manifestu jako zwykły tekst, ale BND Bundle Editor wydaje się być w stanie otworzyć plik jar i parsować i wyświetlić importuj ładnie pkg (+1), ale nie eksportuj ani pkgs prywatnych (-1). – pauli
Właściwie to nie jest poprawne. Jeśli dodałeś plik Jar do repozytorium cnf, wystarczy kliknąć pakiet w widoku repozytorium, a następnie przejrzeć widok "Import/eksport". Tam zobaczysz, jaki rodzaj paczek zostanie zaimportowany i jaki rodzaj paczek zostanie wyeksportowany.ale oczywiście nie prywatne, bo nadal są prywatne;) –
Pamiętaj, że w najnowszej wersji Bndtools możesz zainstalować edytor JAR jako samodzielny komponent, tzn. nie musisz instalować całego Bndtools, jeśli nie masz t chcę. –