Package net.i2p.router.startup
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 Summary
Constructors Constructor Description PortableWorkingDir()
-
Method Summary
Modifier and Type Method Description static String
getWorkingDir(Properties envProps)
Only call this once on router invocation.
-
Constructor Details
-
PortableWorkingDir
public PortableWorkingDir()
-
-
Method Details
-
getWorkingDir
Only call this once on router invocation. Caller should store the return value for future reference.- Parameters:
envProps
- environment properties
-