<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Ant Tar task doesn&#8217;t care about your file permissions</title>
	<atom:link href="http://pixelnix.com/ant-tar-task-doesnt-care-about-your-file-permissions/feed/" rel="self" type="application/rss+xml" />
	<link>http://pixelnix.com/ant-tar-task-doesnt-care-about-your-file-permissions/</link>
	<description></description>
	<lastBuildDate>Thu, 03 Nov 2011 16:57:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Mitch</title>
		<link>http://pixelnix.com/ant-tar-task-doesnt-care-about-your-file-permissions/comment-page-1/#comment-1129</link>
		<dc:creator>Mitch</dc:creator>
		<pubDate>Wed, 01 Dec 2010 20:09:42 +0000</pubDate>
		<guid isPermaLink="false">http://pixelnix.com/?p=55#comment-1129</guid>
		<description>Gold Star!</description>
		<content:encoded><![CDATA[<p>Gold Star!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Roberts</title>
		<link>http://pixelnix.com/ant-tar-task-doesnt-care-about-your-file-permissions/comment-page-1/#comment-291</link>
		<dc:creator>Ian Roberts</dc:creator>
		<pubDate>Fri, 23 Jul 2010 15:37:44 +0000</pubDate>
		<guid isPermaLink="false">http://pixelnix.com/?p=55#comment-291</guid>
		<description>Third time lucky - why does it have to be so hard to post angle brackets in a blog comment...

A useful trick for this is to use a combination of a selector and a patternset.  The patternset defines all the files you want to include and the selector defines the subset of these files that need to have execute permission:


&lt;patternset id=&quot;all.files&quot;&gt;
  &lt;include name=&quot;src/**&quot;/&gt;
  &lt;include name=&quot;lib/**&quot;/&gt;
&lt;/patternset&gt;
&lt;selector id=&quot;executable.files&quot;&gt;
  &lt;or&gt;
    &lt;filename name=&quot;src/foo/exec.sh&quot; /&gt;
    &lt;filename name=&quot;lib/bar/**&quot; /&gt;
  &lt;/or&gt;
&lt;/selector&gt;


Now you can do:

&lt;tar destfile=&quot;${buildfile.name}&quot; longfile=&quot;gnu&quot;&gt;
  &lt;tarfileset dir=&quot;${builddir}&quot; filemode=&quot;755&quot;&gt;
    &lt;patternset refid=&quot;all.files&quot; /&gt;
    &lt;selector refid=&quot;executable.files&quot; /&gt;
  &lt;/tarfileset&gt;
  &lt;tarfileset dir=&quot;${builddir}&quot;&gt;
    &lt;patternset refid=&quot;all.files&quot; /&gt;
    &lt;not&gt;&lt;selector refid=&quot;executable.files&quot; /&gt;&lt;/not&gt;
  &lt;/tarfileset&gt;
&lt;/tar&gt;


It&#039;s probably not worth doing this for this simple example, but for more complex patterns and selectors it&#039;s a very useful approach.</description>
		<content:encoded><![CDATA[<p>Third time lucky &#8211; why does it have to be so hard to post angle brackets in a blog comment&#8230;</p>
<p>A useful trick for this is to use a combination of a selector and a patternset.  The patternset defines all the files you want to include and the selector defines the subset of these files that need to have execute permission:</p>
<p>&lt;patternset id=&#8221;all.files&#8221;&gt;<br />
  &lt;include name=&#8221;src/**&#8221;/&gt;<br />
  &lt;include name=&#8221;lib/**&#8221;/&gt;<br />
&lt;/patternset&gt;<br />
&lt;selector id=&#8221;executable.files&#8221;&gt;<br />
  &lt;or&gt;<br />
    &lt;filename name=&#8221;src/foo/exec.sh&#8221; /&gt;<br />
    &lt;filename name=&#8221;lib/bar/**&#8221; /&gt;<br />
  &lt;/or&gt;<br />
&lt;/selector&gt;</p>
<p>Now you can do:</p>
<p>&lt;tar destfile=&#8221;${buildfile.name}&#8221; longfile=&#8221;gnu&#8221;&gt;<br />
  &lt;tarfileset dir=&#8221;${builddir}&#8221; filemode=&#8221;755&#8243;&gt;<br />
    &lt;patternset refid=&#8221;all.files&#8221; /&gt;<br />
    &lt;selector refid=&#8221;executable.files&#8221; /&gt;<br />
  &lt;/tarfileset&gt;<br />
  &lt;tarfileset dir=&#8221;${builddir}&#8221;&gt;<br />
    &lt;patternset refid=&#8221;all.files&#8221; /&gt;<br />
    &lt;not&gt;&lt;selector refid=&#8221;executable.files&#8221; /&gt;&lt;/not&gt;<br />
  &lt;/tarfileset&gt;<br />
&lt;/tar&gt;</p>
<p>It&#8217;s probably not worth doing this for this simple example, but for more complex patterns and selectors it&#8217;s a very useful approach.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Roberts</title>
		<link>http://pixelnix.com/ant-tar-task-doesnt-care-about-your-file-permissions/comment-page-1/#comment-290</link>
		<dc:creator>Ian Roberts</dc:creator>
		<pubDate>Fri, 23 Jul 2010 15:35:11 +0000</pubDate>
		<guid isPermaLink="false">http://pixelnix.com/?p=55#comment-290</guid>
		<description>A useful trick for this is to use a combination of a selector and a patternset.  The patternset defines all the files you want to include and the selector defines the subset of these files that need to have execute permission:


&lt;![CDATA[
  
  


  
    
    
  
]]&gt;


Now you can do:

&lt;![CDATA[
  
    
    
  
  
    
    
  
]]&gt;


It&#039;s probably not worth doing this for this simple example, but for more complex patterns and selectors it&#039;s a very useful approach.</description>
		<content:encoded><![CDATA[<p>A useful trick for this is to use a combination of a selector and a patternset.  The patternset defines all the files you want to include and the selector defines the subset of these files that need to have execute permission:</p>
<p>&lt;![CDATA[</p>
<p>]]&gt;</p>
<p>Now you can do:</p>
<p>&lt;![CDATA[</p>
<p>]]&gt;</p>
<p>It&#8217;s probably not worth doing this for this simple example, but for more complex patterns and selectors it&#8217;s a very useful approach.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ian Roberts</title>
		<link>http://pixelnix.com/ant-tar-task-doesnt-care-about-your-file-permissions/comment-page-1/#comment-289</link>
		<dc:creator>Ian Roberts</dc:creator>
		<pubDate>Fri, 23 Jul 2010 15:33:34 +0000</pubDate>
		<guid isPermaLink="false">http://pixelnix.com/?p=55#comment-289</guid>
		<description>A useful trick for this is to use a combination of a selector and a patternset.  The patternset defines all the files you want to include and the selector defines the subset of these files that need to have execute permission:


  
  


  
    
    
  


Now you can do:

  
    
    
  
  
    
    
  


It&#039;s probably not worth doing this for this simple example, but for more complex patterns and selectors it&#039;s a very useful approach.</description>
		<content:encoded><![CDATA[<p>A useful trick for this is to use a combination of a selector and a patternset.  The patternset defines all the files you want to include and the selector defines the subset of these files that need to have execute permission:</p>
<p>Now you can do:</p>
<p>It&#8217;s probably not worth doing this for this simple example, but for more complex patterns and selectors it&#8217;s a very useful approach.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

