Class PortableWorkingDir

java.lang.Object
net.i2p.router.startup.PortableWorkingDir

public class PortableWorkingDir extends Object
Get a relative working directory for i2p based upon properties by parent process. This is used together with the Browser Bundle. This class is slim/light because the initial config is deployed by I2PCtrl.js if the config directory is missing from the relative directory it's using, and if any migrations is needed, I2PCtrl.js will do that part. In the future BB might have flavors or plugins whichs would be apps normally distributed with default install of i2p, and other plugins available. I2PCtrl.js will manage these since it's closer to the end-user via browser options and GUI. Just FYI: In the context of a BB: On OSX it has to look 3 paths up, but for the other two, only one. OSX Path: I2PBrowser.app/Contents/MacOS/firefox OSX => ../../../I2PBrowser-Data/I2P Linux/Windows => ../I2PBrowser-Data/I2P ---- However, The javascript plugin I2PCtrl.js is setting correct working and base directory so this class can be quite dumb. Working directory is where we have most of our config, and keys. Base directory is where we usually find the wrapper config (on normal installs) together with jars and static files in an I2P installation. Portable uses both, with the key usage being that I2P is extracted from (whatever) to a base directory, but still has it's config separate in the working directory.
Since:
0.9.35
Version:
0.2
Author:
(who to blame) Meeh
  • Constructor Details

    • PortableWorkingDir

      public PortableWorkingDir()
  • Method Details

    • getWorkingDir

      public static String getWorkingDir(Properties envProps)
      Only call this once on router invocation. Caller should store the return value for future reference.
      Parameters:
      envProps - environment properties