Add package extraction notes

License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
This commit is contained in:
Lars Gierth 2016-04-16 21:01:30 -07:00 committed by Jeromy
parent fa83747571
commit 7d2224667a
1 changed files with 53 additions and 1 deletions

View File

@ -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
```