Подтвердить что ты не робот

Как установить список плагинов eclipse из script?

Мне нужен способ полностью настроить настраиваемую среду кодирования eclipse с помощью script в Linux. В настраиваемой среде затмения требуется установка около 10 различных плагинов из разных источников (protobuf, pydev, cmakeed, openinterminal, egit, yaml, webpageeditor и т.д.). Выполнение этого вручную каждый раз с помощью gui занимает 20-30 минут. Я хочу автоматизировать установку плагинов в script, поэтому любой, кто работает в Linux, может воссоздать среду eclipse с помощью настраиваемого набора плагинов без взаимодействия с человеком. У кого-нибудь есть советы о том, как это сделать?

4b9b3361

Ответ 1

Вот фрагменты командной строки для установки некоторых из моих любимых плагинов (протестированных на Eclipse Indigo 3.7)... Трюк заключается в том, чтобы выяснить значение параметра "installIU" для пакета... Графический интерфейс Eclipse покажите это, если вы нажмете ссылку "больше", когда нужный пакет выбран в окне установщика.

cmakeed - редактор CMake

eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/releases/indigo/,http://cmakeed.sourceforge.net/eclipse/ -installIU com.cthing.cmakeed.feature.feature.group

OpenInTerminal - добавить параметр в контекстное меню

eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/releases/indigo/,http://eclipse-openinterminal.googlecode.com/svn/trunk/site/ -installIU OpenInTerminal.feature.group

protobuf-dt - редактор Google Protobuffer

eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/releases/indigo/,http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/,http://protobuf-dt.googlecode.com/git/update-site -installIU com.google.eclipse.protobuf.feature.group

yedit - редактор YAML

eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/releases/indigo/,http://dadacoalition.org/yedit -installIU org.dadacoalition.yedit.feature.group

обстрелянный - Bash Script Редактор

eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/releases/indigo/,http://download.eclipse.org/technology/dltk/updates/,https://sourceforge.net/projects/shelled/files/shelled/update/ -installIU net.sourceforge.shelled.feature.group

Редактор веб-страниц

eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/releases/indigo/ -installIU org.eclipse.jst.webpageeditor.feature.feature.group

Pydev
Pydev сложно, потому что сначала требуется установить сертификат... Здесь Script, который автоматизирует этот шаг:

#!/usr/bin/python
# Add PyDev certificate to Java key and certificate database
# Certificate file here: http://pydev.org/pydev_certificate.cer
import os, sys, pexpect, urllib2
def main():
  # NOTE: You may have to update the path to your system cacerts file
  certs_file = '/usr/lib/jvm/default-java/jre/lib/security/cacerts'  
  pydev_certs_url = 'http://pydev.org/pydev_certificate.cer'
  print "Adding pydev_certificate.cer to %s" % (certs_file)
  pydev_cert = open('pydev_certificate.cer', 'w')
  pydev_cert.write(urllib2.urlopen(pydev_certs_url).read())
  pydev_cert.close()
  cmd = "keytool -import -file ./pydev_certificate.cer -keystore %s" % (certs_file)
  child = pexpect.spawn(cmd)
  child.expect("Enter keystore password:")
  child.sendline("changeit")
  if child.expect(["Trust this certificate?", "already exists"]) == 0:
    child.sendline("yes")
  try:
    child.interact()
  except OSError:
    pass  
  print "done"

if __name__ == "__main__":
  main()

Затем вы можете запустить:

eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://download.eclipse.org/releases/indigo/,http://pydev.org/updates/ -installIU org.python.pydev.feature.feature.group

Ответ 2

Вы можете использовать приложение p2 director для установки функций Eclipse с помощью script. Вот несколько ссылок, которые могут помочь.