1102 Commits

Author SHA1 Message Date
Chris Beams
2b3b7a6dca
Fix additional errors in Travis config 2014-12-30 21:31:26 +01:00
Chris Beams
ab807d370b
Fix configuration typo in Travis config 2014-12-30 21:21:32 +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
Roman Mandeleil
0f98cbcb8b Merge remote-tracking branch 'origin/master' 2014-12-29 21:37:36 +02:00
Roman Mandeleil
3c0e7c894d adjusting for java8 api 2014-12-29 21:37:20 +02:00
Roman Mandeleil
b0c5b8ba10 Update README.md 2014-12-29 21:08:49 +02:00
Roman Mandeleil
840ccbce9b Update README.md 2014-12-29 21:08:24 +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
Roman Mandeleil
310d7ea043 Update TODO.md 2014-12-29 15:12:41 +02:00
Roman Mandeleil
0dd09c4d4c Merge remote-tracking branch 'origin/master' 2014-12-29 14:54:23 +02:00
Roman Mandeleil
f11787ce59 there will be no 0.7.15 2014-12-29 14:54:00 +02:00
Chris Beams
7015d42221 Merge pull request #182 from cbeams/patch-2 2014-12-29 11:47:36 +01:00
Chris Beams
337ead1b9e Merge pull request #181 from cbeams/patch-1 2014-12-29 11:46:27 +01:00
Chris Beams
25ff32446f Remove denomination values absent in white paper
A recent revision of the Ethereum white paper removes the denominations
labeled 'lovelace', 'babbage' and 'shannon' [1]. This commit reflects
the change to the whitepaper by removing the corresponding labels from
the Denomination enum (as an aside, note the discrepancy between
'lovelace' in the whitepaper and 'ada' in our implementation).

go-ethereum still contains these values, but cpp-ethereum does
not. This commit assumes that the whitepaper and cpp implementation
represent the current consensus on explicitly named denominations.

By the same rationale, the 'douglas' and 'einstein' labels have been
removed as well. These values never appeared in the whitepaper or cpp
implementations. They were introduced to the go implementation in
ethereum/go-ethereum@e7d9bcd, but because the whitepaper and cpp
implementation are silent on these values, they are omitted here.

[1]: http://git.io/xJJf7g
2014-12-29 10:37:57 +01:00
Chris Beams
bd2e4bd89e Rename Denomination#{FINNY => FINNEY} 2014-12-29 10:35:21 +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
Chris Beams
b4384546e2 Fix markdown syntax for 'now hiring' banner 2014-12-29 03:11:19 +01:00
Chris Beams
b962e8e84f Configure Travis CI IRC notifications to skip join 2014-12-29 03:10:17 +01:00
Roman Mandeleil
364e774d4e + unicode for javadoc 2014-12-28 23:28:16 +02:00
Roman Mandeleil
4ab4d4d919 + catch up on lost NEW_BLOCK packet
- temporary cancel rollback on fork
2014-12-28 22:59:24 +02:00
Roman Mandeleil
e5d2a32a13 update config file for poc-7 default peer 2014-12-28 22:21:14 +02:00
skype me: roman.mandeleil
6d1f768fcb Merge pull request #179 from cbeams/develop
Polish sources, require JDK 8 and switch to Gradle
2014-12-28 20:05:17 +02:00
Chris Beams
d14c3a5a2f
Configure Travis CI IRC notifications 2014-12-28 17:57:35 +01:00
Chris Beams
412b6d2411
Configure Travis CI for Gradle and JDK8 2014-12-28 17:40:21 +01: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
abb1ad8956
Fix remaining javadoc warnings
As of this commit there are now warnings at the command line when
running `gradle javadoc`.
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
68724da3ac
Fix broken link in ECKey javadoc 2014-12-27 14:50:15 +01:00
Chris Beams
0d922e1b30
Collapse foreach loops using Iterable#forEach 2014-12-27 03:53:35 +01:00
Chris Beams
003249cb77
Collapse foreach loops using Stream#collect 2014-12-27 03:53:35 +01:00
Chris Beams
d099100adf
Replace anonymous types with lambdas and method refs 2014-12-27 03:53:34 +01:00
Chris Beams
366f6246ce
Upgrade to JDK 8 compatibility
As of this commit, JDK 8 or better is required to compile or run against
ethereumj.
2014-12-27 03:53:34 +01:00
Chris Beams
18b0f6f52c
Replace explicit types with <> syntax 2014-12-27 03:30:42 +01:00
Chris Beams
0425862cd4
Replace for loops with foreach where appropriate 2014-12-27 03:30:42 +01:00
Chris Beams
14fa1ef4b6
Remove unnecessary boxing and unboxing 2014-12-27 03:30:18 +01:00
Chris Beams
6c4502150e
Remove redundant type casts 2014-12-27 03:30:17 +01:00
Chris Beams
780393dae9
Organize imports with shared IDEA configuration
Add .idea/codeStyleSettings.xml with explicit settings for each
2nd-level package used within ethereumj, adding a separator between
each (unfortunately there is no other way to gain this level of control
in IDEA).

Imports are generally in alphabetical order, with two key exceptions:

 - org.ethereumj.* imports are always sorted at top, to simplify the
process of seeing how one ethereumj type relates to all others. This is
especially useful in the practice of avoiding cyclic package
dependencies.

 - java.* and javax.* and sun.* imports are always sorted at bottom.

Wildcard imports are used for static imports whenever two or more
members of the same type are statically imported, but wildcards are
never used for non-static imports. This policy of explicitness helps
identify classes that are too "fat", i.e. have too many dependencies on
other types.

The root .gitignore file has been updated to allow
.idea/codeStyleSettings.xml, so as to automatically share it with other
team members. Any changes made to import organization settings will be
reflected in this file and should be checked in.
2014-12-27 02:16:02 +01:00
Chris Beams
d7671814b7
Remove unused imports 2014-12-27 01:44:27 +01:00
Chris Beams
a6985b2cee
Update .gitignore settings for Eclipse output dirs 2014-12-27 01:44:26 +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
6645493adc
Move Gradle wrapper infrastructure to top level 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
c396eb11ea
Compensate for removal of gas price methods in poc-7
Block#getMinGasPrice and Blockchain#getGasPrice were removed in commit
aad53ba, causing compilation failures in ethereumj-studio when building
against current master of ethereumj-core. As it is unclear whether these
methods have proper replacements, this commit simply replaces calls to
these now-missing methods with the value `42`. Obviously this is a
stopgap measure and should be addressed properly as soon as possible.
2014-12-26 23:45:06 +01:00
Chris Beams
4a992fe93f
Ignore already-broken tests
The tests ignored in this commit have been failing for some time--both
under the Maven build and now under the new Gradle build. See
https://travis-ci.org/ethereum/ethereumj/builds/45100679 for an example
CI build that reflects these failures.

Rather than tracking down and fixing each issue, this commit ignores
each of these known failures such that subsequent refactorings and
changes can be made with the benifit of running the tests that do work
and knowing that no new failures have crept in.
2014-12-26 22:08:11 +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