| | |
| | | import com.gitblit.utils.StringUtils; |
| | | import com.google.common.io.Files; |
| | | import com.google.common.io.InputSupplier; |
| | | import com.google.inject.Inject; |
| | | import com.google.inject.Singleton; |
| | | |
| | | /** |
| | | * The plugin manager maintains the lifecycle of plugins. It is exposed as |
| | |
| | | * @author James Moger |
| | | * |
| | | */ |
| | | @Singleton |
| | | public class PluginManager implements IPluginManager, PluginStateListener { |
| | | |
| | | private final Logger logger = LoggerFactory.getLogger(getClass()); |
| | |
| | | |
| | | private int readTimeout = 12800; |
| | | |
| | | @Inject |
| | | public PluginManager(IRuntimeManager runtimeManager) { |
| | | File dir = runtimeManager.getFileOrFolder(Keys.plugins.folder, "${baseFolder}/plugins"); |
| | | dir.mkdirs(); |
| | |
| | | List<PluginRegistration> list = getRegisteredPlugins(); |
| | | Iterator<PluginRegistration> itr = list.iterator(); |
| | | while (itr.hasNext()) { |
| | | if (state != itr.next().getInstallState()) { |
| | | if (state != itr.next().getInstallState(getSystemVersion())) { |
| | | itr.remove(); |
| | | } |
| | | } |