W kompilacji Tycho Zależności OSGI są zwykle określone w manifest.mf odpowiednich modułów (np. Wtyczki z Eclipse). O ile mi rozumiem, Tycho określa te zależności, rozwiązuje je i dodaje ich do MAVEN Model budowy w czasie kompilacji (przepraszam za link maszynowy Wayback; witryna Tycho wydaje się przejść pewne zmiany w tej chwili).

Czy możliwe jest odniesienie do takiej pochodnej zależności w innych wtyczkach maven? Na przykład, jeśli chcę skopiować konkretne zależności z Maven -Zależność-wtyczka Jak poznałbym, który groupid, artefaktyd i wersja musiałaby zapewnić?

1
Johnson 23 październik 2020, 17:47

1 odpowiedź

Najlepsza odpowiedź

Tycho ma własny mechanizm rozdzielczości zależności, który różni się od Mavena. Tycho ładuje zależności określone w manifestie repozytoriów P2, a nie z repozytoriów maven (przynajmniej zwykle *). Artefakty Maven i pakiety P2 mają różne struktury meta-danych, dzięki czemu nie zawsze możesz ich odwzorować. Na przykład pakiety nie mają koncepcji identyfikatora grupy / artefaktu.

Regularne wtyczki Maven może obsługiwać regularne zależności maven. Artefakty P2 nie są dla nich widoczne.

W zależności od tego, co próbujesz osiągnąć, możesz spróbować przekonwertować pakiety P2 do zależności Maven, a następnie przetwarzać je za pomocą wtyczek maven. Dla konkretnego przykładu może to pomóc, jeśli nie masz nic przeciwko dzieleniu zbudowania w wielu krokach: Używaj zależności od repozytorium Eclipse P2 w zwykłym kompilacji Maven?

* Możesz skonfigurować Tycho za pomocą pomDependencies=consider, aby dołączyć artefakty Maven. Byliby to widoczne dla regularnych wtyczek maven, ale nie polecam tego, to sprawia, że budowanie / wdrażanie trudniej, tym bardziej złożona jest kompilacja

1
kapex 26 październik 2020, 13:22