<div dir="ltr"><div>Hey Marc,</div><div><br></div>(Copying Windup dev so everyone can see what&#39;s going on - the are some valuable examples here.)<div><br></div><div>First, I didn&#39;t see anything borrowed from George&#39;s project other than possibly some config in the POM (which created some duplicate dependencies and included a LOT of stuff you don&#39;t need.) I&#39;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&#39;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&amp;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&amp;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&#39;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">&lt;<a href="mailto:mzottner@redhat.com" target="_blank">mzottner@redhat.com</a>&gt;</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>&quot;Lincoln Baxter, III&quot; &lt;<a href="mailto:lincolnbaxter@gmail.com" target="_blank">lincolnbaxter@gmail.com</a>&gt;<br><b>An: </b>&quot;Marc Zottner&quot; &lt;<a href="mailto:mzottner@redhat.com" target="_blank">mzottner@redhat.com</a>&gt;<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&#39;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&#39;t work. (I can explain why if you are really interested, but basically Windup runs inside Furnace, and the way you&#39;ve wired things up, you&#39;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&#39;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">&lt;<a href="mailto:mzottner@redhat.com" target="_blank">mzottner@redhat.com</a>&gt;</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.&quot;winddrop.ear&quot;.WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit.&quot;winddrop.ear&quot;.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 &#39;name,version&#39; or &#39;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 &lt;skipTests&gt;true&lt;/skipTests&gt; 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 &quot;<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 &quot;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>&quot;Simpler is better.&quot;</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>&quot;Simpler is better.&quot;</div>
</div>