LeKaitoW / raox

Rao modelling language written in Xbase
http://raox.ru
MIT License
12 stars 26 forks source link

Открытие моделей #517

Closed aurusov closed 8 years ago

aurusov commented 8 years ago

Сейчас невозможно открыть проект с моделью в другом Эклипсе. Как минимум, проблема есть в настройках .classpath

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="src" path="src-gen"/>
    <classpathentry kind="lib" path="/home/drobus/git/raox/ru.bmstu.rk9.rao.lib/bin/" sourcepath="/home/drobus/git/raox/ru.bmstu.rk9.rao.lib"/>
    <classpathentry kind="lib" path="/home/drobus/bin/eclipse-dsl-neon-R-linux-gtk-x86_64/plugins/org.eclipse.xtext.xbase.lib_2.10.0.v201605250459.jar"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Два абсолютных пути 1 org.eclipse.xtext.xbase.lib можно заменить на

<classpathentry kind="con" path="org.eclipse.xtend.XTEND_CONTAINER"/>

2 ru.bmstu.rk9.rao.lib

<classpathentry kind="var" path="ECLIPSE_HOME/dropins/ru.bmstu.rk9.rao.lib-3.2.0.jar"/>

Но получится привязка к конкретной версии raox

<classpathentry kind="var" path="ECLIPSE_HOME/dropins/ru.bmstu.rk9.rao.lib.jar"/>
<classpathentry kind="var" path="RAOX_LIB"/>

Но потеряем возможность взять голый Эклипс, положить бинари в dropins и начать работать. Нужно будет настраивать руками. Склоняюсь к этому варианту.

@bogachev-pa @k-alexandrovsky Боль и негодование, можно не читать, но не могу не написать. Вообще-то это залет, когда пользоваться системой могут только сами разработчики и только на простых примерах. Если бы ms word вел бы себя так же:

И вот делай с этим что хочешь. Рука-лицо. Кто-то думал о реальном кейсе использования ?

aurusov commented 8 years ago

https://www.eclipse.org/forums/index.php/t/452902/

bogachev-pa commented 8 years ago

Может быть, нам нужно забиндить какие-то кастомные действия на открытие rao-проектов? И в этот момент обновлять им класспас программно, например.

Хотя более правильным мне кажется использовать OSGI бандлы вместо простых Java-проектов для проектов rao. Скорее всего, это возможно, хотя я не очень в этом разбираюсь, и надо бы почитать.

aurusov commented 8 years ago

Или мавен. Но я тоже в этом не разбираюсь. Нужно что-то кто-то уделил этому время. Из приведенных выше, у меня получается настроить только

<classpathentry kind="var" path="ECLIPSE_HOME/dropins/ru.bmstu.rk9.rao.lib.jar"/>

Да и то, еще не смотрел можно ли в визарде такое закодить. Плюс надо в мавене добавить копирование либы без версии.

@AlexChernov Нужна помощь, посмотри предыдущее предложение и всё обсуждение. Если непонятно, то спроси.

aurusov commented 8 years ago

И в этот момент обновлять им класспас программно, например.

Точно нет, потому что это поменяет только что выкаченный проект из гитхаба. Или не хранить в гитхабе .classpath.

aurusov commented 8 years ago

Получилось так

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
    <classpathentry kind="src" path="src-gen"/>
    <classpathentry kind="var" path="ECLIPSE_HOME/dropins/ru.bmstu.rk9.rao.lib.jar"/>
    <classpathentry kind="con" path="org.eclipse.xtend.XTEND_CONTAINER"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

@bogachev-pa Залил решение, которое убирает абсолютные пути. Импортированная модель запускается на raox, в папке droping которого лежит ru.bmstu.rk9.rao.lib.jar. Пока переписываю либу рыками. Изначальная задача решена - студенты смогут импортировать модели. Но вылез косяк для разработчиков. Теперь, запуская РДО из Эклипса, запущенная версия не имеет такой либы и модель не компилируется. Получается, для кейса с разработкой надо сохранить текущее решение или придумать что-то новое. Есть идеи ?

AlexChernov commented 8 years ago

Еще насчет ru.bmstu.rk9.rao.lib.jar, я забыл про архив без эклипса с плагинами, его тоже надо поправить наверное?

aurusov commented 8 years ago

@AlexChernov Да

aurusov commented 8 years ago

@bogachev-pa М.б. вот так передаются бинарники. Но непонятно кто из них делает либы. И вообще, на днях менял в этом окошке галки. Не факт, что у тебя будет так же. 2016-10-15_23-38-01