<div dir="ltr"><div>Hey Marc,</div><div><br></div>(Copying Windup dev so everyone can see what's going on - the are some valuable examples here.)<div><br></div><div>First, I didn't see anything borrowed from George's project other than possibly some config in the POM (which created some duplicate dependencies and included a LOT of stuff you don't need.) I've gone ahead and updated the project for you and hosted it within the Windup organization. <b>You can find the code here:</b></div><div><br></div><div> <a href="https://github.com/windup/windup-web">https://github.com/windup/windup-web</a> <br></div><div><br></div><div><b>To run the example</b>, you will need to <b>first update the path here</b> to point to your local project directory (where the project is checked out.) If the server is not doing exploded deployments, this should be updated to actually extract the addon-repository from WEB-INF/addon-repository to a temp directory and point to that temp directory (I'll leave that to you, if necessary):</div><div><br></div><div> <a href="https://github.com/windup/windup-web/blob/master/src/main/java/org/jboss/windup/rest/startup/StartupListener.java#L34">https://github.com/windup/windup-web/blob/master/src/main/java/org/jboss/windup/rest/startup/StartupListener.java#L34</a></div><div><br></div><div><b>Then run a build:</b></div><div><br></div><div> mvn clean install</div><div><br></div><div><b>Now deploy the application and run it </b>on EAP6.2+ - you can execute Windup via the REST endpoint (make sure to update the URL to the right local paths) :</div><div><br></div><div><a href="http://192.168.1.6:8080/windup-web/rest/windup?inputPath=....../projects/windup/test-files/jee-example-app-1.0.0.ear&outputPath=....../Desktop/windup-web-report">http://192.168.1.6:8080/windup-web/rest/windup?inputPath=....../projects/windup/test-files/jee-example-app-1.0.0.ear&outputPath=....../Desktop/windup-web-report</a><br></div><div><br></div><div><b>The web service endpoint code is here:</b></div><div><br></div><div><a href="https://github.com/windup/windup-web/blob/master/src/main/java/org/jboss/windup/rest/WindupService.java">https://github.com/windup/windup-web/blob/master/src/main/java/org/jboss/windup/rest/WindupService.java</a><br></div><div><br></div><div>I've also updated the server.log so you can see the output from my test execution on my local machine. Everything ran successfully and the report was generated :)</div><div><br></div><div><br></div><div>I hope this helps,</div><div>Lincoln</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 1, 2015 at 5:48 PM, Marc Zottner <span dir="ltr"><<a href="mailto:mzottner@redhat.com" target="_blank">mzottner@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Arial;font-size:12pt;color:#000000"><div>Hi Lincoln!<br></div><div><br></div><div>Last Wednesday I spent a couple of hours trying to run Windup 2.1.0.Final on EAP 6 without success. I started from scratch using the example of Georges that you mentioned. The example itself worked very well. As soon as I bound the windup libraries / add-ons, I had several issues.<br></div><div><br></div><div>Here is the latest exception I was not able to fix: </div><div><br></div><div>Caused by: org.jboss.weld.exceptions.DeploymentException: WELD-001408 Unsatisfied dependencies for type [AddonRegistry] with qualifiers [@Default] at injection point [[parameter 3] of [method] public org.jboss.windup.config.furnace.FurnaceHolder.setFurnace(PostStartup, Furnace, AddonRegistry)]<br> at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:315)<br> at org.jboss.weld.bootstrap.Validator.validateInjectionPoint(Validator.java:284)<br> at org.jboss.weld.bootstrap.Validator.validateObserverMethods(Validator.java:560)<br> at org.jboss.weld.bootstrap.Validator.validateDeployment(Validator.java:376)<br> at org.jboss.weld.bootstrap.WeldBootstrap.validateBeans(WeldBootstrap.java:379)<br> at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:64)<span class=""><br> at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]<br> at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]<br> ... 3 more</span></div><div><br></div><div>(cf. <a href="https://github.com/Maarc/forge-rest-service/blob/master/server.log" target="_blank">https://github.com/Maarc/forge-rest-service/blob/master/server.log</a>) </div><div></div><div></div><div><br></div><div>Do you know what could be the issue here? I checked the project in <a href="https://github.com/Maarc/forge-rest-service/" target="_blank">https://github.com/Maarc/forge-rest-service/.</a><br></div><div><br></div><div>best regards and have a great start in your week,<br></div><div><br></div><div>Marc<br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><hr><div style="color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica,Arial,sans-serif;font-size:12pt"><b>Von: </b>"Lincoln Baxter, III" <<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>><br><b>An: </b>"Marc Zottner" <<a href="mailto:mzottner@redhat.com" target="_blank">mzottner@redhat.com</a>><br><b>Gesendet: </b>Mittwoch, 25. Februar 2015 17:32:41<br><b>Betreff: </b>Re: Fw: Windup 2.1.0.Final - EAP 6.x integration (Windup-as-a-Service)<div><div class="h5"><br><div><br></div><div dir="ltr">Hey Marc,<div><br></div><div>I'm trying to figure out what exactly you are trying to do here. It looks like you are somehow attempting to deploy Windup as a JBoss Module? That definitely won't work. (I can explain why if you are really interested, but basically Windup runs inside Furnace, and the way you've wired things up, you're not running it inside Furnace. <a href="https://github.com/forge/furnace" target="_blank">https://github.com/forge/furnace</a>)</div><div><br></div><div>You need to embed Windup by doing something like this:</div><div><a href="https://github.com/windup/windup/blob/master/bootstrap/src/main/java/org/jboss/windup/bootstrap/Bootstrap.java" target="_blank">https://github.com/windup/windup/blob/master/bootstrap/src/main/java/org/jboss/windup/bootstrap/Bootstrap.java</a><br></div><div><br></div><div>That means you'll need to install windup into your application via the furnace-maven-plugin and probably unzip that folder from the WAR to a folder on disk at startup (for offline use):</div><div><a href="https://github.com/windup/windup/blob/master/dist/pom.xml#L28" target="_blank">https://github.com/windup/windup/blob/master/dist/pom.xml#L28</a><br></div><div><br></div><div>Alternatively if you want to depend on an internet connection, you can do this at runtime:</div><div><a href="https://github.com/forge/furnace#usage" target="_blank">https://github.com/forge/furnace#usage</a><br></div><div><br></div><div>I hope this helps,</div><div>~Lincoln </div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Feb 25, 2015 at 6:11 AM, Marc Zottner <span dir="ltr"><<a href="mailto:mzottner@redhat.com" target="_blank">mzottner@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>Hi Lincoln!</div><div><br></div><div>I am quite far with the integration of windup 2 and EAP. However I am getting something like that:</div><div><br></div><div>______</div><div><br></div><div><div style="margin:0px">11:42:04,894 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-13) MSC000001: Failed to start service jboss.deployment.unit."winddrop.ear".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."winddrop.ear".WeldStartService: Failed to start service</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1936) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]</div><div style="margin:0px">Caused by: org.jboss.weld.exceptions.DefinitionException: Exception List with 1 exceptions:</div><div style="margin:0px">Exception 0 :</div><div style="margin:0px">java.lang.IllegalArgumentException: Coordinates must be of the form 'name,version' or 'name,version,api-version</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.forge.furnace.addons.AddonId.fromCoordinates(AddonId.java:78)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.forge.addon.ui.impl.extension.AnnotatedCommandExtension.observeAnnotationMethods(AnnotatedCommandExtension.java:33)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at java.lang.reflect.Method.invoke(Method.java:606)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:267)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:263)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:164)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:245)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:233)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:213)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:117)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.event.TransactionalObserverNotifier.notifyObserver(TransactionalObserverNotifier.java:44)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.event.ObserverNotifier.notifyObservers(ObserverNotifier.java:85)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.event.ObserverNotifier.fireEvent(ObserverNotifier.java:75)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:60)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:38)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.events.ProcessAnnotatedTypeImpl.fire(ProcessAnnotatedTypeImpl.java:41)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:83)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:137)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:184)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:349)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:63)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at java.lang.Thread.run(Thread.java:745)</div><div style="margin:0px"><br></div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:40)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.events.ProcessAnnotatedTypeImpl.fire(ProcessAnnotatedTypeImpl.java:41)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:83)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:137)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.BeanDeployment.createBeans(BeanDeployment.java:184)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:349)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.as.weld.WeldStartService.start(WeldStartService.java:63)</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1980) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1913) [jboss-msc-1.1.5.Final-redhat-1.jar:1.1.5.Final-redhat-1]</div><div style="margin:0px"><span style="white-space:pre-wrap"> </span>... 3 more</div><div style="margin:0px">______</div><div style="margin:0px"><br></div><div style="margin:0px"><br></div><div style="margin:0px">Attached you will find my module.xml and I am starting EAP passing the following parameters:</div><div style="margin:0px"><br></div><div style="margin:0px">/bin/standalone.sh -c standalone-full.xml -Dcom.sun.jersey.server.impl.cdi.lookupExtensionInBeanManager=true -Dforge.standalone=true -Dforge.home=/opt/jboss/jboss-eap-6.3/modules/system/layers/base/org/jboss/windup/2.1.0.Final -Dwindup.home=/opt/jboss/jboss-eap-6.3/modules/system/layers/base/org/jboss/windup/2.1.0.Final</div><div style="margin:0px"><br></div><div style="margin:0px"><br></div><div style="margin:0px">Do you have any idea what could be wrong or missing?</div><div style="margin:0px"><br></div><div style="margin:0px"><br></div><div style="margin:0px">best regards,</div><div style="margin:0px"><br></div><div style="margin:0px">Marc</div><div style="margin:0px"><br></div><div style="margin:0px"><br></div><div style="margin:0px"><br></div><div style="margin:0px"><br></div></div><div><div><div><br></div><p style="color:#000">On 25 Feb 2015 at 11:59:40, Marc Zottner (<a href="mailto:mzottner@redhat.com" target="_blank">mzottner@redhat.com</a>) wrote:</p><blockquote><div style="word-wrap:break-word"><div><br></div><div>Hi everyone,<div><br></div><div>I hope you are doing great. Yesterday I had a look at the latest version of Windup (2.1.0.Final) and I really like it :) It seem way faster than the previous releases I tested.</div><div><br></div><div><br></div><div>Yesterday I updated the windup-as-a-service fronted (<a href="https://github.com/Maarc/windup-as-a-service" target="_blank">https://github.com/Maarc/windup-as-a-service</a>), made some cleanup and fixed issues with chrome. It is basically an EAP 6 web application running windup 0.7. During the last weeks, I installed this in combination with custom rules for a customer having hundreds of developers. Do not hesitate to have a look at it and give me some feedback.</div><div><br></div><div><br></div><div>I started to integrated the windup-as-a-service fronted with Windup 2.1.0.Final and would be glad to have your support. </div><div><br></div><div><br></div><div><b>BUILD</b></div><div><br></div><div>In order to be able to build Windup 2.1.0.Final, I had to</div><ul><li>add <skipTests>true</skipTests> to the grand-father-pom</li><li>import manually “indexer-core-6.0.WINDUP.jar” in my local repository from the standalone/offline build (<a href="https://repository.jboss.org/nexus/content/repositories/releases/org/jboss/windup/windup-distribution/2.1.0.A/" target="_blank">https://repository.jboss.org/nexus/content/repositories/releases/org/jboss/windup/windup-distribution/2.1.0.A/</a>)</li><li>add the "<a href="https://repository.jboss.org/nexus/content/repositories/releases" target="_blank">https://repository.jboss.org/nexus/content/repositories/releases</a>” maven repository to my dependencies</li></ul><div>It would be great to document it.</div><div><br></div><div>However my built client in the “dist” directory has less jars than in the "windup-distribution-2.1.0.A-offline.zip” and I was not able to run it.</div><div><br></div><div><br></div><div><b>INTEGRATION in EAP 6.x</b></div><div><br></div><div>In order to integrate Windup 2.1.0.Final in EAP, I tried to follow the same way that worked for windup 0.7:</div><div>- define a custom jboss-module containing most of the windup and add ons libraries (expected the weld ones)</div><div>- control the loaded dependencies with a custom jboss-deployment-structure.xml</div><div><br></div><div>So far it does not work and I am not sure this approach is really a good idea. Forge has not been designed to be executed in EAP 6 directly. Do you have some hints for doing this?</div><div><br></div><div><br></div><div>Maybe using a java wrapper and calling the standalone windup installation would be a better idea ...</div><div><br></div><div><br></div><div>best regards,</div><div><br></div><div>Marc</div><div><br></div><div><br></div><div> </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div></blockquote></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div>Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>"Simpler is better."</div></div></div></div></div><div><br></div></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Lincoln Baxter, III<br><a href="http://ocpsoft.org" target="_blank">http://ocpsoft.org</a><br>"Simpler is better."</div>
</div>