Obecnie próbuję uzyskać moją kompilację (~ 30 pakietów) wykonanych przez tycho.
Podczas testów jednostkowych natknąłem się na pewne niejasne problemy podczas korzystania z Mockito.
Utworzono projekt eclipse-test-plugin
jako fragment projektu do przetestowanego pakietu. Ponieważ Theseo powinien rozwiązać wymagane pakiety za pomocą manifestu, usunęłem zależność do mockito z pom.xml
.
Gdy następnie spróbuję dodać mockito do wymaganych pakietów w manifeście mockito, nie ma na liście. Znalazłem this post i utworzyłem docelową platformę wskazującą na zaćmienie indygo.
Zawarłem specyfikację platformy, więc nie potrzebuję pakietu Delta Eclipse. Wtedy pojawia się pierwsza dziwna rzecz. Eclipse mówi mi, że istnieją pewne niezadowalające zależności, a kiedy ustawię nowo utworzoną platformę docelową jako aktywną w ramach środowiska Eclipse, żadne pakiety, takie jak org.osgi.framework
itd., Nie mogą zostać usunięte przez środowisko Eclipse. Ale kiedy buduję eclipse-product
używając tycho i docelowej platformy, to działa.Jak odwołać się do mockito w ramach tycho?
Jeżeli ustawić bieżącą instalację Zaćmienie jako aktywnej platformy wiązki są rozwiązane. Wybrałem następujące uwalniania indygo
- Eclipse RCP Plug-in Zasoby Wywoływacz Components
- Equinox docelowe Komponenty
- Jetty docelowe
Tak więc moje pierwsze pytanie jest „Co jest źle z moją platformą docelową, dzięki czemu teno jest w stanie z niej korzystać, ale zaćmienie nie jest? "
Aby zbliżyć się do mojego pierwotnego problemu (uruchomienie mockito) Ustawiam obecną instalację zaćmienia jako aktywną platformę docelową. Eclipse może następnie rozwiązać pakiet org.osgi.framework
i inne.
Dodałem wtedy poprzednio usuniętą zależność do mockito ponownie do mojego pom.xml
, jak we wspomnianym powyżej poście. Ale nadal nie mogę znaleźć mockito, gdy próbuję dodać go do wymaganych pakietów w manifeście.
Moje drugie pytanie brzmi: "Co robię źle? W jaki sposób odwołujesz się do pakietów, które nie są publikowane w witrynie aktualizacji środowiska Eclipse, np. Maven centralne repozytorium?"
Aktualizacja: W trakcie moich badań znalazłem dwa sposoby, w tym wiązek z non-P2-update-stron w moim docelowej platformy:
- Nexus Pro
Profesjonalny wersja Nexusa obsługuje repozytoria p2-Proxy, które mogą łączyć domyślne repozytorium maven, takie jak centralne repozytorium Maven, w stronę aktualizacji p2, ale wersja profesjonalna kosztuje około 800 USD rocznie. - Załóż Eclipse repozytorium
Można utworzyć nowy projekt maven z opakowaniemeclipse-repository
tym wszystkich żądanych wiązkach. Utworzony artefakt jest następnie wdrażany na wspólnym serwerze sieciowym.
Na swojej platformie docelowej możesz następnie odwołać się do repozytorium p2-proxy Nexusa lub do repozytorium P2P dostępnego w sieci.
Czy ktoś wie, inne sposoby - prawdopodobnie bardziej wygodne/tańsze?
Proszę mi pomóc zrozumieć mylące świat Tycho nieco więcej ...
góry dzięki
To pytanie ma zbyt wiele otwartych końców - powinieneś rozważyć ograniczenie go do jednego pytania, np "jak odwołać się do Mockito z Tycho?" – oberlies
Dodałem odpowiedź na podobne pytanie z listą nowych i eleganckich sposobów tworzenia repozytorium Eclipse w wysoce zautomatyzowany i czysty sposób za pomocą 'p2-maven-plugin' - http://stackoverflow.com/a/24777560/464590 – berezovskyi