-
1. Re: GWT 2.8 and the future of Errai
mbarkley Dec 30, 2015 5:07 PM (in response to hr.stoyanov)Hi Hristo,
Here is a blog post from August where we discussed some things we were working on for Errai 4. Specifically, (1), (4), (5), and (6) are all changes under the umbrella of Errai UI improvements that are almost complete on 4.0.0-SNAPSHOT. I'm not sure what your source is for (2), but Errai does not use Guice. Regarding (3), we do plan to migrate our existing generators to annotation processors but this change will not be in 4.0 (which is fine since GWT 2.8 still supports generators). I will be blogging about all of these changes in more detail in the new year as we get closer to releasing a 4.0 beta.
Since the blog post I linked above we've addressed almost all of the items in your list; I wouldn't call that pace "very, very, very, very slow".
-
2. Re: GWT 2.8 and the future of Errai
hr.stoyanov Dec 30, 2015 10:51 PM (in response to mbarkley)Thanks for the clarification, Max!
Not sure why I thought Guice was used ... sorry. Eagerly expecting updates on what is coming in Errai 4. Btw, is Errai 4 usable for projects that will be released in Q1 2016? If so, I am willing to switch ... or should I wait for the GWT 2.8 release or any known showstoppers to be cleared?
-
3. Re: GWT 2.8 and the future of Errai
magick93 Jan 4, 2016 10:31 AM (in response to mbarkley)Max Barkley wrote:
...we were working on for Errai 4. Specifically, (1), (4), (5), and (6) are all changes under the umbrella of Errai UI improvements that are almost complete on 4.0.0-SNAPSHOT....
Max - sounds like you are making some really great improvements!
Keep up the good work!
-
4. Re: GWT 2.8 and the future of Errai
hr.stoyanov Mar 8, 2016 1:54 PM (in response to mbarkley)Max,
Getting back to this old topic ... Errai 3.2.x does use Google guice 3.0. Removing it causes compile failures:
---------------------------------------------------------------------------------------------
compile - Compile classpath for source set 'main'.
+--- com.google.guava:guava:19.0
+--- org.jboss.errai:errai-bus:3.2.3-SNAPSHOT
| +--- org.jboss.errai:errai-common:3.2.3-SNAPSHOT
| | +--- org.jboss.errai.reflections:reflections:3.2.3-SNAPSHOT
| | | +--- org.javassist:javassist:3.18.1-GA
| | | \--- org.slf4j:slf4j-api:1.7.2
| | +--- de.benediktmeurer.gwt-slf4j:gwt-slf4j:0.0.2
| | \--- org.apache.commons:commons-lang3:3.1
| +--- org.jboss.errai:errai-config:3.2.3-SNAPSHOT
| +--- org.jboss.errai:errai-marshalling:3.2.3-SNAPSHOT
| | +--- org.jboss.errai:errai-common:3.2.3-SNAPSHOT (*)
| | +--- org.jboss.errai:errai-config:3.2.3-SNAPSHOT
| | +--- org.jboss.errai:errai-codegen:3.2.3-SNAPSHOT
| | | +--- org.jboss.errai:errai-common:3.2.3-SNAPSHOT (*)
| | | \--- org.mvel:mvel2:2.2.7.Final
| | \--- org.jboss.errai:errai-codegen-gwt:3.2.3-SNAPSHOT
| | \--- org.jboss.errai:errai-codegen:3.2.3-SNAPSHOT (*)
| +--- com.google.inject:guice:3.0
| | +--- aopalliance:aopalliance:1.0
| | \--- org.sonatype.sisu.inject:cglib:2.2.1-v20090111
| +--- org.mvel:mvel2:2.2.7.Final
| +--- org.slf4j:slf4j-api:1.7.2
| +--- org.javassist:javassist:3.18.1-GA
| +--- io.netty:netty-codec-http:4.0.12.Final
| | +--- io.netty:netty-codec:4.0.12.Final
| | | \--- io.netty:netty-transport:4.0.12.Final
| | | \--- io.netty:netty-buffer:4.0.12.Final
| | | \--- io.netty:netty-common:4.0.12.Final
| | \--- io.netty:netty-handler:4.0.12.Final
| | +--- io.netty:netty-buffer:4.0.12.Final (*)
| | +--- io.netty:netty-transport:4.0.12.Final (*)
| | \--- io.netty:netty-codec:4.0.12.Final (*)
| \--- org.jgroups:jgroups:3.2.13.Final
-------------------------------------------------------------------------------------------------
Here are all the packages I have to filter out (see compileExcludes) in my Gradle build to make my WAR file contain jars that I know I need and are up to date. Any plans to improve this in Errai 4?
---------------------------------------------------------------------
dependencies {
dependencies {
def compileExcludes = {
//exclude group: 'com.google.inject'
exclude group: 'com.google.gwt'
exclude group: 'com.google.guava'
exclude group: 'javax.enterprise'
exclude group: 'javax.annotation'
exclude group: 'javax.inject:javax'
exclude group: 'org.keycloak'
exclude group: 'org.jboss.resteasy'
exclude group: 'dom4j'
exclude group: 'org.lesscss'
exclude group: 'org.jboss.spec'
exclude group: 'javax.servlet'
exclude group: 'javax.inject'
exclude group: 'javax.el'
exclude group: 'junit'
exclude group: 'org.hibernate.javax.persistence'
exclude group: 'org.jboss.spec.javax.interceptor'
exclude group: 'org.jboss.spec.javax.el'
exclude group: 'org.jboss.spec.javax.ws.rs'
exclude group: 'org.jboss.spec'
exclude group: 'org.hibernate'
exclude group: 'asm'
}
//GWT
providedCompile "com.google.gwt:gwt-user:${gwt_version}"
//Cargo
cargo "org.codehaus.cargo:cargo-core-uberjar:${cargo_version}",
"org.codehaus.cargo:cargo-ant:${cargo_version}",
"org.wildfly.core:wildfly-controller-client:${wildfly_controller_version}"
//Java EE
providedCompile "javax:javaee-api:${java_ee_version}"
//Other compile dependencies
compile "com.google.guava:guava:${guava_version}"
gwt "com.google.guava:guava-gwt:${guava_version}"
//Errai dependencies
compile "org.jboss.errai:errai-bus:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-ioc-bus-support:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-ioc:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-cdi-client:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-weld-integration:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-data-binding:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-jaxrs-client:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-jaxrs-provider:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-ui:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-navigation:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-jboss-as-support:${errai_version}", compileExcludes
// Errai Keycloak
compile "org.jboss.errai:errai-security-server:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-security-client:${errai_version}", compileExcludes
compile "org.jboss.errai:errai-security-keycloak:${errai_version}", compileExcludes
// Keycloak
compile "org.keycloak:keycloak-core:${keycloak_version}", compileExcludes
compile "org.keycloak:keycloak-adapter-core:${keycloak_version}", compileExcludes
compile "org.keycloak:keycloak-servlet-oauth-client:${keycloak_version}", compileExcludes
compile project(":web-server")
compile project(":web-shared")
}
}
-
5. Re: GWT 2.8 and the future of Errai
mbarkley Mar 8, 2016 3:04 PM (in response to hr.stoyanov)Hi Hristo,
I'm sorry for misleading you about Guice in Errai. I forgot that it is used internally by Errai Bus to wire itself.
Regarding streamlining dependencies, this is an issue we've looked into from time-to-time but without any obviously superior solutions. There are lots of dependencies in Errai that only ought to be provided scoped. But since Maven does not transitively include provided dependencies, if we made the dependencies provided our users would have to manually include them as provided in their own projects. So far we've preferred for these dependencies to be compile-scoped so that users don't need to manually add them all to a project when they're getting started.
-
6. Re: GWT 2.8 and the future of Errai
hr.stoyanov Mar 9, 2016 4:43 PM (in response to mbarkley)Thanks Max,
One thing that helps is to clearly designate the provided scope in the docs. In section 15.13 of the docs, some top level packages do not have compile or provided scope. Trying to figure it out from examples is hard.
Is Errai 4 Java EE 7 dependent? You can then drop lots of Java EE packages not present in earlier editions.