Add package extraction notes
License: MIT Signed-off-by: Lars Gierth <larsg@systemli.org>
This commit is contained in:
parent
fa83747571
commit
7d2224667a
54
README.md
54
README.md
|
@ -26,7 +26,7 @@ libp2p is the product of a long, and arduous quest of understanding -- a deep di
|
|||
|
||||
libp2p implementation in Go is a work in progress. As such, there's a few things you can do right now to help out:
|
||||
- Go through the modules below and **check out existing issues**. This would be especially useful for modules in active development. Some knowledge of IPFS/libp2p may be required, as well as the infrasture behind it - for instance, you may need to read up on p2p and more complex operations like muxing to be able to help technically.
|
||||
- **Perform code reviews**.
|
||||
- **Perform code reviews**.
|
||||
- **Add tests**. There can never be enough tests.
|
||||
|
||||
# Usage
|
||||
|
@ -53,3 +53,55 @@ $ go test ./p2p/<path of module you want to run tests for>
|
|||
## Links
|
||||
- [**Specs**](https://github.com/ipfs/specs/tree/master/libp2p)
|
||||
- [**Website**](https://github.com/diasdavid/libp2p-website)
|
||||
|
||||
|
||||
## Extracting packages from go-libp2p
|
||||
|
||||
We want to maintain history, so we'll use git-subtree for extracting packages.
|
||||
|
||||
```sh
|
||||
# 1) create the extracted tree (has the directory specified as -P as its root)
|
||||
> cd go-libp2p/
|
||||
> git subtree split -P p2p/crypto/secio/ -b libp2p-secio
|
||||
62b0a5c21574bcbe06c422785cd5feff378ae5bd
|
||||
# important to delete the tree now, so that outdated imports fail in step 5
|
||||
> git rm -r p2p/crypto/secio/
|
||||
> git commit
|
||||
> cd ../
|
||||
|
||||
# 2) make the new repo
|
||||
> mkdir go-libp2p-secio
|
||||
> cd go-libp2p-secio/
|
||||
> git init && git commit --allow-empty
|
||||
|
||||
# 3) fetch the extracted tree from the previous repo
|
||||
> git remote add libp2p ../go-libp2p
|
||||
> git fetch libp2p
|
||||
> git reset --hard libp2p/libp2p-secio
|
||||
|
||||
# 4) update self import paths
|
||||
> sed -someflagsidontknow 'go-libp2p/p2p/crypto/secio' 'golibp2p-secio'
|
||||
> git commit
|
||||
|
||||
# 5) create package.json and check all imports are correct
|
||||
> vim package.json
|
||||
> gx --verbose install --global
|
||||
> gx-go rewrite
|
||||
> go test ./...
|
||||
> gx-go rewrite --undo
|
||||
> git commit
|
||||
|
||||
# 4) make the package ready
|
||||
> vim README.md LICENSE
|
||||
> git commit
|
||||
|
||||
# 5) bump the version separately
|
||||
> vim package.json
|
||||
> gx publish
|
||||
> git add package.json .gx/
|
||||
> git commit -m 'Publish 1.2.3'
|
||||
|
||||
# 6) clean up and push
|
||||
> git remote rm libp2p
|
||||
> git push origin master
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue