Używam Mavena do budowy niektórych projektów i korzystam z wtyczki gMaven, aby zbudować RPM, który zawiera główny artefakt. Chcę tylko, aby Maven próbował zbudować RPM na systemach, które mają rpmbuild, a nie na systemach, które go nie mają, więc zbudowałem dwa osobne profile, jeden który powinien być domyślny i który ma aktywować kiedy jest w rodzinie Unix OS.Dlaczego Maven nie używa oczekiwanego profilu?
Mogłem przysiąc, że przetestowałem to i wszystko działało poprawnie, ale teraz działa na profilu rodziny Unix, nawet gdy buduję na OSX. Jeśli jednak zmienię rodzinę OS na "windows", to z pewnością wie, że nie jest to na komputerze z systemem Windows i dlatego uruchamia domyślny profil.
Oto odnośny fragment mojego pliku pom.xml:
<profiles>
<profile>
<id>default-profile</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<rpmPhase>none</rpmPhase>
</properties>
</profile>
<profile>
<id>rpm-profile</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<properties>
<rpmPhase>package</rpmPhase>
</properties>
</profile>
</profiles>
W wyjściu Maven:
OS name: "mac os x", version: "10.9.4", arch: "x86_64", family: "mac"
jednak Maven jest ustawienie rpmPhase na "pakiet", zamiast „none , "co nie jest oczekiwanym zachowaniem.
Czy ktoś może sprawdzić, czy czegoś tu nie ma?
EDIT:
Ponadto, jeśli ustawić rodzinę OS do czegoś, co nie istnieje, lub jeśli I ustosunkowania się blok aktywacji zupełnie następnie domyślny profil jest używany, więc wydaje się, że Maven aktywnie dopasowanie mój OSX z systemem operacyjnym rodziny Unix.
Cóż, OSX to system operacyjny UNIX - bazuje na BSD. – OrangeDog