GithubHelp home page GithubHelp logo

javamoney / javamoney-shelter Goto Github PK

View Code? Open in Web Editor NEW
6.0 21.0 5.0 432 KB

A shelter for new ideas and modules to be adopted, e.g. via Adopt-a-JSR

License: Apache License 2.0

Java 94.12% Groovy 5.47% Kotlin 0.41%
javamoney java javamoney-shelter incubator sandbox

javamoney-shelter's Introduction

JSR 354: Money and Currency API

Maven Central CircleCI Coverage Status Stability: Maintenance Join the chat at https://gitter.im/JavaMoney/jsr354-api

JSR 354 provides an API for representing, transporting, and performing comprehensive calculations with Money and Currency. See the home page for more details: http://jcp.org/en/jsr/detail?id=354

This is the API module of JSR 354 licenced under

  • the Apache License Version 2.0 (LICENCE.txt)

See also: http://javamoney.github.io/

Release Notes

  • 1.0 API as defined by JSR 354 Spec.
  • 1.0.1 API as defined by JSR 354 Spec (Fix: building Java 7 API with Java 7)
  • 1.0.2 API as defined by JSR 354 Spec (Fix: built with Java 9) - dont use, use 1.0.3 instead!
  • 1.0.3 API as defined by JSR 354 Spec (Compatible with Java 8, full Java 9 module support)
  • 1.1 API as defined by JSR 354 MR 1.

Built with Maven

javamoney-shelter's People

Contributors

atsticks avatar bountin avatar dependabot[bot] avatar gitter-badger avatar keilw avatar mcpringle avatar msgilligan avatar stokito avatar waffle-iron avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

javamoney-shelter's Issues

Proposal: Submit Groovy subproject/JAR to Groovy project as a module.

I've had preliminary discussions with some Groovy core developers and they are receptive to having JSR 354 support as a "Groovy Module" and possibly, once JSR 354 is final (or shipped with Java 9?) even a core module. A reasonable name for such a module would be groovy-money, it would seem.

It seems like a natural place for the Groovy support code to end up.

What do others think?

Create and publish groovy-money JAR.

The current groovy-demo subproject should be split in to two subprojects:

  • groovy-money - Groovy support as an Extension Module / Library
  • groovy-demo - Demo code showing how to use groovy-money

The groovy-money JAR should also be published to a Maven repo.

Create new ExchangeRateProvider implementations for Bitcoin

After the example provider for MtGox has become irrelevant due to the exchange being out of business, it would be great to add some providers for any of these (still active) exchanges: https://en.bitcoin.it/wiki/Category:Exchanges

I use Bitcoin.de myself and it is noteworthy, because it is backed by Fidor Bank in Germany which adds a certain level of trust and stability compared to others. Happy to get the ball rolling, but contribution is greatly appreciated.

Create wrapper for 1 or more standard crypto currency APIs

If it's possible to create a JavaMoney SPI-compatible wrapper for a standard crypto currency API like Xchange, JavaMoney could quickly support a large number of exchanges.

I have not studied the feasibility of this at all, but wanted to propose the idea as an issue so others could comment.

Java EE essential

The proposal is create a new project, Java EE essential, that has goal to have support to Java EE 7.
This include:

  • JSF: Conversor to CurrencyUnit, MonetaryAmount, using each implementation and using MonetaryAmountFormat.
  • JPA: Conversor to persist on database using: just Currency, just Number, both option using toString and parse defult, or each on with a specific column, one to currency and another one to Number.
  • JAX-RS: Parser to read and write to Currency and MonetaryAmount
  • CDI: producer to monetaryAmount, qualifier to all implementation and default
  • JSON: Parser and Binding
  • Bean Validation: Special Validators or Min/Max constraints for monetary amounts, etc.

Remove .settings files

It seems the .settings folder was added by mistake. Given we try keeping those projects IDE neutral it should be removed unless there is a striking argument against.

Rename "Digital" to "Crypto"

The term "Digital" in digital-currency should be changed to "Crypto" as the module contains mainly Cryptocurrencies like Bitcoin.

Should there be support for other "Virtual Currencies" or "Digital Currencies" a new module could be revived under that name.

Create Bitcoin project

Inspired by what was done earlier at TrakStok, but for new JavaMoney Conversion module

Can we use JFrog Repositories for Shelter?

JSR 354 API and RI/TCK uses JFrog OSS repositories like "oss-jfrog-artifactory-release", etc.
For a more ad-hoc development of modules in Shelter we should try to leverage that before certain shelter artifacts get complete and mature enough to graduate or be published to official ones like JCenter/MavenCentral.

Add Groovy support

Umbrella Task for Groovy support, which should include:

  • Support for arithmetic with operators using Groovy MetaClass extensions
  • Support currency code properties on Number interface, e.g. def amount = 1.eur

moduleVersion of Groovy module

The Groovy module currently defines
moduleVersion=0.1-dev

Is "-dev" an established standard for Groovy and its module system, or would "-SNAPSHOT" also work?
It is fair to number the sub-module 0.1 as it is behind the other Shelter modules, most of which handled under 0.6-SNAPSHOT now, but at some point it would be great to align this module version with the rest of Shelter.

Package name of Groovy module

It would be fair, to use org.javamoney.shelter or something else (like *groovy) for the Groovy modules instead of a personal com domain.

Build bitcoin module (all modules) with Gradle

So, I've been using a Gradle build within the groovylang-support directory and would be happy to convert the Maven-based build in the bitcoin module over to Gradle.

This would allow the whole "shelter" to be built with Gradle and would also get the groovylang-support modules hooked in to Travis.

If this is OK, I'll put together a Pull Request.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.