First Last Prev Next    No search results available      Search page      Enter new bug
Bug#: 6967
Product:
Component:
Status: NEW
Resolution:
Assigned To: yanel-mailinglist <yanel-development@wyona.com>
Hardware:
OS:
Version:
Priority:
Severity:
Target Milestone:
Reporter: Guillaume Déflache <guillaume.deflache@wyona.com>
Add CC:
CC:
Remove selected CCs
QA Contact:
URL:
Summary:
Status Whiteboard:
Keywords:
Flags:
 

Attachment Type Creator Created Size Flags Actions
Create a New Attachment (proposed patch, testcase, etc.) View All

Bug 6967 depends on: Show dependency tree
Show dependency graph
Bug 6967 blocks: 6898

Additional Comments:









View Bug Activity   |   Format For Printing   |   XML   |   Clone This Bug


Description:   Opened: 2009-02-05 10:51
Implement anything that helps (re)building, testing and maybe reloading
resource types when using Eclipse.

------- Comment #1 From Guillaume Déflache 2009-02-05 11:21:26 -------
For building as found out by Alec IIRC (and recently rediscovered by me...)
instead of packaging all classes into JARs and copying them to
$WEBAPP_HOME/WEB-INF/lib/ we could compile them directly to
$WEBAPP_HOME/WEB-INF/classes/ (we can always keep a separate JAR task).

Sadly Eclipse 3.4 does not allow build output directories outside of the
project hierarchy, so we would have to use a symlink.

For Unix-like development environments (Linux, MacOSX, Cygwin, ...), we can
simply use `ln -s` or the "symlink" Ant task:
http://ant.apache.org/manual/OptionalTasks/symlink.html

For NT-based younger-than-W2k Windows < Vista we may be able to use NTFS
junction points ( http://en.wikipedia.org/wiki/NTFS_junction_point ), which for
our purposes works well enough like symbolic links (creation is not possible
under stock Windows,
http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx (Junction v1.05
By Mark Russinovich) seems the simplest tool to do it).
For Windows >= Vista, we should rather use real NTFS smybolic links (
http://en.wikipedia.org/wiki/NTFS_symbolic_link ).
Not sure yet if Ant "symlink" task itself handles those 2 cases correctly...

------- Comment #2 From alec bickerton 2009-02-05 12:44:07 -------
Windows environments can use symlinks with the linkd.exe provided by Microsoft.

http://support.microsoft.com/kb/205524

------- Comment #3 From Guillaume Déflache 2009-02-05 14:17:51 -------
Yeah, I saw this one as well, but it seems more complicated to obtain than the
former, which is now also officially endorsed by Microsoft.

(I never thought I would say this but) too bad Vista was not such a success at
least for developers, else we could just use NTFS better stock implementation
and forget all about systems without POSIX symbolic links... well, except if
you want to develop from a (VFAT) USB key... ;)


Anyway, the Ant task does nothing under Windows, and indeed the task
documentation says:
> any operating system on which the command ln -s <linkname> <resourcename> is not a valid command on the command line will not be able to use action="single" or action="recreate"

Also it seems like Java won't handle (symbolic) links properly before the new
FS & IO API ("nio2") scheduled for JDK7... :/

------- Comment #4 From Guillaume Déflache 2009-02-18 17:36:47 -------
Also on Windows XP the `fsutil` installed by default allows creation of (file)
hard links only! :( (from
http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html#hardlinks
which also provides a GUI for everything links as a Windows Explorer shell
extension)

------- Comment #5 From Guillaume Déflache 2009-04-21 16:19:43 -------
Implemented in revision 42455 the autopatching of the webapp's classes in
cluster node #1 from Eclipse when triggering a build there (e.g. when saving a
source file).

BTW comment #1 said:
> Sadly Eclipse 3.4 does not allow build output directories outside of the
> project hierarchy, so we would have to use a symlink.

This is correct but Eclipse fortunately has its own concept of symbolic links
(in UI: click on the "Advancted" button in the new folder creation wizard.
So basically everything up to and including comment #4 is interesting but
moot... :/


So to sum up, from comment #0:
> Implement anything that helps (re)building, testing and maybe reloading
> resource types when using Eclipse.

- (re)building has been completed in bug 6942 comment 8 (work started from 1st
comment) but has no entry point in Yanel documentation, see
http://lists.wyona.org/pipermail/yanel-development/2009-March/003299.html
- testing: nothing done in that area yet
- reloading: works but again no docs yet and "developer-visible names" in Ant
and Eclipse are cryptic, and with Tomcat for it to work at runtime one needs to
manually set up a reloaded context using configuration files

------- Comment #6 From Guillaume Déflache 2009-04-23 18:36:17 -------
Urs also had a nice idea:
- source code: depended-upon resource-types now always have their source code
attached under Eclipse :) (provided they use the "new-style" importing Ant
build script)! Done in revision 42524 and revision 42523.

Also (TODO: document that properly):
- debugging: it also works if you:
  - start Tomcat in debug mode (using Eclipse plugins or directly
"catalina.sh/bat jpda start" (no support for that in yanel.sh/.bat
unfortunately))
  - create a debug configuration for the resource-type you want to debug (this
is a problem if you want to debug something spanning several, still working on
a solution)
    - the default port used to Tomcat is 8000, so one should simply use that
    - the method to use is "socket attach" or such
  - launch the debug configuration
  - set breakpoints in your resource-type or its dependencies: everything
should work as expected

------- Comment #7 From Guillaume Déflache 2009-07-22 09:40:57 -------
The autopatching evoked in comment 5 seems not to work anymore with Eclipse
3.5, see bug 5155 comment 5 up to comment 2.

------- Comment #8 From Guillaume Déflache 2009-10-13 15:09:17 -------
(In reply to comment #7)
> The autopatching evoked in comment 5 seems not to work anymore with Eclipse
> 3.5, see bug 5155 comment 5 up to comment 2.

Need to test again with Eclipse 3.5.1!

------- Comment #9 From Guillaume Déflache 2009-10-13 15:21:19 -------
If we move not-yet-implemented xUnit testing support for individual
resource-types to another bug (which we should because it requires mocking most
of Yanel :o...), all that remains to be done is documentation: that be can be
done by another developer than me and I could just review...

Also copying the RT JARs into node1 app server webapp's is also implemented but
still undocumented (and the Ant task is still hidden).

------- Comment #10 From Guillaume Déflache 2009-11-04 16:34:49 -------
Added public "maven:deploy-jar" target (primarily for Yanel developers, but if
customized can be used for other Maven repos) in r45303.

First Last Prev Next    No search results available      Search page      Enter new bug