There is a known issue with Gradle's new `maven-publish` plugin that
causes all dependencies in the published pom to runtime-scoped [1]. This
causes conflicts with our use of Spring's `propdeps` Gradle plugin that
introduces optional and provided scopes.
This commit drops down to using Gradle's older, orginal `maven` plugin,
and JFrog's old-style `artifactory-publish` plugin in order to preserve
propdeps support.
This means removing JFrog's `bintray` plugin, as it appears to depend on
the `maven-publish` plugin. For the moment, ethereumj only really needs
to publish snapshots, and this is still supported. This is a stopgap
measure; it will be necessary to deal with getting uploads to
Bintray/JCenter working again once we're ready for a non-snapshot
release, but this can be dealt with later.
[1]: http://forums.gradle.org/gradle/topics/maven_publish_plugin_generated_pom_making_dependency_scope_runtime
The Travis CI build now publishes ethereumj-core artifacts (classes,
sources and javadoc jars) on every push to master. See updated
ethereumj-core/README.md for details. Note that the `gradle release`
task has been renamed to `gradle publish`.
See updated ethereumj-studio/README.md for details. Note that this
commit removes the `build-post-package.xml` ant file (for now) to
simplify the Gradle arrangement. This functionality can be re-introduced
later and more simply using Gradle's native DSL. In the meantime, both
the -core and -studio projects can be run using `gradle run` or run as
executable jars by running `gradle shadowJar` followed by the usual
`java -jar` execution of the resulting `-all` jar file found in each
project's respective `build/libs` directory.
Apply Gradle's 'maven' plugin in order to support `./gradlew install`
task, similar to `mvn install` for building and copying artifacts to the
users local ~/.m2 repository.
Previously, sources generated from the serpent antlr grammar in
ethereumj-core/src/main/antlr4 were output into the build/generated-src
directory by default. This worked from the command line without issue,
but caused issues within IDEA, because the entirety of the 'build'
directory is excluded from compilation by default when working with a
Gradle-based project in IDEA.
This change simplifies the arrangement by writing these antlr-generated
sources to the src/gen/java. A .gitignore file has been added to ensure
that transient source files don't accidentally get checked in. A readme
file has been added to explain the situation to the uninitiated.