Commit Graph

47 Commits

Author SHA1 Message Date
Adrian Tiberius abd6ef1d4c Working netty version. Added missing dependency. 2015-05-14 17:32:03 +02:00
Adrian Tiberius 856cea2867 Added missing files from previous commit. Added Android-studio-material ui. 2015-05-14 16:22:19 +02:00
Adrian Tiberius 0b5f6f9c02 Merged poc-9 branch.
Some minimalistic console ui implementation.
2015-05-14 13:38:26 +02:00
Adrian Tiberius ff71583142 Readded serpent.
Reenabled antlr.
2015-05-06 19:26:56 +02:00
Adrian Tiberius b85abefebd Readded jsontestingsuite.
Removed hibernate dependency.
2015-05-06 15:59:02 +02:00
Adrian Tiberius 3d3e8f82c5 Succesfull app run:
Replaced spring framework with robospring.
Changed ethereumj-core build to android-library.
Disabled BlockStoreImpl until we make it android compatible( use InMemoryBlockstore ).
Disabled antlr4 dependencies.
Commented some dependencies(needs testing before enabling).
Excluded dom4j and org.jboss.spec.javax.transaction dependencies (problems with android).
Change to netty 4.0.18.Final (this seems to work with android; latest 4.1 and 5.0 presented some problems; needs additional testing).
2015-04-28 20:08:04 +02:00
Roman Mandeleil ebfdb860a8 Finalize only master push feature 2015-03-27 17:21:28 +03:00
Roman Mandeleil 28b39a90ca Empty commit 2015-03-27 17:17:34 +03:00
Roman Mandeleil eb72c20f6d Pushing empty commit 2015-03-27 12:47:15 +03:00
Roman Mandeleil 6e92c3a5e0 Fix branch name env var 2015-03-27 12:43:45 +03:00
Roman Mandeleil 114595bb01 Fix branch name env var 2015-03-27 12:38:05 +03:00
Roman Mandeleil 1fb2e0af0c Fix publish only on master 2015-03-27 12:34:41 +03:00
Roman Mandeleil 1e7217ea3d Test not publishing build 2015-03-27 12:29:04 +03:00
Roman Mandeleil 0356258999 Fix: publish one if building on master branch 2015-03-27 12:21:07 +03:00
Roman Mandeleil 0599ba0be2 Publish one if building on master branch 2015-03-27 12:03:42 +03:00
Roman Mandeleil ccd8eb4b07 Set testing setup and upgrade gradle wrapper version 2015-03-16 23:53:18 +02:00
Devrandom 3f79565b69 ECIES matching go-ethereum 2015-03-12 12:12:07 -07:00
Faiz Khan 2102792f23 Auto loader for per-commit tests 2015-03-06 11:11:34 -06:00
Chris Beams 63bb2aa852
Upgrade to antlr v4.5
Pick up the fix to antlr/antlr4#487 to eliminate spurious annotation
processor warnings.

Fixes #185
2015-01-30 14:05:56 +01:00
Chris Beams 9127c01890
Polish formatting
The sources affected by this commit have drifted in style since earlier
polishing commits such as f34d1f4 and a155518. The shared IDEA style
configuration file can help avoid this drift in the future. Simply run
Code->Reformat Code at the project level prior to committing. Note that
this code style configuration is not perfect, and not every change it
makes should be checked in. The ideal is to simply always write code that
conforms to the style conventions, but the automated settings are there
as a helping hand when necessary.

The churn caused by drifting style and the commits that fix it damage the
utility of git over time. Reviewing changes, analyzing history, surgically
reverting commits, and many other use cases with git simply do not work as
well when styles get mixed and fixed. Let's work toward a common style.
2015-01-20 12:20:09 +01:00
Roman Mandeleil a9b410b38a Fix file encoding for testing 2015-01-19 22:18:14 +02:00
Roman Mandeleil 38cf19015b Introduce usage of key/val data source as abstraction
Implement Redis  key/val datasource
Implement LevelDb key/val datasource
2015-01-18 23:32:30 +02:00
Chris Beams 84b1cef682
Increase stack size during testing
This is in order to accommodate GitHubStateTest#stSystemOperationsTest,
which tests Ethereum's rules around maximum call stack depth, and thus
requires increasing Java's own defaults.

