On 12/08/15 09:12, Dennis Bliefernicht wrote:
HI,

- download woproject.jar only once instead of once per framework
- remove reference tonexus.xyrality.net <http://nexus.xyrality.net/>
- remove postgres dependencies
- allow setting webobjectsVersion / wonderVersion before applying the plugin since automatically added frameworks will use the default versions otherwise

Feel absolutely free to submit pull requests, preferable separate ones for this :-) Generally we're not that happy either yet with the default dependency mechanism; while "fine" for most projects sometimes you want to switch out some dependency which is not that easy to do afterwards in Gradle.

Will do :)
Our only trouble with dependencies has been with WOUnit that get outdated dependencies so our fork contains
testCompile(group: 'com.wounit', name: 'wounit', version: '1.2.1') {
    transitive = false
}
and we manually add the required dependencies afterward.
[2015-8-10 16:14:34 CEST] <main> Couldn't load properties file: /Users/ycanal/WebObjects.properties at path: /Users/ycanal [2015-8-10 16:14:34 CEST] <main> Unable to initialize WOProperties for reason: Cannot find JavaWebObjects framework ! java.lang.IllegalStateException: Unable to locate the "JavaWebObjects" bundle [2015-8-10 16:14:34 CEST] <main> A fatal exception occurred: <WOApplication>: Cannot be initialized. [2015-8-10 16:14:34 CEST] <main> com.webobjects.foundation.NSForwardException [java.lang.IllegalStateException] Unable to locate the "JavaWebObjects" bundle:<WOApplication>: Cannot be initialized. at com.webobjects.appserver.WOApplication.<init>(WOApplication.java:918) at er.extensions.appserver.ajax.ERXAjaxApplication.<init>(ERXAjaxApplication.java:30) at er.extensions.appserver.ERXApplication.<init>(ERXApplication.java:1097) at fr.sophiacom.corason.foundation.appserver.COCoreApplication.<init>(COCoreApplication.java:22)
   at fr.sophiacom.app.NRApplication.<init>(NRApplication.java:19)
   at fr.sophiacom.app.Application.<init>(Application.java:30)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
   at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
   at java.lang.Class.newInstance(Class.java:442)
at com.webobjects.appserver.WOApplication.main(WOApplication.java:547) at er.extensions.appserver.ERXApplication.main(ERXApplication.java:866)
   at fr.sophiacom.app.Application.main(Application.java:25)
Caused by: java.lang.IllegalStateException: Unable to locate the "JavaWebObjects" bundle at com.webobjects.appserver.WOResourceManager.__getJavaWebObjectsResourceAsStream(WOResourceManager.java:131) at com.webobjects.appserver._private.WOProperties.initUserDefaultsKeys(WOProperties.java:317) at com.webobjects.appserver.WOApplication._initWOApp(WOApplication.java:5743) at com.webobjects.appserver.WOApplication.<init>(WOApplication.java:779)
   ... 13 more

Do you have any idea how to fix that ?
Right now we are still keeping our old .project / build.xml /.classpath but we would like to avoid maintaining 2 configurations.

