Доступ к связанным ресурсам в Eclipse
В настоящее время я работаю над усилием, которое использует инструмент Windriver's Workbench, который, как я понимаю, построен на основе Eclipse.
Нашим инструментом управления исходным кодом является ClearCase, и мы работаем, в основном, с представлениями снимков, расположенными на рабочих станциях отдельных разработчиков. В результате абсолютный путь для каждого разработчика выглядит иначе. Поскольку глубоко вложенные относительные пути могут быть несколько громоздкими (например,../../../../../Some_Package/src/), мы используем связанный ресурс PROGRAM_ROOT_PATH
который идентифицирует конкретную директорию представления для данного разработчика.
Это работает относительно хорошо для ссылки на каталоги заголовка и библиотеки в свойствах сборки, но мы пытаемся ссылаться на этот связанный ресурс из наших сценариев сборки, чтобы выполнить постобработку сборки, такую как копирование скомпилированной программы в область выпуска.
Доступ к связанному ресурсу, как будто это переменная среды, кажется неправильным $(SOURCE_ROOT_PATH)
предоставляет пустую строку. Есть ли способ получить доступ к этой информации из Eclipse / Workbench из make-файла?
1 ответ
Посмотрите внутри файлы.classpath и.project в корне вашего рабочего пространства проекта - я считаю, что связанный ресурс должен быть определен в одном или другом из них (вероятно,.classpath). Из вашего скрипта (вы не упоминаете, что это Ant, Maven, Gradle и т. Д.) Вы сможете найти способ получить это значение из.classpath (с помощью какого-либо плагина или пользовательского кода).
Мы используем Eclipse, ClearCase и Ant. Самый простой способ, который я нашел для совместного использования проектов, - это включить файлы.project,.classpath и build.xml в верхний уровень проекта в ClearCase. Затем, когда вы создаете свое представление, монтируете его в свое рабочее пространство Eclipse и делаете File -> Import, затем выбираете Existing Project из всплывающего окна. Перейдите на верхний уровень проекта в представлении и импортируйте его.
Пути в build.xml и.classpath являются относительными с этой точки вниз, поэтому не имеет значения, каков абсолютный путь к проекту. Например, ваша сборка будет определять ваш исходный каталог как что-то вроде./src/java, тестовый каталог как./test/java и т. Д. Независимо от того, является ли ваш абсолютный путь c:\workspace\project или /home/someuser/project или что-то еще не имеет значения для вашего сценария сборки.