[EMAIL PROTECTED] wrote:
Xavier convinced me to slot us in at 9pm in room 3.  If we should be
only very few people, we might turn the BOF into a dinner, who knows.

Some news from the BOF?

I have a hangover.

Actually, during the day I've been starting to factor out file access from FileResource. A lot of tasks only work with files, but right now they have hard coded expectations that files come from FileResource instances. Really, files should come from anything that is a FileProvider

public interface FileProvider {
    /**
     * Get the file represented by this Resource.
     * @return the file.
     */
    File getFile();
}


Having looked at the tasks, I am not going to do any major reworks without talking to Stefan (who is chairing the maven talk, I am in the tomcat 6 talk right now). A lot of uses have phrases like (Pack.java):


        if (src instanceof FileResource) {
            source = ((FileResource) src).getFile();
        } else if (!supportsNonFileResources()) {
            throw new BuildException("Only FileSystem resources are"
                                     + " supported.");
        }

which should go to FileProvider. Easy


But other tasks (Tar) seem to contain their own basedir resolution:

                FileResource r = (FileResource) iter.next();
                File f = r.getFile();
                if (f == null) {
                    f = new File(r.getBaseDir(), r.getName());
                }

or this stuff in Copy
                        String name = r.getName();
                        if (r instanceof FileResource) {
                            FileResource fr = (FileResource) r;
                            baseDir = getKeyFile(fr.getBaseDir());
                            if (fr.getBaseDir() == null) {
                                name = fr.getFile().getAbsolutePath();
                            }
                        }

I think we may need to pull a lof of this check for null and make basedir-relative resolution something inside the FileProvider implementations. With a method

String getAbsolutePath()

then that could be used whenever you want an absolute path.

Does this make sense?

-steve

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to