Eclipse空(测试)更新站点

时间:2012-08-14 14:45:53

标签: eclipse repository update-site

有没有办法为Eclipse创建一个空的更新站点仓库?

我目前正在研究正在测试的产品,我希望能够将更新站点自动添加到已启用的可用软件站点。

如果我这样做,那么用户会收到错误,告诉他在该位置没有找到存储库。

有没有办法在那里有一个不包含任何更新的存储库?我可以放一个空的content.xml和artifact.xml吗?

2 个答案:

答案 0 :(得分:3)

如果您有一个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/ 复合 / core / trunk /]

答案 1 :(得分:2)

为了避免更新页面不存在的任何消息,我创建了一个包含site.xml,artifacts.jar和content.jar的虚拟更新站点

我上传了一个包含虚拟文件here的存档。

对于那些不够信任的人,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>