You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Tim Moore (JIRA)" <ji...@codehaus.org> on 2012/08/21 04:49:21 UTC

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Tim Moore created MDEP-368:
------------------------------

             Summary: Configure plexus-archiver to use java.io.File methods to set permissions when available.
                 Key: MDEP-368
                 URL: https://jira.codehaus.org/browse/MDEP-368
             Project: Maven 2.x Dependency Plugin
          Issue Type: Improvement
          Components: unpack, unpack-dependencies
    Affects Versions: 2.5
            Reporter: Tim Moore
         Attachments: useJvmChmod.patch

We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.

We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983

Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.

This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.

The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.

Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306620#comment-306620 ] 

Olivier Lamy edited comment on MDEP-368 at 8/21/12 2:47 AM:
------------------------------------------------------------

fixed and snapshot deployed (next release will 2.5.1 so use 2.5.1-SNAPSHOT).
you can now use
<useJvmChmod>true</useJvmChmod>
                
      was (Author: olamy):
    fixed and snapshot deployed.
you can now use
<useJvmChmod>true</useJvmChmod>
                  
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>             Fix For: 2.5.1
>
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306620#comment-306620 ] 

Olivier Lamy commented on MDEP-368:
-----------------------------------

fixed and snapshot deployed.
you can now use
<useJvmChmod>true</useJvmChmod>
                
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>             Fix For: 2.5.1
>
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Olivier Lamy closed MDEP-368.
-----------------------------

       Resolution: Fixed
    Fix Version/s: 2.5.1
    
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>             Fix For: 2.5.1
>
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Tim Moore (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306958#comment-306958 ] 

Tim Moore commented on MDEP-368:
--------------------------------

Where is this deployed? I get this when building:

{noformat}

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: org.apache.maven.plugins:maven-dependency-plugin

Reason: POM 'org.apache.maven.plugins:maven-dependency-plugin' not found in repository: Unable to download the artifact from any repository

  org.apache.maven.plugins:maven-dependency-plugin:pom:2.5.1-SNAPSHOT

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

 for project org.apache.maven.plugins:maven-dependency-plugin
{noformat}

I can build it from source but I might not be able to do this before next week. Thanks for the quick fix, and sorry that I haven't had a chance to test it yet.
                
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>             Fix For: 2.5.1
>
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306619#comment-306619 ] 

Olivier Lamy commented on MDEP-368:
-----------------------------------

Your patch activate this by default, this will generate a ton of warnings for 1.5 users.
I prefer we use a new configuration field as I did for assembly plugin to activate this.
I will do that.
                
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306966#comment-306966 ] 

Olivier Lamy commented on MDEP-368:
-----------------------------------

@Tim Use this repository: https://repository.apache.org/content/groups/snapshots/
                
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>             Fix For: 2.5.1
>
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Tim Moore (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306969#comment-306969 ] 

Tim Moore commented on MDEP-368:
--------------------------------

OK with 2.5.1-SNAPSHOT (built locally) and <useJvmChmod>true</useJvmChmod> in the plugin configuration, my project's build went down from ~7 minutes to 2m26s. (y)

That's about the same as with version 2.4 (actually a little better!) Thanks again!
                
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>             Fix For: 2.5.1
>
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Tim Moore (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306615#comment-306615 ] 

Tim Moore commented on MDEP-368:
--------------------------------

I should add the tests pass with Java 5 too, but with a log message indicating that useJvmChmod doesn't work with the Java version in use.
                
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
     [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Olivier Lamy reassigned MDEP-368:
---------------------------------

    Assignee: Olivier Lamy
    
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] (MDEP-368) Configure plexus-archiver to use java.io.File methods to set permissions when available.

Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
    [ https://jira.codehaus.org/browse/MDEP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=306892#comment-306892 ] 

Olivier Lamy commented on MDEP-368:
-----------------------------------

@Tim did you test the SNAPSHOT ?
If all is fine I'd like to release that (there is an other regression to release).
Thanks !
                
> Configure plexus-archiver to use java.io.File methods to set permissions when available.
> ----------------------------------------------------------------------------------------
>
>                 Key: MDEP-368
>                 URL: https://jira.codehaus.org/browse/MDEP-368
>             Project: Maven 2.x Dependency Plugin
>          Issue Type: Improvement
>          Components: unpack, unpack-dependencies
>    Affects Versions: 2.5
>            Reporter: Tim Moore
>            Assignee: Olivier Lamy
>             Fix For: 2.5.1
>
>         Attachments: useJvmChmod.patch
>
>
> We updated from maven-dependency-plugin 2.4 to 2.5 in our build, and found that it slowed down significantly. Our build process involves unpacking several large zip files, and profiling the build showed us that the extra time was spent in Plexus Archiver's {{ArchiveEntryUtils.chmod}}, where it was executing a {{chmod}} process for each file in the archive.
> We tracked this change to an update of the Plexus Archiver dependency from 2.0 to 2.1.1 in version 2.5 of the Maven Dependency Plugin: http://svn.apache.org/viewvc?view=revision&revision=1292983
> Plexus Archiver can be configured to use the {{setReadable}}, {{setWritable}} and {{setExecutable}} methods on {{java.io.File}} instead of executing {{chmod}}. These methods are new in Java 6, but Plexus Archiver invokes them using reflection when they are available, falling back on executing {{chmod}} when they are not, so it remains backwards compatible with Java 5.
> This configuration is disabled by default, but can be configured via Plexus. The attached patch to Maven Dependency Plugin sets the archiver components to use the JVM implementation when available.
> The patch doesn't include tests, since the behavior is dependent on the Java version used, but when applied all of the existing tests pass in Java 6.
> Credit for the investigation and the patch is due to Vincent Choy (vchoy@atlassian.com). He asked me to file this issue on his behalf.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira