It is not allowed to submit your PR to the master branch directly, please submit your PR to the master-pre-merge branch.
Description
Please include a brief summary of the change that this pull request proposes. Include any relevant motivation and context. List any dependencies required for this change.
This is part of three PRs that should be pushed together
This is for migrating from ant to Gradle. Some changes:
module-info.java wasn't being used correctly before, this is fixed, which breaks the ant build scripts
In pack's .tar.bz2, 'mod' and 'lib' directory replaced by 'jar' directory
Jenkinsfile updated
'build' target by default now runs some of the unit tests (if this is too slow we can remove them)
Most of the functionality from the ant scripts have been migrated, except the following (will be done in later PR):
In pack build, can't build solidity and fastvm from source (always downloads from git)
Bug when downloading solidity and fastvm from git -- it always downloads even if file is present already
For aion_api, can't build dependent Aion mod jars from kernel's source ("sourcebuild")
Importing in IntelliJ:
If you decide to open this in IntelliJ, you should clone this to a whole new directory beforehand, otherwise importing it can overwrite your .iml files
Go to File -> New -> Project from Existing Sources and find your aion directory
Choose 'Import project from external model' then 'Gradle'
Check 'Use auto import' and then click Finish
Ant to Gradle translations:
general
ant
gradle
ant build
./gradlew build (runs some tests) or ./gradlew build -x test to force skipping all tests
ant clean
./gradlew clean
ant test
./gradlew test
cd modSomething && ant build (building single module)
./gradlew modSomething:build from root project
_aionapi-specific
ant
gradle
ant clean_build
./gradlew build
ant javadoc
./gradlew javadoc
ant clean_build_from_kernel
coming soon
Don't have an equivalent to the following ant targets because they don't seem to be used directly much (can revisit if this changes). The main use case seems to be just to call clean_build which compiles and creates the pack directory and .tar.gz for distribution.
build
build_fatjar
copy-deps
aion
ant
gradle
ant pack_build
./gradlew pack
Fixes Issue # .
Type of change
Insert x into the following checkboxes to confirm (eg. [x]):
[ ] Bug fix.
[ ] New feature.
[ ] Enhancement.
[ ] Unit test.
[ ] Breaking change (a fix or feature that causes existing functionality to not work as expected).
[ ] Requires documentation update.
Testing
Please describe the tests you used to validate this pull request. Provide any relevant details for test configurations as well as any instructions to reproduce these results.
-
Verification
Insert x into the following checkboxes to confirm (eg. [x]):
[x] I have self-reviewed my own code and conformed to the style guidelines of this project.
[x] New and existing tests pass locally with my changes.
[ ] I have added tests for my fix or feature.
[ ] I have made appropriate changes to the corresponding documentation.
NOTE: please don't merge yet, it'll cause a breaking change against aion kernel, which needs a corresponding PR. Once that's ready, can merge both at the same time
Notice
It is not allowed to submit your PR to the master branch directly, please submit your PR to the master-pre-merge branch.
Description
Please include a brief summary of the change that this pull request proposes. Include any relevant motivation and context. List any dependencies required for this change.
general
ant build
./gradlew build
(runs some tests) or./gradlew build -x test
to force skipping all testsant clean
./gradlew clean
ant test
./gradlew test
cd modSomething && ant build
(building single module)./gradlew modSomething:build
from root project_aionapi-specific
ant clean_build
./gradlew build
ant javadoc
./gradlew javadoc
ant clean_build_from_kernel
build
build_fatjar
copy-deps
aion
ant pack_build
./gradlew pack
Fixes Issue # .
Type of change
Insert x into the following checkboxes to confirm (eg. [x]):
Testing
Please describe the tests you used to validate this pull request. Provide any relevant details for test configurations as well as any instructions to reproduce these results.
-
Verification
Insert x into the following checkboxes to confirm (eg. [x]):