If this option is not set, this test results in a
StackOverflowException. Note that the setting is applied to Gradle's
`test` closure as opposed to a the global `JAVA_OPTS` environment
variable, because Gradle spawns a new process for executing tests.
2015-01-07 08:55:49 +01:00
Chris Beams 1c354cb736
Re-enable Bintray upload support
Thanks to @jbaruch for his comments at
https://github.com/ethereum/ethereumj/commit/00aba13#commitcomment-9167542
2015-01-06 14:08:17 +01:00
Chris Beams 00aba13a3d
Remove Bintray upload support for now
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
2015-01-06 11:50:03 +01:00
Chris Beams 04ba6c4ed7
Customize pom for publication to Maven Central 2015-01-06 11:22:12 +01:00
Chris Beams 7452765d62
Upgrade to Gradle propdeps plugin v0.0.7 2015-01-06 11:21:59 +01:00
Chris Beams 2165bd506e
Avoid transitive dependency on various logging libs
Use Spring's `propdeps` plugin to introduce optional/provided scopes for
gradle dependencies. Mark libraries such as slf4j-log4j12 as optional.
These libraries are required to run a local ethereumj node, but they are
not required in order to compile against ethereumj in a downstream
appliaction. These libraries easily can cause conflicts, for example if
another slf4j-* library (such as slf4j-logback) is on the classpath.
2015-01-05 18:52:34 +01:00
Chris Beams b977605771
Declare concrete slf4j logging deps as runtime-scoped 2015-01-05 15:12:51 +01:00
Chris Beams aa7191d4a6
Re-enable publication of coverage reports
Prior to this commit, jacoco coverage report XML files were not actually
being written to disk, meaning that the Gradle coveralls plugin had
nothing to publish to https://coveralls.io/r/ethereum/ethereumj. HTML
reports are now being written as well, for convenient local browsing.
2014-12-30 20:52:25 +01:00
Chris Beams addbcdeb09
Publish core artifacts continuously via Travis CI
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`.
2014-12-30 20:49:18 +01:00
Chris Beams 936de35cff
Restore JDK 8 source compatibility in ethereumj-studio
This partially reverts commit c95f5ea, restoring use of Java 8 language
features and APIs to ethereumj-studio, while leaving etherumj-core
pinned to the Java 7 language level for Dalvik compatibility reasons.
For further details, see the prior commit and
https://github.com/ethereum/ethereumj/commit/c95f5ea#commitcomment-9119435.
2014-12-30 20:09:20 +01:00
Chris Beams a155518b41
Polish whitespace and imports
As part of pull request #179, commits 0d922e1, 003249c and d099100
introduced use of Java 8 language features and APIs. Commit c95f5ea
manually reverted these changes (see #184 as to why), but in the process
re-introduced formatting issues originally cleaned up by other commits
in #179. This change fixes those formatting issues.

 - Replace leading tabs with spaces (for reasons detailed in 0827fb5)
 - Add space before opening curly brace
 - Optimize imports using shared .idea/codeStyleSettings.xml (note
   especially expansion of wildcard imports. See rationale in 780393d)
 - Do not align assignments on equals sign
 - Remove unnecessary additional newlines
 - Remove braces from single-line loops and conditionals
2014-12-30 19:28:19 +01:00
Roman Mandeleil c95f5ea75f reverting for java7 2014-12-30 13:45:16 +02:00
Chris Beams be51e4d958
Publish artifacts to oss.jfrog.org and Bintray
See updates to ethereumj-core/README.md for details.
2014-12-29 16:43:37 +01:00
Chris Beams 8089f6e57c Polish whitespace and imports
- Replace leading tabs with spaces
 - Add space before opening curly brace
 - Optimize imports using shared .idea/codeStyleSettings.xml
 - Do not align assignments on equals sign
 - Remove unnecessary extra newlines
2014-12-29 10:34:50 +01:00
Roman Mandeleil 364e774d4e + unicode for javadoc 2014-12-28 23:28:16 +02:00
Chris Beams 90592dc267
Build -sources and -javadoc jars
Running `gradle build` within ethereumj-core will now produce -sources
and -javadoc jars in `build/libs`, alongside the already existing
classes jar. Run `gradle install` to install these artifacts to the
local `~/.m2` repository.
2014-12-27 14:50:22 +01:00
Chris Beams 687c27e54b
Configure javadoc to ignore 'missing' warnings
This change ensures that all Javadoc syntax, reference, html errors, etc
are reported at the commandline during the gradle build, but warnings
for missing Javadoc elements (e.g. no @return tag, @param tags, etc) are
suppressed. `man javadoc` for details.
2014-12-27 14:50:21 +01:00
Chris Beams 4845f2bd00
Configure Gradle javadoc task
Run with `gradle javadoc` and see output in `build/docs/javadoc'.
2014-12-27 14:50:21 +01:00
Chris Beams 75443aaa13
Support running ethereumj-studio as executable jar
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.
2014-12-27 01:44:25 +01:00
Chris Beams 0900039bdd
Introduce top-level Gradle build
- Convert ethereumj-studio build from Maven to Gradle as well
 - Extract common build elements to top-level build.gradle
 - Update top-level README accordingly
2014-12-27 01:44:24 +01:00
Chris Beams e4ff767f45
Support installation of artifacts to local maven repo
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.
2014-12-26 21:50:15 +01:00
Chris Beams f845a3b751
Eliminate dependency on antlr4 Maven plugin
After porting the build from Maven to Gradle (see prior commits), the
org.ethereum.serpent.ParserGenerator class is no longer necessary as the
configuration of the antlr compiler that happened in this class now
happens directly in build.gradle. This class is thus removed in this
commit.

The plexus FileUtils class introduced by the antlr4 Maven plugin had
also been used in several locations in the codebase, probably just for
reasons of convenience. These uses have been replaced with Spring's
FileSystemUtils in order to allow for dropping the dependency on the
antlr4 Maven plugin entirely.
2014-12-26 21:49:01 +01:00
Chris Beams f9bcd2abad
Resolve JUnit 4.10 vs. 4.11 classpath conflict
ethereumj-core depends on elements specific to the JUnit 4.11 API, but (for
reasons that can only be assumed dubious) json-simple:1.1.1 transitively
includes JUnit 4.10. At the command line, Gradle handles this cleanly,
and gives ethereumj-core's direct dependence on 4.11 the precedence it
deserves. However, IDEA gets confused and gives 4.10 precedence. This
change explicitly excludes the transitive dependency from
json-simple->junit:4.10, eliminating the issue completely.
2014-12-26 21:49:00 +01:00
Chris Beams 2a8ecab299
Introduce src/gen/java for generated sources
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.
2014-12-26 21:49:00 +01:00
Chris Beams 996e98d5cc
Port build from Maven to Gradle 2014-12-26 21:48:59 +01:00