How did you import the project exactly? Did you keep the old .project and .classpath around for that or did you do a fresh import using the gradle plugin? There could be some issue with the classpath, if the old files are around, best would be to have gradle generate new ones. Have a look at the project properties -> Build path, there should be no more references to WO libraries but only to JARs in yourhomefolder/.gradle/ (see attachment), even for all the frameworks.
We tried to use gradle + eclipse in a new workspace after a "gradle cleanEclipse eclipse" so the generated .classpath only reference .jar as in your screenshot. It may be a missing (runtime)dependency but the exception is not really helpful :(

Does that scenario give you the exact same stack trace? Which Eclipse version and Gradle plugin did you use? I investigated the new Buildship plugin but that one still has some issues that prevent this in a WO context, mainly it doesn't allow the gradle.build to add custom project natures. As the WOLips plugin for now is unaware of Buildship, the WO build nature never gets added to the project and thus some specific WO builders do not run at all. Check your generated .project if it includes the build command for org.objectstyle.wolips.incrementalbuilder and a project nature of org.objectstyle.wolips.incrementalapplicationnature or org.objectstyle.wolips.incrementalframeworknature. If this is missing, this can also result in some WOLips exceptions, if you try to access the WOLips part of the project properties.

That's the scenario we tried. We use eclipse 4.5 (I think Antoine tried on 4.4), gradle 2.4 and our fork of the gradle-plugin. The projects were imported using the "import existing project" menu, not the gradle import. .project file contains org.objectstyle.wolips.incrementalbuilder and org.objectstyle.wolips.incrementalframeworknature :(

Linking to the JavaWebObjects library instead of the .jar gives another exception but I'm not sure this can help:
[...]
[2015-8-13 14:59:24 CEST] <main> NSBundle is unable to find "ExtensionsForResources.plist" in the main bundle. Ignoring optional configuration file. [2015-8-13 14:59:24 CEST] <main> Cannot use rapid turnaround. Please start Xcode and open the project for this application. [2015-8-13 14:59:24 CEST] <main> <WOProjectBundle>: Warning - Unable to find project at path /Users/ycanal/ - Ignoring project. [2015-8-13 14:59:24 CEST] <main> java.lang.StringIndexOutOfBoundsException: String index out of range: 18
    at java.lang.String.substring(String.java:1951)
at com.webobjects._ideservices._WOAntProject.antProjectAtPath(_WOAntProject.java:62) at com.webobjects._ideservices._WOProject.ideProjectAtPath(_WOProject.java:106) at com.webobjects.appserver._private.WOProjectBundle._isProjectBundlePath(WOProjectBundle.java:225) at com.webobjects.appserver._private.WODeployedBundle.bundleWithNSBundle(WODeployedBundle.java:745) at com.webobjects.appserver.WOResourceManager._bundleWithNSBundle(WOResourceManager.java:186) at com.webobjects.appserver.WOResourceManager._locateBundleForFrameworkNamed(WOResourceManager.java:208) at com.webobjects.appserver.WOResourceManager._cachedBundleForFrameworkNamed(WOResourceManager.java:233) at com.webobjects.appserver.WOResourceManager._initFrameworkProjectBundles(WOResourceManager.java:254) at com.webobjects.appserver.WOResourceManager.<init>(WOResourceManager.java:69) at er.extensions.appserver.ERXResourceManager.<init>(ERXResourceManager.java:48) at er.extensions.appserver.ERXApplication.createResourceManager(ERXApplication.java:1090) at com.webobjects.appserver.WOApplication.resourceManager(WOApplication.java:1663) at er.extensions.foundation.ERXFileUtilities.inputStreamForResourceNamed(ERXFileUtilities.java:627) at er.extensions.foundation.ERXFileUtilities.readPropertyListFromFileInFramework(ERXFileUtilities.java:820) at er.extensions.appserver.ERXResourceManager._additionalMimeTypes(ERXResourceManager.java:405) at er.extensions.appserver.ERXResourceManager.<clinit>(ERXResourceManager.java:46) at er.extensions.appserver.ERXApplication.createResourceManager(ERXApplication.java:1090) at com.webobjects.appserver.WOApplication.<init>(WOApplication.java:841) at er.extensions.appserver.ajax.ERXAjaxApplication.<init>(ERXAjaxApplication.java:30) at er.extensions.appserver.ERXApplication.<init>(ERXApplication.java:1097)
    at fr.sophiacom.app.Application.<init>(Application.java:30)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at java.lang.Class.newInstance(Class.java:442)
    at com.webobjects.appserver.WOApplication.main(WOApplication.java:547)
    at er.extensions.appserver.ERXApplication.main(ERXApplication.java:866)
    at fr.sophiacom.app.Application.main(Application.java:25)

[2015-8-13 14:59:24 CEST] <main> Creating LifebeatThread now with: YNP_NOBackOfficeApp -1 localhost/127.0.0.1 1085 30000 [2015-8-13 14:59:24 CEST] <main> A fatal exception occurred: ERXExtensions have not been initialized. Debugging information can be enabled by adding the JVM argument: '-Der.extensions.appserver.projectBundleLoading=DEBUG'. Please report the classpath and the rest of the bundles to the Wonder mailing list: Remaining frameworks: [JavaFoundation, ERModernLook, ERCoreBusinessLogic, ERTaggable, JavaJDBCAdaptor, ERRest, JavaXML, WOLips, ERCoolComponents, ERPrototypes, ExcelGenerator, JavaWOExtensions, JavaDTWGeneration, ERAttachment, JavaEOControl, Ajax, MySQLPlugIn, JavaEOAccess, GoogleChart, JavaDirectToWeb, ERCoreBusinessLogicDTW, ERJavaMail, ERExcelLook, JavaEOProject, JavaMemoryAdaptor, ERModernDefaultSkin, ERDirectToWeb, ERQuartzScheduler, ERExtensions, WOOgnl, ERModernDirectToWeb]
Classpath: [...]
[2015-8-13 14:59:24 CEST] <main> java.lang.RuntimeException: ERXExtensions have not been initialized. Debugging information can be enabled by adding the JVM argument: '-Der.extensions.appserver.projectBundleLoading=DEBUG'. Please report the classpath and the rest of the bundles to the Wonder mailing list: Remaining frameworks: [JavaFoundation, ERModernLook, ERCoreBusinessLogic, ERTaggable, JavaJDBCAdaptor, ERRest, JavaXML, WOLips, ERCoolComponents, ERPrototypes, ExcelGenerator, JavaWOExtensions, JavaDTWGeneration, ERAttachment, JavaEOControl, Ajax, MySQLPlugIn, JavaEOAccess, GoogleChart, JavaDirectToWeb, ERCoreBusinessLogicDTW, ERJavaMail, ERExcelLook, JavaEOProject, JavaMemoryAdaptor, ERModernDefaultSkin, ERDirectToWeb, ERQuartzScheduler, ERExtensions, WOOgnl, ERModernDirectToWeb]
Classpath: [...]
at er.extensions.appserver.ERXApplication.<init>(ERXApplication.java:1143) at fr.sophiacom.corason.foundation.appserver.COCoreApplication.<init>(COCoreApplication.java:22)
    at fr.sophiacom.app.NRApplication.<init>(NRApplication.java:19)
    at fr.sophiacom.app.Application.<init>(Application.java:30)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
    at java.lang.Class.newInstance(Class.java:442)
    at com.webobjects.appserver.WOApplication.main(WOApplication.java:547)
    at er.extensions.appserver.ERXApplication.main(ERXApplication.java:866)
    at fr.sophiacom.app.Application.main(Application.java:25)

Greetings
Dennis

--




-----------------------------------------------------
*Dennis Bliefernicht* • Backend Development
*T* +49 40 357 3001 62
dennis.blieferni...@xyrality.com <mailto:dennis.blieferni...@xyrality.com>
_
_
XYRALITY GmbH•Friedensallee 290 • 22763 Hamburg
www.xyrality.com <http://www.xyrality.com>
Registergericht: Hamburg HRB 115332
Geschäftsführer: Sven Ossenbrüggen
-----------------------------------------------------

Yoann
 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to