The ship makes your development rapid. It suggests the cycle to import, refer, and upload packages.
The ship provides the next:
- Initialize project
- Install package from github.com
- Build project
- Unit test project
- Publish to local repository
- Incremental build
- Deploy to aergo chain
- Runner to execute or query contract
The repository contains next:
- core
- web
$USER_HOME/ +.aergo_modules/ $PROJECT_HOME/ | + xxxx/ + aergo.json
- aergo.json - project description file
- .aergo_modules - modules to be downloaded by ship
- ship init
- ship install aergoio/athena-343
- ship build
- ship build --watch
- ship build --watch --port 8080
- ship test
- ship publish
- name: project name
- source: source file to build
- target: result when you type 'ship build'
- dependencies: package dependencies
- tests: test cases to run
- endpoint: endpoint to deploy or run (Default value is "localhost:7845")
- privatekey: private key to deploy or execute contracts
- password: password to decrypt private key
{
"name": "bylee/examples",
"source": "src/main/lua/main.lua",
"target": "app.lua",
"dependencies": ["aergoio/athena-343"],
"test": ["src/test/lua/test-main.lua"],
"endpoint": "remotehost:7845"
}
TBD
$ git clone https://github.com/aergoio/ship.git
- Clean
$ ./build.sh clean
- Install deps
$ ./build.sh deps
- Create ship web ui
$ ./build.sh npm
- Run gradle
$ ./build.sh gradle
if you use JDK 9 or over
$ ./gradlew build -x test
- Assemble distributions
$ ./build.sh assemble
They are classes with 'Test' suffix.
They are classes with 'IT' suffix meaning integration test.
They are classes with 'Benchmark' suffix, which using jmh.
$ ./build.sh test
We provides next in https://aergoio.github.io/ship
- JavaDoc
- Test Coverage