CLONE -Problem with default namespace in imported scripts
---------------------------------------------------------

                 Key: JELLY-289
                 URL: https://issues.apache.org/jira/browse/JELLY-289
             Project: Commons Jelly
          Issue Type: Bug
          Components: core / taglib.core
    Affects Versions: 1.1
         Environment: jelly-1.1-SNAPSHOT
            Reporter: sreekanth
            Assignee: james strachan
            Priority: Critical


I am trying to build Maven with jelly-1.1-SNAPSHOT from svn trunk because it 
contains a fix for a regression that has blocked us for a long time, see
http://jira.codehaus.org/browse/MAVEN-1691 (gee, I wish I'd checked the svn 
archives earlier!).

However, even though jelly-1.1-SNAPSHOT solves the above issue, it also leads 
to a whole bunch of test failures in several of our plugins.
After some investigation I found that they all turn out to be due to the same 
cause, an apparent backwards incompatibility introduced in the fix for 
JELLY-213.

I am not sure actually if this is a bug or the intended behavior, but it 
certainly breaks backwards compatibility.

To illustrate the problem: in the ant plugin we use the following snippet to 
generate an ant build.xml file from a template:

<j:file name="build.xml" prettyPrint="true">
  <j:import file="templates/build.jelly" inherit="true"/>
</j:file>

where the template file build.jelly looks like this (simplified):

<j:jelly
  xmlns:ant="jelly:ant"
  xmlns:j="jelly:core" 
  xmlns="dummy">
  <project name="${pom.artifactId}" default="jar" basedir=".">
      <target name="clean" description="Clean up">
        <delete dir="$${defaulttargetdir}"/>
        <delete dir="$${distdir}"/>
      </target>
  </project>
</j:jelly>

Note the xmlns="dummy" namespace declaration which is necessary to distinguish 
the default namespace of the template script from Maven's default namespace. 
Now with jelly-1.0, this works as expected, but with the current 
jelly-1.1-SNAPSHOT, I get:

<project xmlns="dummy" name="test-maven-ant-plugin" default="jar" basedir=".">
  <target description="Clean up" name="clean">
    <delete dir="${defaulttargetdir}">
    </delete>
    <delete dir="${distdir}">
    </delete>
  </target>
<project>

ie the dummy namespace declaration makes it into the top-level element of the 
generated file. This makes ant very unhappy when invoked on this build file...


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to