Open JanNoszczyk opened 8 years ago
Ive changed all 2.8s to 2.7s and 6-SNAPSHOTs to 5.0, downloaded the files (even though older versions) but now i run into problems with java, with openjdk 1.7 as my main java
openjdk version "1.7.0-internal"
OpenJDK Runtime Environment (build 1.7.0-internal-b00)
OpenJDK 64-Bit Server VM (build 21.0-b17, mixed mode)
i get
:api:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':api:compileJava'.
> java.lang.EnumConstantNotPresentException: javax.lang.model.SourceVersion.RELEASE_8
suggesting that it wants 1.8 back. going back to 1.8...
:shared:compileJava
warning: Supported source version 'RELEASE_7' from annotation processor 'xapi.dev.processor.InjectionAnnotationProcessor' less than -source '1.8'
/Users/jannoszczyk/Desktop/collide-superdev/shared/src/main/java/collide/shared/collect/ArrayOfStringIterable.java:25: error: cannot find symbol
array = X_Reflect.fieldGet(JreArrayOfString.class, "array", strings);
^
symbol: method fieldGet(Class<JreArrayOfString>,String,ArrayOfString)
location: class X_Reflect
/Users/jannoszczyk/Desktop/collide-superdev/shared/src/main/java/collide/shared/collect/Collections.java:33: error: cannot find symbol
return asList(X_Reflect.<ArrayOf<String>>fieldGet(JreArrayOfString.class, "array", array));
^
symbol: method <ArrayOf<String>>fieldGet(Class<JreArrayOfString>,String,ArrayOfString)
location: class X_Reflect
/Users/jannoszczyk/Desktop/collide-superdev/shared/src/main/java/collide/shared/collect/Collections.java:50: error: cannot find symbol
ret.addAll(X_Reflect.<List<T>>fieldGet(JreArrayOf.class, "array", array));
^
symbol: method <List<T>>fieldGet(Class<JreArrayOf>,String,ArrayOf<T>)
location: class X_Reflect
where T is a type-variable:
T extends Object declared in method <T>asList(ArrayOf<T>)
/Users/jannoszczyk/Desktop/collide-superdev/shared/src/main/java/com/google/collide/shared/plugin/PublicServices.java:18: error: incompatible types: cannot infer type-variable(s) V
services = X_Collect.newList(PublicService.class);
^
(argument mismatch; Class<PublicService> cannot be converted to Class<? extends PublicService<?>>)
where V is a type-variable:
V extends Object declared in method <V>newList(Class<? extends V>)
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
4 errors
1 warning
:shared:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':shared:compileJava'.
> Compilation failed; see the compiler error output for details.
Hi!
My apologies on uploading code that can't be built at the moment by the outside world.
I am running gwt 2.8 locally from https://github.com/WeTheInternet/gwt-sandbox The fork above contains various extras like reflection support and magic method injection, which I use in the xapi framework (that I built and maintain, and am using in Collide).
Since you have expressed interest in the project, I will make sure (1) to upload a version that you can build and run locally this weekend. Note that the usage of xapi is somewhat light at this point in time, but I am reviving collide specifically to create an IDE for the xapi user interface templating language.
(1) : My wife is ~nine months pregnant with our firstborn, so I may actually spend this weekend in the hospital welcoming my son to planet Earth instead.
This templating language looks like JSX from React js, except it is for java, and is run through a code generator that generates cross-platform user interfaces; it allows declarative html-like markup to be mixed with json, css and java. The first pass creates an abstract base class that can be used in gwt, javafx and others, then implementation-specific generators extend that class with platform-specific ui wiring. It's very much a work in progress, and I will not only be using collide for the editor, I will also be ripping out all the UI binder in the project, and replacing it with this templating language.
Example code:
@Ui(`
// html
<box
// css
style=.className { color: blue; }
// json
data = { text: "Hello" }
// java
onClick = e -> this.setText(this.data.text + " World!")
/>`)
public interface MyWidget {}
Once GWT themselves release 2.8 to the world, I will do another rebase, make sure all my tests pass, and then push jars to maven central. In the meanwhile, the aforelinked project has a ./run.sh script that should build and deploy jars locally. It assumes gwt-sandbox has a sibling directory, tools, which is a clone of the gwt tools repo: https://github.com/gwtproject/tools
PS: I've completely removed all ant and maven... It was a bit of a rat's nest with no need to be so complex. I will ping you directly when I have a version that should be stable enough to test.
Thank you for such a quick and elaborate answer. I am currently working on an online programming tutorials project, and collide seemes like a great starting point. I will try again updating my gwt after the weeken, and try to run collide, ill keep you updated. I am also really looking forward to the new ide you mentioned. I wish you and your family all the best :)
Many thanks good sir. I may just upload jars that you could download to build locally without trying to get everything else to build as well. The existing project from google had all dependencies checked into git, so they are currently bloating git history with a ton of binary data; I intend to scrub all jars from the history so that you only need to download code, but until that time, a few more jars won't hurt (too much). :-)
Same issue a couple of months later:
:tasks FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':tasks'.
> Could not resolve all dependencies for configuration ':server:runtime'.
> Could not find net.wetheinter:xapi-gwt:0.6-SNAPSHOT.
Searched in the following locations:
https://repo1.maven.org/maven2/net/wetheinter/xapi-gwt/0.6-SNAPSHOT/maven-metadata.xml
https://repo1.maven.org/maven2/net/wetheinter/xapi-gwt/0.6-SNAPSHOT/xapi-gwt-0.6-SNAPSHOT.pom
https://repo1.maven.org/maven2/net/wetheinter/xapi-gwt/0.6-SNAPSHOT/xapi-gwt-0.6-SNAPSHOT.jar
file:/root/.m2/repository/net/wetheinter/xapi-gwt/0.6-SNAPSHOT/maven-metadata.xml
file:/root/.m2/repository/net/wetheinter/xapi-gwt/0.6-SNAPSHOT/xapi-gwt-0.6-SNAPSHOT.pom
file:/root/.m2/repository/net/wetheinter/xapi-gwt/0.6-SNAPSHOT/xapi-gwt-0.6-SNAPSHOT.jar
Required by:
project :server > project :client
project :server > project :client > project :shared
project :server > project :client > project :shared > project :api
> Could not find net.wetheinter:xapi-dev:0.6-SNAPSHOT.
Searched in the following locations:
https://repo1.maven.org/maven2/net/wetheinter/xapi-dev/0.6-SNAPSHOT/maven-metadata.xml
https://repo1.maven.org/maven2/net/wetheinter/xapi-dev/0.6-SNAPSHOT/xapi-dev-0.6-SNAPSHOT.pom
https://repo1.maven.org/maven2/net/wetheinter/xapi-dev/0.6-SNAPSHOT/xapi-dev-0.6-SNAPSHOT.jar
file:/root/.m2/repository/net/wetheinter/xapi-dev/0.6-SNAPSHOT/maven-metadata.xml
file:/root/.m2/repository/net/wetheinter/xapi-dev/0.6-SNAPSHOT/xapi-dev-0.6-SNAPSHOT.pom
file:/root/.m2/repository/net/wetheinter/xapi-dev/0.6-SNAPSHOT/xapi-dev-0.6-SNAPSHOT.jar
Required by:
project :server > project :client
project :server > project :client > project :shared
> Could not find net.wetheinter:gwt-user:2.8.0.
Searched in the following locations:
https://repo1.maven.org/maven2/net/wetheinter/gwt-user/2.8.0/gwt-user-2.8.0.pom
https://repo1.maven.org/maven2/net/wetheinter/gwt-user/2.8.0/gwt-user-2.8.0.jar
file:/root/.m2/repository/net/wetheinter/gwt-user/2.8.0/gwt-user-2.8.0.pom
file:/root/.m2/repository/net/wetheinter/gwt-user/2.8.0/gwt-user-2.8.0.jar
Required by:
project :server > project :client
project :server > project :client > project :shared
project :server > project :client > project :shared > project :api
> Could not find net.wetheinter:gwt-elemental:2.8.0.
Searched in the following locations:
https://repo1.maven.org/maven2/net/wetheinter/gwt-elemental/2.8.0/gwt-elemental-2.8.0.pom
https://repo1.maven.org/maven2/net/wetheinter/gwt-elemental/2.8.0/gwt-elemental-2.8.0.jar
file:/root/.m2/repository/net/wetheinter/gwt-elemental/2.8.0/gwt-elemental-2.8.0.pom
file:/root/.m2/repository/net/wetheinter/gwt-elemental/2.8.0/gwt-elemental-2.8.0.jar
Required by:
project :server > project :client
project :server > project :client > project :shared
project :server > project :client > project :shared > project :api
> Could not find net.wetheinter:gwt-codeserver:2.8.0.
Searched in the following locations:
https://repo1.maven.org/maven2/net/wetheinter/gwt-codeserver/2.8.0/gwt-codeserver-2.8.0.pom
https://repo1.maven.org/maven2/net/wetheinter/gwt-codeserver/2.8.0/gwt-codeserver-2.8.0.jar
file:/root/.m2/repository/net/wetheinter/gwt-codeserver/2.8.0/gwt-codeserver-2.8.0.pom
file:/root/.m2/repository/net/wetheinter/gwt-codeserver/2.8.0/gwt-codeserver-2.8.0.jar
Required by:
project :server > project :client
> Could not find net.wetheinter:gwt-dev:2.8.0.
Searched in the following locations:
https://repo1.maven.org/maven2/net/wetheinter/gwt-dev/2.8.0/gwt-dev-2.8.0.pom
https://repo1.maven.org/maven2/net/wetheinter/gwt-dev/2.8.0/gwt-dev-2.8.0.jar
file:/root/.m2/repository/net/wetheinter/gwt-dev/2.8.0/gwt-dev-2.8.0.pom
file:/root/.m2/repository/net/wetheinter/gwt-dev/2.8.0/gwt-dev-2.8.0.jar
Required by:
project :server > project :client
project :server > project :client > project :shared
project :server > project :client > project :shared > project :api
Any chance of getting things to work in the real-world? :8ball:
Hi Samuel.
My sincere apologies, between my baby, my job, creating a ui templating language (to replace ui binder in collide with cross-platform components), and launching a project using all those tools, I clean forget to look at my github notifications for... a very long time.
I know you've probably long since moved on, but, if there are still signs of life, I am going to do a 2.8 release of my fork, along w/ a demo of said ui language + demo project, within the month.
A colleague and I are considering setting up a shop to maintain the 2.X line of GWT long enough to help port enough remains into the 3.X line, so the dependency will definitely be getting more regular updates... Collide will also be getting wired up as the editor for xapi templating language, then dogfooding the lang as replacement for UI binder. Sprinkle in apt/javac generators to replace various 2.X generators, add buttons to perform whatever build steps needed to generate uis or run gwtc, etc, then get clients who want to migrate from 2.X to 3.X to fund the effort fulltime.
By making it my source of income, I won't have to split time between day job and life's work, and will respond to pings in a timeframe far smaller than months. :-)
Ive tried building it with ant, and just wouldnt work, the directories are all weird. With gradle it fails to find gwt 2.8.
Is there any way to go around it? I have gwt 2.7 installed. Ive tried to install xapi apis but they are not working either when i use mvn install Ive tried changing gwt version in gradle build files to 2.7 insted but didnt work either.