porst17 / surfer.js

A GWT frontend for surf (Java based renderer for algebraic surfaces)
1 stars 1 forks source link

Separate library, jssurf and surfer.js code #1

Open porst17 opened 10 years ago

porst17 commented 10 years ago

I understand, that GWT always needs to know the source code for all classes that are used on the clients side. I think it should be possible to supply all code not part of surfer.js as .jar files, e.g. the gwt-user.jar and gwt-dev.jar do exactly that. I could do the same for jsurf.

In order to do the separation, I/we would need to know all necessary libraries and were to obtain them. E.g. java.awt.Point is not part of the emul package inside gwt-user.jar, but it is part of the code provided in the emul folder. Were can I get this from (URL)? What are the licenses? Best would be links to Maven repositories.

My hope is that I can use the .jarsource libraries as dependencies for my gradle build and retrieve them at build time. This is much better than storing copies of the dependencies inside the repository. The same is true for binary dependencies (aka antlr runtime).

Finally, we could end up with only having surfer.jscode and build scripts inside our repository. Maybe some example code. Just like I did for jsurf.

porst17 commented 10 years ago

Today I was able to put the source files of jssurf into a jar file, upload everything into a maven repository (currently only locally, but remote is more or less the same) and compile the java sources with gwt. Of course, there are still the errors related to the additional GWT-incompatibel code inside the jar, but I am working on that: https://github.com/steffenschaefer/gwt-gradle-plugin/issues/42

fpetrola commented 10 years ago

Several classes inside emul folder are modified version of GWT sources, or Apache Harmony sources, or written from scratch. The idea is to put those classes on top of the classpath to override those from gwt-user, it is required to get surfer.js running.

porst17 commented 10 years ago

At least, I would need to know, which classes are added, which are modified/unmodified and which are written from scratch. I would be good to exclude all unmodified classes and just let them be resolved via GWT classpath.

Knowing which classes come from which project is also important due to licensing issues. Even if GWT and Apache Harmony are Apache V2 licensed, we still have to make clear which files have been changed and which part comes from which project. We have to mention you as the authors of the modifications as well as the new classes. Otherwise we run into license issues again.

Note that open source does not allow you to take and modify foreign code without restrictions.

Can you please provide links as well as version numbers for ALL used source code libraries. Please also make clear, which files haven been added, changed and written yourself as stated above.