Сборка Eclipse SWT на Солярисе - PullRequest
0 голосов
/ 04 мая 2018

Мне было поручено собрать файлы jar SWT для Solaris. К сожалению, готовые версии, доступные для Solaris, слишком старые, поэтому у меня нет другого выбора.

Для начала у меня очень ограниченный опыт работы с Maven, но я набираю кое-что по ходу.

Когда я пытаюсь

mvn clean package

Я получаю следующее:

[INFO] Resolving dependencies of MavenProject: org.eclipse.swt:org.eclipse.swt.tools.base:3.107.0-SNAPSHOT @ /home/User/employees/culver_city/giperez/git/eclipse.platform.swt/bundles/org.eclipse.swt.tools.base/pom.xml
[INFO] {osgi.os=linux, osgi.ws=gtk, org.eclipse.update.install.features=true, osgi.arch=x86}
[ERROR] Cannot resolve project dependencies:
[ERROR]   Software being installed: org.eclipse.swt.tools.base 3.107.0.qualifier
[ERROR]   Missing requirement for filter properties ~= $0: org.eclipse.swt 3.107.0.qualifier requires 'org.eclipse.equinox.p2.iu; org.eclipse.swt.gtk.linux.x86 [3.107.0.qualifier,3.107.0.qualifier]' but it could not be found
[ERROR]   Cannot satisfy dependency: org.eclipse.swt.tools.base 3.107.0.qualifier depends on: osgi.bundle; org.eclipse.ui 3.4.0
[ERROR]   Cannot satisfy dependency: org.eclipse.ui 3.109.100.v20180426-0903 depends on: osgi.bundle; org.eclipse.swt [3.103.0,4.0.0)

Это жалоба org.eclipse.swt.gtk.linux.x86, которая не имеет смысла, которую я создаю для Solaris.

Кажется, проблема в следующем:

[INFO] {osgi.os = linux, osgi.ws = gtk, org.eclipse.update.install.features = true, osgi.arch = x86}

Итак, OSGI передается как «linux» как ОС, что опять же не имеет смысла. Я подумал, что если бы я мог это исправить, то я мог бы обойти эту проблему, но я не смог.

Я попытался добавить в корень pom.xml следующее:

<groupId>org.eclipse.tycho</groupId>
<artifactId>target-platform-configuration</artifactId>
<version>${tycho.version}</version>
<configuration>
<environments>
<environment>
    <os>solaris</os>
    <ws>gtk</ws>
    <arch>x86_64</arch>
</environment>

И я попробовал много вариантов:

mvn clean package -Dorg.eclipse.osgi.os=solaris

Независимо от того, я вижу:

[INFO] {osgi.os=linux, osgi.ws=gtk, org.eclipse.update.install.features=true, osgi.arch=x86}

И возникает та же ошибка.

Странно, если я попытаюсь:

mvn clean package -Pbuild-individual-bundles

Это работает! Однако файл 'jar', который я ищу (org.eclipse.swt.gtk.jar или какой-либо другой вариант), не существует.

У кого-нибудь есть идеи, как заставить это работать на Solaris?

...