vavr-io / vavr-gwt Goto Github PK
View Code? Open in Web Editor NEWGWT module for Vavr
GWT module for Vavr
Currently we have a javaslang-gwt-parent that will also be deployed to Maven Central. The javaslang-gwt-example seems also to be deployed.
Hi,
with modularization, I want to get rid of the @GwtIncompatible annotations of the core Vavr lib.
Goal/Acceptance Criteria:
Let the GWT compiler know which methods are not compatible without using the @GwtIncompatible
annotation(s) within the core Vavr library. For example this could be achieved by adding a pre-build step to the vavr-gwt Maven build.
See this Twitter conversation about how to use ByteBuddy to solve this issue.
In detail, I would suggest to explode the dependencies of vavr-gwt into the file system in a pre-build step. Furthermore we are able to rewrite/enhance the classes of our dependencies by dynamically annotating the according methods with vavr-gwt's own @GwtIncompatible annotation. After that, the GWT compiler is expected to work as desired.
I will add the list of methods later here.
The error I get is the following:
The type JavaConverters.ListView<T,C> must implement the inherited abstract method Collection<T>.toArray(T[])
.
I am not sure why this is happening as the method should be ignored by GWT compiler and not dropped completely.
Overwriting the class with an empty toArray
implementation and removing the @GwtIncompatible
annotation helps.
gwt compilation fails after increasing tuples arity (I guess, (see vavr-io/vavr/pull/1848))
hope this is gwt-compiler problems
/cc @danieldietrich @paplorinc
Note: Moved the last steps to #4
Are you accepting and merging PRs for it? It would be nice to use Vavr 0.10.3 in GWT.
Hi Ruslan,
could you please create a ticket at sonatype (same as for javaslang-jackson)? See OSSRH Guide.
Then the last todo is to add your credentials to our .travis.yml (see Travis Encryption Keys):
$ travis encrypt --org -r javaslang/javaslang 'SONATYPE_USER=<secret>' --add
$ travis encrypt --org -r javaslang/javaslang 'SONATYPE_PASS=<secret>' --add
Alright?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.