Eclipse пустой (тестовый) сайт обновления
Есть ли способ создать пустое хранилище обновлений для Eclipse?
В настоящее время я работаю над продуктом, который тестируется, и я хотел бы, чтобы сайт обновлений автоматически добавлялся на доступные сайты программного обеспечения при включении.
Если я сделаю это, то пользователь получит ошибку, сообщающую ему, что в этом месте не найдено ни одного хранилища.
Есть ли способ создать хранилище, в котором нет обновлений? Могу ли я просто разместить пустой content.xml и artifact.xml?
2 ответа
Чтобы избежать появления сообщений о том, что страница обновления не существует, я создал фиктивный сайт обновления, содержащий site.xml, artifacts.jar и content.jar.
Я загрузил архив с фиктивными файлами здесь.
Для тех, кто недостаточно доверяет, код для site.xml:
<?xml version="1.0" encoding="UTF-8"?>
<site>
<feature>
</feature>
<category-def>
</category-def>
</site>
Код для artifacts.xml, который содержится в архиве artifacts.jar:
<?xml version='1.0' encoding='UTF-8'?>
<?artifactRepository version='1.1.0'?>
<repository name='${p2.artifact.repo.name}' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
<properties size='2'>
<property name='p2.timestamp' value='1305295295102'/>
<property name='p2.compressed' value='true'/>
</properties>
</repository>
И, наконец, содержимое файла content.xml (из файла content.jar):
<?xml version='1.0' encoding='UTF-8'?>
<?metadataRepository version='1.1.0'?>
<repository name='${p2.metadata.repo.name}' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'>
<properties size='2'>
<property name='p2.timestamp' value='1305295295368'/>
<property name='p2.compressed' value='true'/>
</properties>
</repository>
Если у вас есть составной сайт p2 1, и вам нужно загрузить его с нескольких пустых сайтов (до того, как они все собраны), вы можете захотеть что-то вроде этого:
now=`date +%s000`
webserver=user@domain:/web/server/path
cd /tmp
for d in component1 component2 component3 component4; do
echo "== ${f}/${d} =="
mkdir -p ${d}/all/repo/
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > ${d}/all/repo/site.xml
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > ${d}/all/repo/artifacts.xml
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" > ${d}/all/repo/content.xml
echo "<site><description>Placeholder for ${d} site</description><feature></feature><category-def></category-def</site>" >> ${d}/all/repo/site.xml
echo "<?artifactRepository version='1.1.0'?><repository name='${d}.site' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'><properties size='2'><property name='p2.timestamp' value='${now}'/><property name='p2.compressed' value='true'/></properties></repository>" >> ${d}/all/repo/artifacts.xml
echo "<?metadataRepository version='1.1.0'?><repository name='${d}.site' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1.0.0'><properties size='2'><property name='p2.timestamp' value='${now}'/><property name='p2.compressed' value='true'/></properties></repository>" >> ${d}/all/repo/content.xml
rsync -zrlt --rsh=ssh --protocol=28 ${d}/* ${weberver}/${f}/${d}/
done
cd ..
done
1 [http://download.jboss.org/jbosstools/builds/staging/ смесь / ядро / ствол /]