You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Ryan (Jira)" <ji...@apache.org> on 2021/05/26 09:32:00 UTC
[jira] [Updated] (ARCHETYPE-616) Filelist scanning does not use
substitute property in directory name
[ https://issues.apache.org/jira/browse/ARCHETYPE-616?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ryan updated ARCHETYPE-616:
---------------------------
Description:
When creating an archetype, I would like directories to be copied based on a property *p*.
eg. given a directory structure
root
— a
------ pom.xml
— b
------ pom.xml
if the *p* property is passed as "a" Only the "a" directory is copied, "b" is not copied.
My archetype-metadata.xml looks like the following:
{quote}<archetype-descriptor>
<fileSets>
<fileSet filtered="true" packaged="false" encoding="UTF-8">
<directory>__p__</directory>
<includes>
<include>***/***</include>
</includes>
</fileSet>
</fileSets>
<requiredProperties>
<requiredProperty key="p">
<defaultValue>a</defaultValue>
</requiredProperty>
</requiredProperties>
</archetype-descriptor>
{quote}
And I can see in the debug logs that the directory name is being substituted correctly
[DEBUG] Replacing property 'p' in file path '__p__//' with value 'a'.
[DEBUG] Final interpolated file path: 'a//'
*However the file search itself is not using the substituted directory name, leading to it finding no files*
[DEBUG] Processing fileset __p__ (Filtered-Flat) [**/** -- ] -> 0:
[DEBUG] Processed 0 files.
I am very confident this is not an issue with my archetype-metadata.xml because when I replace "__p__" with either "a" or "b" it searches, finds and copies the files in that directory successfully.
*Expected behaviour:*
Property is substituted in directory path and that same directory is scanned for files, as is stated in the docs
*Actual behaviour:*
Property is substituted, but the scan takes place in the non-substituted ___p___ directory. This may be a feature if the directory was named "__p__" but both situations should be covered
was:
When creating an archetype, I would like directories to be copied based on a property *p*.
eg. given a directory structure
root
— a
------ pom.xml
— b
------ pom.xml
if the *p* property is passed as "a" Only the "a" directory is copied, "b" is not copied.
My archetype-metadata.xml looks like the following:
{quote}<archetype-descriptor>
<fileSets>
<fileSet filtered="true" packaged="false" encoding="UTF-8">
<directory>__p__</directory>
<includes>
<include>***/***</include>
</includes>
</fileSet>
</fileSets>
<requiredProperties>
<requiredProperty key="p">
<defaultValue>a</defaultValue>
</requiredProperty>
</requiredProperties>
</archetype-descriptor>
{quote}
And I can see in the debug logs that the directory name is being substituted correctly
[DEBUG] Replacing property 'applicationFramework' in file path '__applicationFramework__//' with value 'a'.
[DEBUG] Final interpolated file path: 'a//'
*However the file search itself is not using the substituted directory name, leading to it finding no files*
[DEBUG] Processing fileset __p__ (Filtered-Flat) [**/** -- ] -> 0:
[DEBUG] Processed 0 files.
I am very confident this is not an issue with my archetype-metadata.xml because when I replace "__p__" with either "a" or "b" it searches, finds and copies the files in that directory successfully.
*Expected behaviour:*
Property is substituted in directory path and that same directory is scanned for files, as is stated in the docs
*Actual behaviour:*
Property is substituted, but the scan takes place in the non-substituted ___p___ directory. This may be a feature if the directory was named "__p__" but both situations should be covered
> Filelist scanning does not use substitute property in directory name
> --------------------------------------------------------------------
>
> Key: ARCHETYPE-616
> URL: https://issues.apache.org/jira/browse/ARCHETYPE-616
> Project: Maven Archetype
> Issue Type: Bug
> Affects Versions: 3.2.0
> Reporter: Ryan
> Priority: Major
>
> When creating an archetype, I would like directories to be copied based on a property *p*.
> eg. given a directory structure
> root
> — a
> ------ pom.xml
> — b
> ------ pom.xml
>
> if the *p* property is passed as "a" Only the "a" directory is copied, "b" is not copied.
>
> My archetype-metadata.xml looks like the following:
> {quote}<archetype-descriptor>
> <fileSets>
> <fileSet filtered="true" packaged="false" encoding="UTF-8">
> <directory>__p__</directory>
> <includes>
> <include>***/***</include>
> </includes>
> </fileSet>
> </fileSets>
> <requiredProperties>
> <requiredProperty key="p">
> <defaultValue>a</defaultValue>
> </requiredProperty>
> </requiredProperties>
> </archetype-descriptor>
> {quote}
> And I can see in the debug logs that the directory name is being substituted correctly
> [DEBUG] Replacing property 'p' in file path '__p__//' with value 'a'.
> [DEBUG] Final interpolated file path: 'a//'
> *However the file search itself is not using the substituted directory name, leading to it finding no files*
> [DEBUG] Processing fileset __p__ (Filtered-Flat) [**/** -- ] -> 0:
> [DEBUG] Processed 0 files.
>
> I am very confident this is not an issue with my archetype-metadata.xml because when I replace "__p__" with either "a" or "b" it searches, finds and copies the files in that directory successfully.
>
> *Expected behaviour:*
> Property is substituted in directory path and that same directory is scanned for files, as is stated in the docs
> *Actual behaviour:*
> Property is substituted, but the scan takes place in the non-substituted ___p___ directory. This may be a feature if the directory was named "__p__" but both situations should be covered
--
This message was sent by Atlassian Jira
(v8.3.4#803005)