forked from I2P_Developers/i2p.i2p
Reducing the amount of "items" in the root of the repo
by moving documents into a own docs directory.
This commit is contained in:
38
docs/DIRECTORIES.md
Normal file
38
docs/DIRECTORIES.md
Normal file
@ -0,0 +1,38 @@
|
||||
# Short directory explaination
|
||||
|
||||
This list should give any new developer a kickstart in where to find code that they wish to modify.
|
||||
|
||||
Also nice for old developers with weak memory :)
|
||||
|
||||
Directory | Description
|
||||
------- | ---------
|
||||
`apps` | This directory contains applications and clients that ships with i2p.
|
||||
`apps/addressbook` | Some headless code for addressbook management.
|
||||
`apps/apparmor` | Ruleset for AppArmor.
|
||||
`apps/BOB` | Code for the BOB service.
|
||||
`apps/i2psnark` | Code for i2psnark, the torrent client component in webconsole.
|
||||
`apps/i2ptunnel` | Code for the Hidden Service Manager, and it's GUI in webconsole.
|
||||
`apps/jetty` | Jetty webserver code.
|
||||
`apps/routerconsole` | The router console code.
|
||||
`apps/sam` | SAM service.
|
||||
`apps/streaming` | The streaming part.
|
||||
`apps/susidns` | Code for the addressbook component in the webconsole.
|
||||
`apps/susimail` | Code for the mail client component in the webconsole.
|
||||
`installer` | This directory contains the code for the installer.
|
||||
`installer/resources` | Used for static files that's packed with i2p.
|
||||
`core/java` | Common core code used both by the rotuer and apps.
|
||||
`core/java/src/net/i2p/app` | Code for app interface.
|
||||
`core/java/src/net/i2p/crypto` | This directory contain most of the crypto code.
|
||||
`core/java/src/net/i2p/client` | Client interface code (I2PClient, I2PSession etc.).
|
||||
`core/java/src/net/i2p/socks` | SOCKS implementation.
|
||||
`core/java/src/net/i2p/update` | Parts of the update code.
|
||||
`core/java/src/net/i2p/util` | Utillity code like Log, FileUtil, EepGet, HexDump, and so on.
|
||||
`router/java` | This directory contains the I2P router code.
|
||||
`router/java/src/net/i2p/data/i2np` | I2NP code, the inner protocol for I2P.
|
||||
`router/java/src/net/i2p/router/startup` | Code related to the startup sequence.
|
||||
`router/java/src/net/i2p/router/networkdb/kademlia` | The DHT (kademlia) code.
|
||||
`router/java/src/net/i2p/router/networkdb/reseed` | The reseed code.
|
||||
`router/java/src/net/i2p/router/transport` | Transport implementation code (NTCP, SSU).
|
||||
`router/java/src/net/i2p/router/tunnel` | Tunnel implementation code.
|
||||
|
||||
|
37
docs/HACKING.md
Normal file
37
docs/HACKING.md
Normal file
@ -0,0 +1,37 @@
|
||||
# Readme for hacking on the source
|
||||
|
||||
## Build systems
|
||||
The build system of I2P today is a bit mixed.
|
||||
In the old days, and at least for relasing we actually use
|
||||
the old `ant` tool. For the new Browser Bundle launcher, as
|
||||
well as the Mac OSX launcher the `sbt` tool from the Scala
|
||||
world was used cause it gives some increadibly effictive plugins
|
||||
and logic to build them while keeping a relation to the old build
|
||||
system.
|
||||
|
||||
We also have Gradle partly implemented, much work, but not all. Meeh
|
||||
which is writing this readme is guessing we'll end up with a combination
|
||||
of Gradle and SBT in the end when we know what kind of structure we want.
|
||||
|
||||
|
||||
## Browsing around the source code
|
||||
|
||||
If you're new at this, which we all was at one point, I'll have some tips.
|
||||
|
||||
* Check out our [DIRECTORIES.md](DIRECTORIES.md) to learn ore
|
||||
about where you'll find I2P's different parts in the codebase.
|
||||
|
||||
* For me (Meeh), it worked well to run `find . -type f -name '*Runner.java'`
|
||||
from the source tree root, and take a look at the files that get listed. A lot
|
||||
of hints of how this is peaced together lies there.
|
||||
|
||||
|
||||
## The .. Monotone part
|
||||
|
||||
Check out [MONOTONECHEATSHEET.md](MONOTONECHEATSHEET.md) file.
|
||||
|
||||
## SBT Behind proxy
|
||||
|
||||
Seems it's a hassle behind SOCKSv5. But for use of HTTP proxy to fetch
|
||||
dependencies and such, please edit `export SBT_OPTS="$SBT_OPTS -Dhttp.proxyHost=myproxy-Dhttp.proxyPort=myport"`
|
||||
to have correct values for your system, then execute it before you start SBT.
|
30
docs/MONOTONECHEATSHEET.md
Normal file
30
docs/MONOTONECHEATSHEET.md
Normal file
@ -0,0 +1,30 @@
|
||||
# Monotone cheatsheet
|
||||
|
||||
**Slogan:** *Saving you hours reading old manuals*
|
||||
|
||||
For most of us developers using git, one of the columns will have an example of
|
||||
how certain things are done in git, to easier know what to do in monotone.
|
||||
|
||||
## Commands
|
||||
|
||||
Command | Git cmd (which give same info) | Description
|
||||
------ | ----------------------------- | ------------
|
||||
`mtn ls unknown` | `git status` | List untracked files.
|
||||
`mtn status` | `git status` | List untracked files. (Please note that `mtn status` do NOT list unknown files.)
|
||||
`mtn mv [src] [dest]` | `git mv [src] [dest]` | Move a traced directory or file.
|
||||
`mtn add -R [files..]` | `git add [files..]` | Adds a file to the workspace. Please use -R when it's directories.
|
||||
`mtn ci [-k devkey] [files..]` | `git commit -s [files...]` | Sign and commit a patch.
|
||||
`mtn -d [mtndb] pull [-k devkey] [server]` | `git pull [servername] [branchname]` | Pulls new patches from a remote server.
|
||||
`mtn -d [mtndb] push [-k devkey] [server]` | `git push [servername] [branchname]` | Pushes your patches to a remote server.
|
||||
`mtn update -r t:TAGNAME` | `git checkout TAGNAME` | Check out an tag in current working directory.
|
||||
`mtn list tag` | `git tag -l` | List tags in the repo.
|
||||
`mtn di -r t:TAGNAME` | `git diff TAGNAME` | Show you the diff between the choosen tag and current head.
|
||||
|
||||
TBA...
|
||||
|
||||
Contributions are welcome!
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user