<feed xmlns='http://www.w3.org/2005/Atom'>
<title>puppet.git/lib/puppet/util/rdoc, branch master</title>
<subtitle>Puppet repo</subtitle>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/'/>
<entry>
<title>Fix issue with forward and backslashes in Windows paths</title>
<updated>2011-07-26T21:55:55+00:00</updated>
<author>
<name>Josh Cooper</name>
<email>josh@puppetlabs.com</email>
</author>
<published>2011-07-22T19:44:15+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=9279d0954eb20d75e18a666fd572b5492e157608'/>
<id>9279d0954eb20d75e18a666fd572b5492e157608</id>
<content type='text'>
The environment validates its modulepath and manifestdir settings, but
it uses Dir.getwd to convert a relative path into an absolute path. The
problem is that on Windows, Dir.getwd returns a path with backslashes.
(Interestingly this only happens when puppet is loaded, not in irb for
example.) And since we do not yet support backslashes in Windows paths
or UNC paths, the directory is not included in the environment.

For the time being, I am using File.expand_path to normalize the path.
It has the side-effect of converting backslashes to forward slashes.
This is sufficient to work around backslashes in Dir.getwd. In the near
future, I will be refactoring how paths are split, validated, tested,
etc, and I have a REMIND in place to fix the environment.

But as a result of this change it exposed a bug in our rdoc parser
dealing with the finding the root of a path. The parser assumed that the
root was '/', but caused an infinite loop when passed a Windows path.

I added a test for this case, which is only run on Windows, because on
Unix File.dirname("C:/") == '.'.

After all of that, I had to disable one of the rdoc spec tests, because
it attempted to reproduce a specific bug, which caused rdoc to try to
create a directory of the form: C:/.../files/C:/.... Of course, this
fails because ':' is not a valid filename character on Windows.

Paired-with: Nick Lewis &lt;nick@puppetlabs.com&gt;
Reviewed-by: Jacob Helwig &lt;jacob@puppetlabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The environment validates its modulepath and manifestdir settings, but
it uses Dir.getwd to convert a relative path into an absolute path. The
problem is that on Windows, Dir.getwd returns a path with backslashes.
(Interestingly this only happens when puppet is loaded, not in irb for
example.) And since we do not yet support backslashes in Windows paths
or UNC paths, the directory is not included in the environment.

For the time being, I am using File.expand_path to normalize the path.
It has the side-effect of converting backslashes to forward slashes.
This is sufficient to work around backslashes in Dir.getwd. In the near
future, I will be refactoring how paths are split, validated, tested,
etc, and I have a REMIND in place to fix the environment.

But as a result of this change it exposed a bug in our rdoc parser
dealing with the finding the root of a path. The parser assumed that the
root was '/', but caused an infinite loop when passed a Windows path.

I added a test for this case, which is only run on Windows, because on
Unix File.dirname("C:/") == '.'.

After all of that, I had to disable one of the rdoc spec tests, because
it attempted to reproduce a specific bug, which caused rdoc to try to
create a directory of the form: C:/.../files/C:/.... Of course, this
fails because ':' is not a valid filename character on Windows.

