GitHub PushEvent at 2014-04-24 01:00:08
Repository: puppet
Actor: AsherBond
Payload: {"shas":[["efc18dd8fe9735e3f17a35f00eaa74424a849a66","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(PUP-1976) Use metadata.json as canonical metadata source.\n\nPrior to this commit, the Modulefile was used as the primary source of user-facing metadata for modules.  This file was executable Ruby, which was intended to describe a simple data structure.  This causes a few problems for us in the long-term, including making automated module builds a significantly more difficult proposition, and making changes to acceptable metadata a slow process (requiring new releases of Puppet).  In addition, the only piece of Puppet code that interacted directly with the Module file was the `module build` action – anywhere we actually need to know something about the module, we look it up from the metadata.json file.\n\nThis commit removes this level of indirection between user input and module data, making the metadata.json file a first-class citizen in Puppet modules.  It similarly deprecates the Modulefile as a supported source of module data.  Checksums have also been moved into their own file (per PE-3124), and `puppet module changes` has been updated to leverage the new file when available (per PE-3120).\n\nFor users building a module containing only a Modulefile, this will issue a warning that the Modulefile is deprecated, and output the corresponding metadata.json file.\n\nFor users building a module containing both a Modulefile and a metadata.json file, this will issue a warning that the Modulefile is deprecated and is being ignored.","Pieter van de Bruggen",true],["7d78de2e3782a2518d61234976e3112cc9866873","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(PUP-1977) Update `puppet module generate` to create `metadata.json`\n\nPrior to this commit, running `puppet module generate` would create a Modulefile with the appropriate metadata, from which a metadata.json file would be generated when you ran `puppet module build`.  Since we're migrating away from the Modulefile as the canonical source of metadata (as per PE-3117), this commit will instead generate an equivalent metadata.json file when the module is created.","Pieter van de Bruggen",true],["41c88a2732b546f570414ff06279b3be1393e7e2","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(PUP-2284) Add an interview to the PMT `generate` action.\n\nPrior to this commit, when you generated a new module, it created a simple\nmetadata.json file with the same standard defaults for every module.  Since\nJSON may not be the most familiar language for all of our users, we now do\nsome work up front to pre-fill that JSON file with useful data based on user\ninput.","Pieter van de Bruggen",true],["d7559537c59945e708e4450a93512da4f528a7d6","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(PUP-2285) Integrating the recommended README template\n\nPrior to this commit, `puppet module generate` would create a simplistic\nREADME file for the new module.  This change integrates the README\ntemplate we publicly recommend people use to document their modules\n(http://docs.puppetlabs.com/puppet/latest/reference/modules_documentation.html).","Pieter van de Bruggen",true],["dd8fc2be79d40ef773b094dd973a30509a40229d","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(PUP-2278) Accept paths with spaces in PMT tarball interactions.\n\nPrior to this commit, if the module_working_dir or the path to a module\nbeing built contained whitespace, our simple string-interpolation\nwould fail to create a valid call to `tar` or `gzip`.  This change fixes\nthe bugs resulting from that behavior.","Pieter van de Bruggen",true],["8e50ae74a73b6039efe875c442ec0d68424efd23","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(maint) Refactoring module name validation to be less obtuse.\n\nPreviously the code that validated module names took a pessimistic\napproach, validating conformance only to assert unrelated non-conformance.\nAs it turns out, this is messy to read and understand, so this change\nrewrites the logic in a more straightforward manner.","Pieter van de Bruggen",true],["fbeed5c9b4a18c460f60cbfe28b9e416e86b8d83","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(maint) Use PuppetSpec::Files for tmpdir creation in tests.\n\nBefore this change, the PMT Checksummer spec was using the in-built\n'tmpfile' library directly.  For conformance with the rest of the test\nsuite, it's been recommended that we should use PuppetSpec::Files for\nthat functionality (which this change implements).","Pieter van de Bruggen",true],["8237592ba028d83ec1655e14d098101f0f0d31c5","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(maint) Fix metadata validation for missing namespaces and module names.\n\nPrior to this commit, validation would raise non-sensical validation\nerrors if you attempted to validate a module name that contained a\nseparator (either '-' or '/'), but less than one character on either\nside.  This change adds validation for those cases.","Pieter van de Bruggen",true],["155bf4c24015d05aaf64e6ab9a5bd89bb07f99cf","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(PUP-2278) Parameterize the mode of Puppet::Util::Execution.execpipe.\n\nIn the previous commit, the default behavior of `execpipe` was changed\nto ensure that the pipe was always opened in read/write mode.  While we\naren't aware of any regressions this change would cause, the cautious\nroute is to maintain the same default behavior for now; to that end,\nthis commit adds a `mode` parameter to `execpipe`, allowing callers to\nchoose the mode the pipe is opened in.","Pieter van de Bruggen",true],["63710f5ff6f063c11ecb9b2b852d322dc29e29d2","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(maint) Code cleanup around PMT generate.\n\nPrior to this commit, there were some areas of the generate code that\nwere less than clear and in need of some further documentation, in\naddition to a few others where more idiomatic Ruby was desirable. This\ncommit exists to make these changes.","Pieter van de Bruggen",true],["2c0456e5798046579daefe827262e23547cfe403","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(PUP-2284) Add --skip-interview option to PMT generate.\n\nPrior to this commit, we had a non-optional interview which helpfully\npre-populated common module metadata fields with values from the user.\nHowever, with speculation of non-interactive uses of the `generate`\naction (including our own acceptance test suite), this commit adds an\noption enabling the user to bypass the interview entirely.","Pieter van de Bruggen",true],["69bd60617205746ab9acdad64a2b7c3eabadb14b","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(maint) Update PMT acceptance tests to match new verbiage\n\nPrior to this commit, the acceptance tests would fail due to changes\nmade to the error output from the changes command.  This change brings\nthose tests in line with the expected behavior.","Pieter van de Bruggen",true],["0e7fc14944d86f498ae0ea31cdd708befcb3d7b0","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","Merge remote-tracking branch 'upstream/master' into PE-3117\n\nConflicts:\n\tacceptance/tests/modules/changes/missing_metadata_json.rb\n\tlib/puppet/module_tool/applications/application.rb\n\tlib/puppet/module_tool/applications/builder.rb\n\tlib/puppet/module_tool/applications/checksummer.rb\n\tspec/unit/module_tool/applications/builder_spec.rb","Pieter van de Bruggen",true],["f61e4170c42ec466bda241511320a86ef7232529","997908ac4a0d2f2db366306af7a4a62f60b10d7a@gmail.com","(PUP-2284) Updating default version for PMT generate.\n\nPrior to this commit, the version for newly generated modules defaulted\nto 0.0.1, since this is the first conceivable version number.  According\nto the Semantic Versioning spec, most projects should begin with the\nversion 0.1.0, which this commit resets the default to.","Pieter van de Bruggen",true],["ea39a3de5705020d79ae89d6ab513b37fa662ce7","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","Merge pull request #2436 from pvande/feature/master/pe3117_pmt_should_prefer_metadata.json\n\n(PE-3117) Use metadata.json as canonical metadata source.","Nick Lewis",true],["ede281b70275d70550d4210cc055e222fd653d28","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","Merge pull request #2440 from pvande/feature/master/pe3136_pregenerate_metadata.json\n\n(PE-3136) Update `puppet module generate` to create `metadata.json`","Nick Lewis",true],["c1e5ae1582c1270e3ce6f74bcbc5ff560b50032e","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","Merge pull request #2538 from pvande/task/master/pup2284_puppet_module_generate_interview\n\nAdd an interview to the PMT `generate` action.","Nick Lewis",true],["19c087717dd8fbea781d54adc902ed67580afc2a","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","Merge pull request #2539 from pvande/task/master/pup2285_add_better_readme_to_module_skeleton\n\n(PUP-2285) Integrating the recommended README template","Nick Lewis",true],["547af9b8208fe9a3c1657738824d55b2c4a9cf6b","75ef9faee755c70589550b513ad881e5a603182c@puppetlabs.com","Merge pull request #2555 from pvande/bug/master/pup2278_fix_pmt_handling_of_paths_with_spaces\n\nAccept paths with spaces in PMT tarball interactions.","Nick Lewis",true],["099721375c9a81c0d01e0cf7353458c6b2c6acd7","828d338a9b04221c9cbe286f50cd389f68de4ecf@elasticprovisioner.com","Merge branch 'master' of https://github.com/puppetlabs/puppet","Asher Bond",true]],"size":20,"ref":"refs/heads/master","head":"099721375c9a81c0d01e0cf7353458c6b2c6acd7"}