Build failed in Jenkins: Errai » Errai::Navigation #1104
by ci-builds@redhat.com
See <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...>
------------------------------------------
[...truncated 8 lines...]
[INFO] Deleting <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> (includes = [www-test/**, .gwt/**, .errai/**, war/WEB-INF/deploy/**, war/WEB-INF/lib/**, war/WEB-INF/classes/**, src/main/webapp/WEB-INF/deploy/**, src/main/webapp/WEB-INF/lib/**, src/main/webapp/WEB-INF/classes/**, **/gwt-unitCache/**, **/*.JUnit/**], excludes = [])
mojoSucceeded org.apache.maven.plugins:maven-clean-plugin:2.4.1(default-clean)
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(enforce-sane-versions)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-sane-versions) @ errai-navigation ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(enforce-sane-versions)
mojoStarted org.jboss.errai:jacoco-gwt-maven-plugin:0.5.4.201202141554(jacoco-initialize)
[INFO]
[INFO] --- jacoco-gwt-maven-plugin:0.5.4.201202141554:prepare-agent (jacoco-initialize) @ errai-navigation ---
[INFO] jacocoArgs set to -javaagent:/home/hudson/.m2/repository/org/jboss/errai/jacoco-gwt-maven-plugin/0.5.4.201202141554/jacoco-gwt-maven-plugin-0.5.4.201202141554.jar=snapshotDirectory=<http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> -javaagent:/home/hudson/.m2/repository/org/jacoco/org.jacoco.agent/0.5.4.201111111111/org.jacoco.agent-0.5.4.201111111111-runtime.jar=destfile=<http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...>
mojoSucceeded org.jboss.errai:jacoco-gwt-maven-plugin:0.5.4.201202141554(jacoco-initialize)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ errai-navigation ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 22 resources
[INFO] Copying 1 resource
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-resources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.3.2(default-compile)
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ errai-navigation ---
[INFO] Compiling 21 source files to <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...>
mojoSucceeded org.apache.maven.plugins:maven-compiler-plugin:2.3.2(default-compile)
mojoStarted org.apache.maven.plugins:maven-resources-plugin:2.6(default-testResources)
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ errai-navigation ---
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[INFO] Copying 1 resource
mojoSucceeded org.apache.maven.plugins:maven-resources-plugin:2.6(default-testResources)
mojoStarted org.apache.maven.plugins:maven-compiler-plugin:2.3.2(default-testCompile)
[INFO]
[INFO] --- maven-compiler-plugin:2.3.2:testCompile (default-testCompile) @ errai-navigation ---
[INFO] Compiling 22 source files to <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...>
mojoSucceeded org.apache.maven.plugins:maven-compiler-plugin:2.3.2(default-testCompile)
mojoStarted org.apache.maven.plugins:maven-surefire-plugin:2.5(default-test)
[INFO]
[INFO] --- maven-surefire-plugin:2.5:test (default-test) @ errai-navigation ---
[INFO] Surefire report directory: <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...>
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running org.jboss.errai.ui.nav.client.local.TransitionAnchorTest
[WARN] Unable to create new cache log file <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai....>
java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:883)
at com.google.gwt.dev.javac.PersistentUnitCache.createCacheFile(PersistentUnitCache.java:120)
at com.google.gwt.dev.javac.PersistentUnitCache.<init>(PersistentUnitCache.java:264)
at com.google.gwt.dev.javac.UnitCacheFactory.get(UnitCacheFactory.java:59)
at com.google.gwt.dev.javac.CompilationStateBuilder.init(CompilationStateBuilder.java:403)
at com.google.gwt.dev.DevModeBase.doStartup(DevModeBase.java:917)
at com.google.gwt.dev.DevMode.doStartup(DevMode.java:424)
at com.google.gwt.junit.JUnitShell.doStartup(JUnitShell.java:931)
at com.google.gwt.dev.DevModeBase.startUp(DevModeBase.java:1083)
at com.google.gwt.junit.JUnitShell.getUnitTestShell(JUnitShell.java:707)
at com.google.gwt.junit.JUnitShell.runTest(JUnitShell.java:652)
at com.google.gwt.junit.client.GWTTestCase.runTest(GWTTestCase.java:441)
at junit.framework.TestCase.runBare(TestCase.java:134)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at com.google.gwt.junit.client.GWTTestCase.run(GWTTestCase.java:296)
at junit.framework.TestSuite.runTest(TestSuite.java:243)
at junit.framework.TestSuite.run(TestSuite.java:238)
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:59)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:115)
at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:140)
at org.apache.maven.surefire.Surefire.run(Surefire.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:290)
at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1017)
logging for HtmlUnit thread
[WARN] Obsolete content type encountered: 'application/x-javascript'.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[errai] wait for: org.jboss.errai.marshalling.client.api.MarshallerFramework
[errai] vote for: org.jboss.errai.marshalling.client.api.MarshallerFramework
[errai] bus initialization started ...
[errai] wait for: org.jboss.errai.bus.client.api.ClientMessageBus
[errai] IOC bootstrapper successfully initialized.
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 370.132 sec <<< FAILURE!
Running org.jboss.errai.ui.nav.client.local.NavigationTest
logging for HtmlUnit thread
[WARN] Obsolete content type encountered: 'application/x-javascript'.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[errai] wait for: org.jboss.errai.marshalling.client.api.MarshallerFramework
Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory
Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator
[WARN] You are using the deprecated statingPage place change to role = DefaultPage.class
[errai] vote for: org.jboss.errai.marshalling.client.api.MarshallerFramework
[errai] bus initialization started ...
[errai] wait for: org.jboss.errai.bus.client.api.ClientMessageBus
[errai] IOC bootstrapper successfully initialized.
Tests run: 8, Failures: 0, Errors: 8, Skipped: 0, Time elapsed: 407.354 sec <<< FAILURE!
Running org.jboss.errai.ui.nav.client.local.PageStateTest
logging for HtmlUnit thread
[WARN] Obsolete content type encountered: 'application/x-javascript'.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[errai] wait for: org.jboss.errai.marshalling.client.api.MarshallerFramework
[errai] vote for: org.jboss.errai.marshalling.client.api.MarshallerFramework
Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory
Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator
[WARN] You are using the deprecated statingPage place change to role = DefaultPage.class
[errai] bus initialization started ...
[errai] wait for: org.jboss.errai.bus.client.api.ClientMessageBus
[errai] IOC bootstrapper successfully initialized.
Tests run: 5, Failures: 0, Errors: 5, Skipped: 0, Time elapsed: 327.735 sec <<< FAILURE!
Running org.jboss.errai.ui.nav.client.local.PageLifecycleTest
logging for HtmlUnit thread
[WARN] Obsolete content type encountered: 'application/x-javascript'.
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
[errai] wait for: org.jboss.errai.marshalling.client.api.MarshallerFramework
Rebinding org.jboss.errai.marshalling.client.api.MarshallerFactory
Invoking generator org.jboss.errai.marshalling.rebind.MarshallersGenerator
[WARN] You are using the deprecated statingPage place change to role = DefaultPage.class
[errai] vote for: org.jboss.errai.marshalling.client.api.MarshallerFramework
[errai] bus initialization started ...
[errai] wait for: org.jboss.errai.bus.client.api.ClientMessageBus
[errai] IOC bootstrapper successfully initialized.
Tests run: 6, Failures: 0, Errors: 6, Skipped: 0, Time elapsed: 326.74 sec <<< FAILURE!
Running org.jboss.errai.ui.nav.client.local.HistoryTokenTest
logging for HtmlUnit thread
[WARN] Obsolete content type encountered: 'application/x-javascript'.
Tests run: 7, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 31.732 sec
Results :
Tests in error:
Tests run: 27, Failures: 0, Errors: 20, Skipped: 0
[ERROR] There are test failures.
Please refer to <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> for the individual test results.
mojoSucceeded org.apache.maven.plugins:maven-surefire-plugin:2.5(default-test)
[JENKINS] Recording test results
mojoStarted org.apache.maven.plugins:maven-jar-plugin:2.2(default-jar)
[INFO]
[INFO] --- maven-jar-plugin:2.2:jar (default-jar) @ errai-navigation ---
[INFO] Building jar: <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...>
mojoSucceeded org.apache.maven.plugins:maven-jar-plugin:2.2(default-jar)
forkedProjectStarted org.jboss.errai:errai-navigation:3.0-SNAPSHOT
mojoStarted org.apache.maven.plugins:maven-enforcer-plugin:1.2(enforce-sane-versions)
[INFO]
[INFO] --- maven-enforcer-plugin:1.2:enforce (enforce-sane-versions) @ errai-navigation ---
mojoSucceeded org.apache.maven.plugins:maven-enforcer-plugin:1.2(enforce-sane-versions)
mojoStarted org.jboss.errai:jacoco-gwt-maven-plugin:0.5.4.201202141554(jacoco-initialize)
[INFO]
[INFO] --- jacoco-gwt-maven-plugin:0.5.4.201202141554:prepare-agent (jacoco-initialize) @ errai-navigation ---
[INFO] jacocoArgs set to -javaagent:/home/hudson/.m2/repository/org/jboss/errai/jacoco-gwt-maven-plugin/0.5.4.201202141554/jacoco-gwt-maven-plugin-0.5.4.201202141554.jar=snapshotDirectory=<http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> -javaagent:/home/hudson/.m2/repository/org/jacoco/org.jacoco.agent/0.5.4.201111111111/org.jacoco.agent-0.5.4.201111111111-runtime.jar=destfile=<http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> -javaagent:/home/hudson/.m2/repository/org/jboss/errai/jacoco-gwt-maven-plugin/0.5.4.201202141554/jacoco-gwt-maven-plugin-0.5.4.201202141554.jar=snapshotDirectory=<http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> -javaagent:/home/hudson/.m2/repository/org/jacoco/org.jacoco.agent/0.5.4.201111111111/org.jacoco.agent-0.5.4.201111111111-runtime.jar=destfile=<http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...>
mojoSucceeded org.jboss.errai:jacoco-gwt-maven-plugin:0.5.4.201202141554(jacoco-initialize)
Jun 18, 2013 7:26:44 PM hudson.maven.ExecutedMojo <init>
WARNING: Failed to getClass for org.apache.maven.plugin.source.SourceJarMojo
forkedProjectSucceeded org.jboss.errai:errai-navigation:3.0-SNAPSHOT
mojoStarted org.apache.maven.plugins:maven-source-plugin:2.1.2(attach-sources)
[INFO]
[INFO] --- maven-source-plugin:2.1.2:jar (attach-sources) @ errai-navigation ---
[INFO] org already added, skipping
[INFO] org/jboss already added, skipping
[INFO] org/jboss/errai already added, skipping
[INFO] org/jboss/errai/ui already added, skipping
[INFO] org/jboss/errai/ui/nav already added, skipping
[INFO] org/jboss/errai/ui/nav/client already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/spi already added, skipping
[INFO] org/jboss/errai/ui/nav/rebind already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/spi/PageNode.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/spi/NavigationGraph.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/Navigation.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionAnchor.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageTransitionProvider.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/DefaultPage.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionAnchorFactoryProvider.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageRole.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/Page.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageState.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageHidden.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionTo.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionAnchorFactory.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageHiding.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageShown.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionAnchorProvider.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/UniquePageRole.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageShowing.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/HistoryToken.java already added, skipping
[INFO] org/jboss/errai/ui/nav/rebind/PageNavIOCExtension.java already added, skipping
[INFO] org/jboss/errai/ui/nav/rebind/NavigationGraphGenerator.java already added, skipping
[INFO] org/jboss/errai/ui/nav/Navigation.gwt.xml already added, skipping
[INFO] Building jar: <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...>
[INFO] org already added, skipping
[INFO] org/jboss already added, skipping
[INFO] org/jboss/errai already added, skipping
[INFO] org/jboss/errai/ui already added, skipping
[INFO] org/jboss/errai/ui/nav already added, skipping
[INFO] org/jboss/errai/ui/nav/client already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/spi already added, skipping
[INFO] org/jboss/errai/ui/nav/rebind already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/spi/PageNode.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/spi/NavigationGraph.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/Navigation.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionAnchor.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageTransitionProvider.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/DefaultPage.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionAnchorFactoryProvider.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageRole.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/Page.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageState.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageHidden.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionTo.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionAnchorFactory.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageHiding.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageShown.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/TransitionAnchorProvider.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/UniquePageRole.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/PageShowing.java already added, skipping
[INFO] org/jboss/errai/ui/nav/client/local/HistoryToken.java already added, skipping
[INFO] org/jboss/errai/ui/nav/rebind/PageNavIOCExtension.java already added, skipping
[INFO] org/jboss/errai/ui/nav/rebind/NavigationGraphGenerator.java already added, skipping
[INFO] org/jboss/errai/ui/nav/Navigation.gwt.xml already added, skipping
mojoSucceeded org.apache.maven.plugins:maven-source-plugin:2.1.2(attach-sources)
mojoStarted org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ errai-navigation ---
[INFO] Installing <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> to /home/hudson/.m2/repository/org/jboss/errai/errai-navigation/3.0-SNAPSHOT/errai-navigation-3.0-SNAPSHOT.jar
[INFO] Installing <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> to /home/hudson/.m2/repository/org/jboss/errai/errai-navigation/3.0-SNAPSHOT/errai-navigation-3.0-SNAPSHOT.pom
[INFO] Installing <http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Errai/org.jboss.errai...> to /home/hudson/.m2/repository/org/jboss/errai/errai-navigation/3.0-SNAPSHOT/errai-navigation-3.0-SNAPSHOT-sources.jar
mojoSucceeded org.apache.maven.plugins:maven-install-plugin:2.4(default-install)
mojoStarted org.apache.maven.plugins:maven-deploy-plugin:2.7(default-deploy)
[INFO]
[INFO] --- maven-deploy-plugin:2.7:deploy (default-deploy) @ errai-navigation ---
[INFO] Using alternate deployment repository jboss-snapshots-repository::default::https://repository.jboss.org/nexus/c...
Downloading: https://repository.jboss.org/nexus/content/repositories/snapshots/org/jbo...
[WARNING] Could not transfer metadata org.jboss.errai:errai-navigation:3.0-SNAPSHOT/maven-metadata.xml from/to jboss-snapshots-repository (https://repository.jboss.org/nexus/content/repositories/snapshots/): Failed to transfer file: https://repository.jboss.org/nexus/content/repositories/snapshots/org/jbo.... Return code is: 503, ReasonPhrase:Service Temporarily Unavailable.
mojoFailed org.apache.maven.plugins:maven-deploy-plugin:2.7(default-deploy)
projectFailed org.jboss.errai:errai-navigation:3.0-SNAPSHOT
11 years, 5 months
fine grained security
by Erik Jan de Wit
Hi,
We (Jonathan and I) had a chat today with Shane Bryzak how we could implement fine grained security. To give a little context Jonathan felt a need for something like that when integrating errai-security into the TODO list demo. He wants users to be able to share their lists with others. Another use for this would be in navigation, when a user can be shown a page only, if the request parameters combination is allowed for the specific user.
PicketLink supports fine grained security when one implements a Service Provider Interface
public interface PermissionResolver
{
public enum PermissionStatus {
ALLOW, DENY, NOT_APPLICABLE
}
PermissionStatus hasPermission(Object resource, String operation);
PermissionStatus hasPermission(Class<?> resourceClass, Serializable identifier, String operation);
}
Now the only thing we need to figure out is, a way to fit this into an api so that it's not PicketLink specific. And even better have it declarative, but it seems to be to fine grained to do that.
I've create some issues already to track work on these things.
Any thoughts,
Erik Jan
11 years, 5 months
Questions and comments about the POM overhaul
by Jonathan Fuerth
Yesterday and today, I've been working on the todo-list demo. I had made a bunch of changes to the demo in its old location (/errai-jpa/demos), so this effort has been to merge in those changes to the older version of the demo (with a new pom.xml) in the new location at /errai-demos.
In that process, I came across some things that I changed and/or have questions about.
1. There were only a handful of errai modules defined in the <dependencyManagement> section of errai-parent. Also, most but not all errai modules were listed in the <dependencyManagement> section of errai-bom. In both cases, I added the complete set. Is this a bad idea?
2. Do we actually need a separate errai-bom project? I used to think so, but after my changes, errai-parent now has the same <dependencyManagement> section as errai-bom. Can errai-parent just be both?
3. I also added hibernate-validator to errai-javaee-all, because it's required at compile time for apps that use Bean Validation within the GWT part of the app. I'm pretty sure this is okay, so this one isn't really a question :)
4. I noticed the new demos are importing errai-version-master like a BOM, but it only has property definitions in it. These are not importable (they can only be inherited from a parent pom) -- so does this import do anything? If not, should we just move these properties into errai-parent so they are at least accessible from all the (non-demo) errai module poms?
5. The errai-parent project doesn't have jboss-parent as its parent yet. Are you still planning to do this, or did it not work out? I think that doing this would help shorten the errai-parent pom a bit, because we'd get all our plugin versions and many dependencyManagement versions "for free."
6. There are still a bunch of hardcoded versions in the <dependencyManagement> section of errai-parent. Are these just waiting for the properties we'll inherit with we transition to jboss-parent?
7. I added an assortment of transitive dependencies from Hibernate and Weld to the <dependencyManagement> section of errai-parent, such as weld-api, weld-spi, and hibernate-commons-annotations. All three of these are bear traps, because their versions don't match the frameworks they seem to be associated with. If there's a BOM we can import to get the correct versions for these components, that would be WAY better than what I did.
The above stuff is on the master branch now so we can have a look at it together. We can undo anything that I shouldn't have done. The commit is here:
https://github.com/errai/errai/commit/9c3fd91f02d7c6ab6014a79f1d0f7444cc3...
And one final issue, which is a bigger question: how do we make the poms for projects using Errai as simple as possible? To keep the question focused, let's assume the poms only need to be simple for projects that will deploy to AS7 or EAP6 (and eventually WildFly). We'll set aside the question of Jetty and Tomcat.
Projects using Errai need a large number of provided dependencies: Java EE APIs like CDI, JAX-RS, JPA, plus Hibernate itself have to be on the classpath during the GWT compile. But none of these things are allowed to end up in the war file.
The problem is, I only know of one way in Maven to bring provided dependencies into a project with transitivity: they have to be declared as compile-scope dependencies in some pom, and that pom needs to be imported into the project with provided scope. BUT this mechanism is weak: it does not modify the scope of any transitive dependencies that were already at compile scope. It just "fills in the gaps" with provided-scope dependencies. So we end up with things in our .war files that aren't allowed to be there.
Possible Solutions:
1. can we mark all of the non-appserver-deployable dependencies in the various errai modules as "optional?" This would mean that by default, nothing that uses servet, cdi, jax-rs, ejb, and so on would compile: these API dependencies are excluded by default. BUT we could then supply another depchain pom called "errai-javaee-provided." You would depend on it at "provided" scope if deploying to an EE app server, but at "compile" scope if deploying to a simple web container like Tomcat or Jetty.
We could use maven-enforcer-plugin rules (banishing from compile scope all dependencies provided by an EE 6/7 app server) to ensure we do not accidentally violate this scheme by accident in the future.
It would be a big up-front investment, but I think with the help of enforcer, it would not be likely to regress over time.
2. can we configure maven-war-plugin to exclude a whole list of dependencies (basically all the same ones that we would have told the enforcer plugin about in option 1 above)? This way, we could be "sloppy" about scoping API jars and EE impl jars.
3. is there a better solution? I hope so! Both of the above increase the complexity of the pom of *every project that uses errai*.
-Jonathan
11 years, 5 months