summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/parser.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fixing #1242 -- lack of storeconfigs only produces warning, not exception.Luke Kanies2008-05-261-4/+4
| | | | | Exporting or collecting resources no longer raises an exception when no storeconfigs is enabled, it just produces a warning.
* Fixed #968 again, this time with tests -- parseonly works,Luke Kanies2008-02-131-4/+5
| | | | | including not compiling the configurations, and also storeconfigs is no longer required during parse-testing.
* Removing the Id tags from all of the filesLuke Kanies2007-10-031-1/+0
|
* Removed TYPE token, replacing it with CLASSREF token, in the grammar and ↵Michael V. O'Brien2007-09-101-570/+549
| | | | lexer. Updated CLASSREF token regex in the lexer.
* Fixed #774, which fixed fully qualified collection statementsMichael V. O'Brien2007-09-101-628/+623
|
* Renaming some ast resource classes and files so they make a lot more sense.Luke Kanies2007-09-061-9/+9
|
* And we have multiple environment support in the parser. The only remaining ↵Luke Kanies2007-08-251-2/+2
| | | | piece to make this complete is to add multiple environment support to the fileserver. I also renamed Configuration.rb to Compile.rb (that is, I fixed all the classes that used to know it as a configuration).
* Fixing #314 and #729; here's the changelog:luke2007-08-031-227/+10
| | | | | | | | | | | | | | | Refactored how the parser and interpreter relate, so parsing is now effectively an atomic process (thus fixing #314 and #729). This makes the interpreter less prone to error and less prone to show the error to the clients. Note that this means that if a configuration fails to parse, then the previous, parseable configuration will be used instead, so the client will not know that the configuration failed to parse. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2742 980ebf18-57e1-0310-9a29-db15c13687c0
* Removing notice about "import loop", which was happening constantly when ↵luke2007-07-141-9/+6
| | | | | | autoloading module files git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2694 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #589luke2007-07-131-366/+376
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2691 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #468 -- fully qualified resources can now be specified as dependenciesluke2007-07-131-405/+414
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2690 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding patch by Valentin Vidic to add the "+>" syntax for adding values to ↵luke2007-07-101-578/+637
| | | | | | parameters git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2670 980ebf18-57e1-0310-9a29-db15c13687c0
* Applying patch by DavidS from #697 to allow host names to be double quotedluke2007-07-081-329/+334
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2656 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #548, and making functions support other rvalues, too, including ↵luke2007-06-181-575/+621
| | | | | | other functions. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2599 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding better error reporting on unmatched brackets -- you will now get ↵luke2007-05-251-2/+9
| | | | | | notification of what was expected in most cases git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2531 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #568luke2007-05-171-266/+257
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2524 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding #629 -- an undef keyword now existsluke2007-05-171-553/+602
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2522 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #615 (subclasses with similar names) by getting rid of the class ↵luke2007-05-031-9/+9
| | | | | | "type" and "fqname", and instead using "classname" everywhere. You should no longer see unqualified class/definition names anywhere. Also, rewriting how snippet tests work, to avoid creating all of the files, since the point was the parsing tests, not functional tests. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2458 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding the functionality requested in ↵luke2007-04-191-52/+55
| | | | | | | | | | http://mail.madstop.com/pipermail/puppet-users/2007-April/002398.html . You can now retrieve qualified variables by specifying the full class path. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2393 980ebf18-57e1-0310-9a29-db15c13687c0
* Clarifying the errors a bit when nodes come from external sources.luke2007-03-191-4/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2324 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #544 -- there is now an --ignoreimport option for commit hooks.luke2007-03-191-373/+389
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2302 980ebf18-57e1-0310-9a29-db15c13687c0
* Search manifests first within modules, and if no module is found, search inlutter2007-03-091-63/+58
| | | | | | | | | | the directory the current manifest is in. Glob patterns can be used for the path, but the path only matches a module if the first part of the path is not a glob. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2279 980ebf18-57e1-0310-9a29-db15c13687c0
* Allowing trailing commas in selectorsluke2007-03-011-150/+154
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2247 980ebf18-57e1-0310-9a29-db15c13687c0
* More code related to #517. Oops.luke2007-02-271-3/+3
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2227 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #524. Functions, both statements and rvalues, now support no ↵luke2007-02-271-475/+499
| | | | | | arguments as long as you use parens. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2225 980ebf18-57e1-0310-9a29-db15c13687c0
* Moving some of the stand-alone classes into the util/ subdirectory, to clean ↵luke2007-02-071-4/+4
| | | | | | up the top-level namespace a bit. This is a lot of file modifications, but most of them just change class names and file paths. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2178 980ebf18-57e1-0310-9a29-db15c13687c0
* Partially fixing #460, take 3 -- fully-qualified classes can now be included.luke2007-01-301-474/+484
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2128 980ebf18-57e1-0310-9a29-db15c13687c0
* Partially fixing #460, take 2 -- fully-qualified definitions can now be used.luke2007-01-301-395/+387
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2127 980ebf18-57e1-0310-9a29-db15c13687c0
* Partially fixing #460 -- fully-qualified class names can be used as parent ↵luke2007-01-301-261/+278
| | | | | | classes. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2126 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #445. Nodes can now inherit from default.luke2007-01-261-238/+247
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2091 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #348. Overrides now support an extra end-comma.luke2006-12-231-187/+187
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1969 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #326 -- parseonly now just creates a simple Master without opening a portluke2006-11-091-4/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1849 980ebf18-57e1-0310-9a29-db15c13687c0
* Merging the code over from the oscar branch. I will now be doing all ↵luke2006-11-081-34/+27
| | | | | | development in the trunk again, except for larger changes, which will still get their own branch. This is a merge of the changes from revision 1826 to revision 1834. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1835 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding a "realize" function that can be used to make one or more resource ↵luke2006-10-181-526/+563
| | | | | | non-virtual. It is just syntactic sugar for a collection by title. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1808 980ebf18-57e1-0310-9a29-db15c13687c0
* Merging the changes from the override-refactor branch. This is a ↵luke2006-10-041-699/+872
| | | | | | significant rewrite of the parser, but it has little affect on the rest of the code tree. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1726 980ebf18-57e1-0310-9a29-db15c13687c0
* adding an extra make target for debugging, rather than defaulting to always ↵luke2006-09-201-2/+2
| | | | | | creating the debug file git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1637 980ebf18-57e1-0310-9a29-db15c13687c0
* Trying to fix a bug where files other than site.pp do not get noticed for ↵luke2006-09-191-22/+19
| | | | | | reparsing git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1621 980ebf18-57e1-0310-9a29-db15c13687c0
* Using the "trace" configuration parameter to determine whether a stack trace ↵luke2006-09-151-4/+4
| | | | | | should be printed, rather than just using "debug". I added the param a little while ago and was using it internally in Puppet::DevError, but I just now went through the whole configuration and switched to using it. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1613 980ebf18-57e1-0310-9a29-db15c13687c0
* Reverting the work done in [1605] and [1606]. I have added it as a patch in ↵luke2006-09-151-557/+488
| | | | | | #271. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1610 980ebf18-57e1-0310-9a29-db15c13687c0
* This commit adds two important features (but which probably were notluke2006-09-151-488/+557
| | | | | | | | | | | | | | | | | | | | | | | worth the priority I suddenly placed on them). First, it adds search paths as I originally requested in #114. There is now a 'lib' setting, which can be used to tell Puppet where to find manifests. Any file you tell Puppet to parse will have its directory automatically added to the lib path. Also, Puppet will check the PUPPETLIB environment variable for further directories to search. Second, it converts the 'import' mechanism into a normal function, which means that you can now use variables and what-have-you in it. Of course, this function uses the lib mechanism. This is something that's always bothered me about the language, and having it fixed means you can do simple things like have custom code in the top scope for each operating system and then do "import os/$operatingsystem" to evaluate that code. Without this, you would either need a huge case statement or the code would need to be in a class, which often isn't sufficient. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1605 980ebf18-57e1-0310-9a29-db15c13687c0
* Renaming parsedfile to loadedfile, which makes much more sense and reduces ↵luke2006-09-031-4/+4
| | | | | | some naming conflicts git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1544 980ebf18-57e1-0310-9a29-db15c13687c0
* Tracking down some weird bugs that managed to creep into the parser. I ↵luke2006-08-281-223/+224
| | | | | | expect that the main ones were a result of the If support. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1494 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing definition inheritance. I have not yet written tests yet, but my ↵luke2006-08-221-199/+214
| | | | | | last commit pretty seriously broke some things without me realizing it, so I wanted to get this in. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1484 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding "if/else" constructs. No operators, no elsif, but it is a good ↵luke2006-08-221-754/+578
| | | | | | start, anyway. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1483 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing changes that require dollar signs in prototypesluke2006-08-141-195/+248
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1468 980ebf18-57e1-0310-9a29-db15c13687c0
* Apparently objects were legal rvalues, which does not make any sense. Fixed ↵luke2006-07-211-301/+292
| | | | | | this, and added a test verify. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1418 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding support for default nodes as requested in #136.luke2006-06-131-206/+226
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1261 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #166. Function names are no longer reserved words.luke2006-06-081-413/+406
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1245 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #155. It is now valid to have arrays with no values, although you ↵luke2006-06-081-171/+181
| | | | | | will still likely get erratic behaviour elsewhere in the system, depending on what you do with this. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1240 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing #162. Node names must now be comma-separated.luke2006-05-311-188/+196
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1228 980ebf18-57e1-0310-9a29-db15c13687c0