Paired-with: Nick Lewis &lt;nick@puppetlabs.com&gt;
Reviewed-by: Jacob Helwig &lt;jacob@puppetlabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>(#6820) Fix RDOC parser to work with Ruby 1.9</title>
<updated>2011-03-23T20:10:40+00:00</updated>
<author>
<name>Matt Robinson</name>
<email>matt@puppetlabs.com</email>
</author>
<published>2011-03-23T05:48:17+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=7a4fcf2835ac414fe3c5b1b4e4b16c13a2c92d09'/>
<id>7a4fcf2835ac414fe3c5b1b4e4b16c13a2c92d09</id>
<content type='text'>
Lovely RDOC changed where it put everything in Ruby 1.9.  Now there's
some conditional logic depending on Ruby version to determine which
files to requrie. The tests still fail, but at least they run now.

Reviewed-by: Jacob Helwig &lt;jacob@puppetlabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Lovely RDOC changed where it put everything in Ruby 1.9.  Now there's
some conditional logic depending on Ruby version to determine which
files to requrie. The tests still fail, but at least they run now.

Reviewed-by: Jacob Helwig &lt;jacob@puppetlabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>(#4798) Make rdoc work if moduledir &amp; manifestdir overlap</title>
<updated>2011-03-08T21:18:43+00:00</updated>
<author>
<name>Matt Robinson</name>
<email>matt@puppetlabs.com</email>
</author>
<published>2011-03-08T01:51:09+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=2a915725adf0ccefcc28653cbba2219925194594'/>
<id>2a915725adf0ccefcc28653cbba2219925194594</id>
<content type='text'>
Merging 2.6.next into next caused a regression; this commit fixes that
regression.

Paired-with:Max Martin &lt;max@puppetlabs.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Merging 2.6.next into next caused a regression; this commit fixes that
regression.

Paired-with:Max Martin &lt;max@puppetlabs.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '2.6.next' into next</title>
<updated>2011-03-07T22:02:17+00:00</updated>
<author>
<name>Matt Robinson</name>
<email>matt@puppetlabs.com</email>
</author>
<published>2011-03-07T04:42:39+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=28095d7435bcab15b76ddfa4435d61653f2f890d'/>
<id>28095d7435bcab15b76ddfa4435d61653f2f890d</id>
<content type='text'>
This was a particularly nasty merge, so rather than hold up merges into
next any longer, I'm going to push this merge with a few outstanding
problems.  The tests that were failing in the following areas have been
marked pending, and will be addressed separately, immediately following
this push.

TODO:
Verify that brice's rdoc change is still valid: tests to show that line
  numbers from class, define and node get into the ast
Fix mount parsed_spec spec/unit/provider/mount/parsed_spec.rb

* 2.6.next: (85 commits)
  (#5148) Fix failing spec due to timezone
  (#5148) Add support for PSON to facts
  (#6338) Remove inventory indirection, and move to facts indirection
  (#6445) Fix inline docs: puppet agent does not accept --mkusers
  Update CHANGELOG and version for 2.6.6rc1
  (#6541) Fix content with checksum truncation bug
  (#6418) Recursive files shouldn't be audited
  (#6541) maint: whitespace cleanup on the file integration spec
  (#6541) Fix content with checksum truncation bug
  (#5466) Write specs for output of puppet resource
  (#5466) Monkey patch Symbol so that you can sort them
  (#5466) Fixed puppet resource bug with trailing ,
  Update CHANGELOG for 2.6.5
  (#4922) Don't truncate remotely-sourced files on 404
  (#6338) Remove unused version control tags
  Maint: Align tabs in a code block in the Augeas type.
  (#6509) Inline docs: Fix erroneous code block in directoryservice provider for computer type
  Maint: Rewrite comments about symlinks to reflect best practice.
  (#6509) Inline docs: Fix broken lists in Launchd provider.
  (#6509) Inline docs: Fix broken code blocks in zpool type
  ...

Manually Resolved Conflicts:
  lib/puppet/application/inspect.rb
  lib/puppet/defaults.rb
  lib/puppet/file_bucket/dipper.rb
  lib/puppet/network/http/handler.rb
  lib/puppet/node/facts.rb
  lib/puppet/parser/parser.rb
  lib/puppet/parser/parser_support.rb
  lib/puppet/util/command_line/puppet
  lib/puppet/util/command_line/puppetd
  lib/puppet/util/command_line/puppetmasterd
  lib/puppet/util/monkey_patches.rb
  lib/puppet/util/rdoc/parser.rb
  spec/unit/application/agent_spec.rb
  spec/unit/file_bucket/file_spec.rb
  spec/unit/indirector/file_bucket_file/file_spec.rb
  spec/unit/network/http/handler_spec.rb
  spec/unit/parser/parser_spec.rb
  spec/unit/provider/mount/parsed_spec.rb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was a particularly nasty merge, so rather than hold up merges into
next any longer, I'm going to push this merge with a few outstanding
problems.  The tests that were failing in the following areas have been
marked pending, and will be addressed separately, immediately following
this push.

TODO:
Verify that brice's rdoc change is still valid: tests to show that line
  numbers from class, define and node get into the ast
Fix mount parsed_spec spec/unit/provider/mount/parsed_spec.rb

* 2.6.next: (85 commits)
  (#5148) Fix failing spec due to timezone
  (#5148) Add support for PSON to facts
  (#6338) Remove inventory indirection, and move to facts indirection
  (#6445) Fix inline docs: puppet agent does not accept --mkusers
  Update CHANGELOG and version for 2.6.6rc1
  (#6541) Fix content with checksum truncation bug
  (#6418) Recursive files shouldn't be audited
  (#6541) maint: whitespace cleanup on the file integration spec
  (#6541) Fix content with checksum truncation bug
  (#5466) Write specs for output of puppet resource
  (#5466) Monkey patch Symbol so that you can sort them
  (#5466) Fixed puppet resource bug with trailing ,
  Update CHANGELOG for 2.6.5
  (#4922) Don't truncate remotely-sourced files on 404
  (#6338) Remove unused version control tags
  Maint: Align tabs in a code block in the Augeas type.
  (#6509) Inline docs: Fix erroneous code block in directoryservice provider for computer type
  Maint: Rewrite comments about symlinks to reflect best practice.
  (#6509) Inline docs: Fix broken lists in Launchd provider.
  (#6509) Inline docs: Fix broken code blocks in zpool type
  ...

Manually Resolved Conflicts:
  lib/puppet/application/inspect.rb
  lib/puppet/defaults.rb
  lib/puppet/file_bucket/dipper.rb
  lib/puppet/network/http/handler.rb
  lib/puppet/node/facts.rb
  lib/puppet/parser/parser.rb
  lib/puppet/parser/parser_support.rb
  lib/puppet/util/command_line/puppet
  lib/puppet/util/command_line/puppetd
  lib/puppet/util/command_line/puppetmasterd
  lib/puppet/util/monkey_patches.rb
  lib/puppet/util/rdoc/parser.rb
  spec/unit/application/agent_spec.rb
  spec/unit/file_bucket/file_spec.rb
  spec/unit/indirector/file_bucket_file/file_spec.rb
  spec/unit/network/http/handler_spec.rb
  spec/unit/parser/parser_spec.rb
  spec/unit/provider/mount/parsed_spec.rb
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote branch 'brice/tickets/2.6.x/6267' into 2.6.next</title>
<updated>2011-02-25T23:50:26+00:00</updated>
<author>
<name>Jesse Wolfe</name>
<email>jes5199@gmail.com</email>
</author>
<published>2011-02-25T23:50:26+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=fb02430e3d3baaab74175236fb6dfc9e931b6a8e'/>
<id>fb02430e3d3baaab74175236fb6dfc9e931b6a8e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #6267 - puppetdoc embedded links to puppet entities are not hyperlinked</title>
<updated>2011-02-12T14:04:21+00:00</updated>
<author>
<name>Brice Figureau</name>
<email>brice-puppet@daysofwonder.com</email>
</author>
<published>2011-02-12T12:32:24+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=90905073a6e1136c80cd59dca1a9594f4a859126'/>
<id>90905073a6e1136c80cd59dca1a9594f4a859126</id>
<content type='text'>
Puppetdoc was relying on RDoc to provide the puppet entity (class, definition
node, etc...) hyperlinking in comments.
Unfortunately, RDoc was assuming namespaces are capitalized like Ruby
namespaces and that definition would use the # or . separator.

This change adds on top of RDoc puppet namespace format for classes and
definition.

This will make sure the comment hyperlinking will work as intented.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Puppetdoc was relying on RDoc to provide the puppet entity (class, definition
node, etc...) hyperlinking in comments.
Unfortunately, RDoc was assuming namespaces are capitalized like Ruby
namespaces and that definition would use the # or . separator.

This change adds on top of RDoc puppet namespace format for classes and
definition.

This will make sure the comment hyperlinking will work as intented.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #6281 - Make sure puppetdoc analyzes all files</title>
<updated>2011-02-11T19:34:22+00:00</updated>
<author>
<name>Brice Figureau</name>
<email>brice-puppet@daysofwonder.com</email>
</author>
<published>2011-02-11T19:34:22+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=cfa0c32fc5149464af97235a7bb458950d19cc82'/>
<id>cfa0c32fc5149464af97235a7bb458950d19cc82</id>
<content type='text'>
It can happen that when parsing a file puppet parses other manifests
if they get imported (this is at least true for site.pp, even in
ignoreimport=true). Thus those files are now "watched".
But puppetdoc needs to analyze all files, and since 99c101 we are now
checking if the file was already parsed to not reparse it again.
If that was the case, though, we weren't analyzing the produced code.
Thus it was possible to not produce documentation for the site.pp content.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
It can happen that when parsing a file puppet parses other manifests
if they get imported (this is at least true for site.pp, even in
ignoreimport=true). Thus those files are now "watched".
But puppetdoc needs to analyze all files, and since 99c101 we are now
checking if the file was already parsed to not reparse it again.
If that was the case, though, we weren't analyzing the produced code.
Thus it was possible to not produce documentation for the site.pp content.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #6280 - puppetdoc crashing on string interpolation</title>
<updated>2011-02-11T19:18:14+00:00</updated>
<author>
<name>Brice Figureau</name>
<email>brice-puppet@daysofwonder.com</email>
</author>
<published>2011-02-11T19:18:14+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=48bc7d00ca87fa92cdde0b993529bba3827fa47e'/>
<id>48bc7d00ca87fa92cdde0b993529bba3827fa47e</id>
<content type='text'>
The following manifest was crashing puppetdoc:
  class test {
     include "test::$operatingsystem"
  }

Because the quoted string is "rendered" as a concat AST, which in turn
ended being an array when entering RDoc.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The following manifest was crashing puppetdoc:
  class test {
     include "test::$operatingsystem"
  }

Because the quoted string is "rendered" as a concat AST, which in turn
ended being an array when entering RDoc.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge commit '2.6.3' into next</title>
<updated>2010-11-17T23:19:15+00:00</updated>
<author>
<name>Paul Berry</name>
<email>paul@puppetlabs.com</email>
</author>
<published>2010-11-17T23:19:15+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=e6ec6468c4a9eec58dc155858665a70eee4dfb8c'/>
<id>e6ec6468c4a9eec58dc155858665a70eee4dfb8c</id>
<content type='text'>
Resolved conflicts manually:
	spec/integration/indirector/bucket_file/rest_spec.rb
	spec/integration/indirector/certificate_revocation_list/rest_spec.rb
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Resolved conflicts manually:
	spec/integration/indirector/bucket_file/rest_spec.rb
	spec/integration/indirector/certificate_revocation_list/rest_spec.rb
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix #4911 - Do not generate doc for standard RDoc parser generated object</title>
<updated>2010-11-09T18:56:45+00:00</updated>
<author>
<name>Brice Figureau</name>
<email>brice-puppet@daysofwonder.com</email>
</author>
<published>2010-10-16T15:47:50+00:00</published>
<link rel='alternate' type='text/html' href='https://fedorapeople.org/cgit/ricky/public_git/puppet.git/commit/?id=956296a74c701fee79d8eed898ce64da02c983de'/>
<id>956296a74c701fee79d8eed898ce64da02c983de</id>
<content type='text'>
RDoc has some standard parsers for .c,.cc or fortran files (don't ask why).
Unfortunately our html generator doesn't support the data structures
generated by those parsers and we were bombing on unknown methods.
This patch makes sure we generate html only for our own top level objects.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
RDoc has some standard parsers for .c,.cc or fortran files (don't ask why).
Unfortunately our html generator doesn't support the data structures
generated by those parsers and we were bombing on unknown methods.
This patch makes sure we generate html only for our own top level objects.

Signed-off-by: Brice Figureau &lt;brice-puppet@daysofwonder.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
