diff --git a/CHANGELOG.md b/CHANGELOG.md index e7f95cdefd..358df87d26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides/installing_cocoapods.html). +## Master + +* Fixed `pod outdated` to not include subspecs. + [Ash Furrow](ashfurrow] + [#2136](https://github.com/CocoaPods/CocoaPods/issues/2136) + + ## 0.33.1 ##### Bug Fixes diff --git a/Gemfile.lock b/Gemfile.lock index f9ace64262..63ee8f49c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,13 +1,21 @@ GIT remote: https://github.com/CocoaPods/CLAide.git +<<<<<<< HEAD revision: dc0824a1d7a03dc67b9e3dbfccdd4992241ddc0b +======= + revision: 60c953148e3c09af3e0b6e4cc31e6491d14f97c1 +>>>>>>> WIP #2136. branch: master specs: claide (0.6.1) GIT remote: https://github.com/CocoaPods/Core.git +<<<<<<< HEAD revision: 6af534e951a0887e12c77332ce653270047b9341 +======= + revision: 6b633001b01001b4a7d9ffe4f4cae1c31279ebab +>>>>>>> WIP #2136. branch: master specs: cocoapods-core (0.33.1) @@ -27,14 +35,22 @@ GIT GIT remote: https://github.com/CocoaPods/cocoapods-downloader.git +<<<<<<< HEAD revision: 6b2fbda4342ced96df16a55dfa907636dc366b53 +======= + revision: 52f097e4afaab8ff2d4dd1e94861f05f8fbe5616 +>>>>>>> WIP #2136. branch: master specs: cocoapods-downloader (0.6.1) GIT remote: https://github.com/CocoaPods/cocoapods-plugins.git +<<<<<<< HEAD revision: f03cfe8c39172ba1dd9b714a91e04e79a68d0711 +======= + revision: 3a03deab73c85c36865476d0cbc67bec7e80b5e8 +>>>>>>> WIP #2136. branch: master specs: cocoapods-plugins (0.2.0) @@ -52,7 +68,11 @@ GIT GIT remote: https://github.com/CocoaPods/cocoapods-try.git +<<<<<<< HEAD revision: 40d716f925e7b9c3f014b93a0a78d7bf94e9a0b3 +======= + revision: 0d77b0759eb01ec556e371a6c55b3175e285d574 +>>>>>>> WIP #2136. branch: master specs: cocoapods-try (0.3.0) diff --git a/lib/cocoapods/command/outdated.rb b/lib/cocoapods/command/outdated.rb index db02705b70..94fb91d730 100644 --- a/lib/cocoapods/command/outdated.rb +++ b/lib/cocoapods/command/outdated.rb @@ -56,7 +56,7 @@ def updates spec_sets.map do |set| spec = set.specification source_version = set.versions.first - pod_name = spec.name + pod_name = spec.root.name lockfile_version = lockfile.version(pod_name) if source_version > lockfile_version [pod_name, lockfile_version, source_version] diff --git a/node_modules/aspell/README.md b/node_modules/aspell/README.md new file mode 100644 index 0000000000..d0c80f4b56 --- /dev/null +++ b/node_modules/aspell/README.md @@ -0,0 +1,59 @@ +# node-aspell + +A node.js module that parses [aspell](http://aspell.net/) output. Aspell is a spell checker. + +Currently works with node.js v0.10.1+ (and probably lower). + +## Examples + +```javascript +var aspell = require("aspell"); + +var emitter = aspell("spelll chek me"); // Returns event emitter + +emitter + .on("error", function(chunk) { /* ... contents of stderr sent here ... */ }) + .on("result", function(result) { + /** + `result` is an object that has a property called "type" + + When "type" equals: + "ok" -- aspell has encountered a correctly spelled word. + Other optional properties: + - "run-together" -- is true if aspell encounters a compound word + "misspelling" -- aspell has encountered a misspelled word. + Other properties: + - "word" -- the incorrectly spelled word. + - "position" -- the character distance from the last line break + - "alternatives" -- a list of possible corrections + "comment" -- aspell has return comment. + Other properties: + - "line" -- contains the full comment. + "line-break" -- aspell has encountered a line break in the input text + "unknown" -- aspell has return an unsupported control character + */ + }) + .on("end", function() { /* ... called when no more results are available ... */ }) +; +``` + +## API + +- `require("aspell").args` -- Contains a list of arguments that aspell is ran with. By default the list is `[ "--run-together" ]`. + +## Getting node-aspell + +The easiest way to get node-aspell is with [npm](http://npmjs.org/): + + npm install aspell + +Alternatively you can clone this git repository: + + git clone git://github.com/xavi-/node-aspell.git + + +## Developed by +* Xavi Ramirez + +## License +This project is released under [The MIT License](http://www.opensource.org/licenses/mit-license.php). diff --git a/node_modules/aspell/aspell.js b/node_modules/aspell/aspell.js new file mode 100644 index 0000000000..58928eb9f0 --- /dev/null +++ b/node_modules/aspell/aspell.js @@ -0,0 +1,56 @@ +var spawn = require("child_process").spawn; +var EventEmitter = require("events").EventEmitter; + +const ok = { type: "ok" }; +const unknown = { type: "unknown" }; +const runTogether = { type: "ok", "run-together": true }; +const lineBreak = { type: "line-break" }; + +function parseLine(line) { + if(line.length <= 0) { return lineBreak; } + + var ctrl = line.charAt(0); + + if(ctrl == "@") { return { type: "comment", line: line }; } + if(ctrl == "*") { return ok; } + if(ctrl == "-") { return runTogether; } + if(ctrl != "&" && ctrl != "#") { return unknown; } + + var parts = line.split(/:?,?\s/g); + return { + type: "misspelling", + word: parts[1], + position: (ctrl == "#" ? parts[2] : parts[3]) | 0, + alternatives: parts.slice(4) + }; +} + +function aspell(text) { + var proc = spawn("aspell", [ "-a" ].concat(aspell.args || [])); + var emitter = new EventEmitter(); + + var buffer = ""; + proc.stderr.on("data", function(chunk) { + emitter.emit("error", chunk); + }); + proc.stdout.on("data", function(chunk) { + var lines = (buffer + chunk).split(/\r?\n/); + buffer = lines.pop(); + + lines.forEach(function(line) { + var result = parseLine(line); + if(!result) { return; } + + emitter.emit("result", result); + }); + }); + proc.stdout.on("end", function() { + emitter.emit("end"); + }); + proc.stdin.end(text); + + return emitter; +} +aspell.args = [ "--run-together" ]; + +module.exports = aspell; \ No newline at end of file diff --git a/node_modules/aspell/package.json b/node_modules/aspell/package.json new file mode 100644 index 0000000000..16460bacda --- /dev/null +++ b/node_modules/aspell/package.json @@ -0,0 +1,33 @@ +{ + "name": "aspell", + "version": "0.1.0", + "description": "A module that parses aspell output.", + "keywords": [ + "aspell", + "spell check", + "aspell parser" + ], + "maintainers": [ + { + "name": "Xavi", + "email": "xavi.rmz@gmail.com", + "url": "http://xavi.co" + } + ], + "main": "./aspell.js", + "repository": { + "type": "git", + "url": "git://github.com/xavi-/node-aspell.git" + }, + "readme": "# node-aspell\n\nA node.js module that parses [aspell](http://aspell.net/) output. Aspell is a spell checker.\n\nCurrently works with node.js v0.10.1+ (and probably lower).\n\n## Examples\n\n```javascript\nvar aspell = require(\"aspell\");\n\nvar emitter = aspell(\"spelll chek me\"); // Returns event emitter\n\nemitter\n\t.on(\"error\", function(chunk) { /* ... contents of stderr sent here ... */ })\n\t.on(\"result\", function(result) {\n\t/**\n\t\t`result` is an object that has a property called \"type\"\n\n\t\tWhen \"type\" equals:\n\t\t\t\"ok\" -- aspell has encountered a correctly spelled word.\n\t\t\t Other optional properties:\n\t\t\t\t- \"run-together\" -- is true if aspell encounters a compound word\n\t\t\t\"misspelling\" -- aspell has encountered a misspelled word.\n\t\t\t Other properties:\n\t\t\t\t- \"word\" -- the incorrectly spelled word.\n\t\t\t\t- \"position\" -- the character distance from the last line break\n\t\t\t\t- \"alternatives\" -- a list of possible corrections\n\t\t\t\"comment\" -- aspell has return comment.\n\t\t\t Other properties:\n\t\t\t\t- \"line\" -- contains the full comment.\n\t\t\t\"line-break\" -- aspell has encountered a line break in the input text\n\t\t\t\"unknown\" -- aspell has return an unsupported control character\n\t*/\n\t})\n\t.on(\"end\", function() { /* ... called when no more results are available ... */ })\n;\n```\n\n## API\n\n- `require(\"aspell\").args` -- Contains a list of arguments that aspell is ran with. By default the list is `[ \"--run-together\" ]`.\n\n## Getting node-aspell\n\nThe easiest way to get node-aspell is with [npm](http://npmjs.org/):\n\n npm install aspell\n\nAlternatively you can clone this git repository:\n\n git clone git://github.com/xavi-/node-aspell.git\n\n\n## Developed by\n* Xavi Ramirez\n\n## License\nThis project is released under [The MIT License](http://www.opensource.org/licenses/mit-license.php).\n", + "readmeFilename": "README.md", + "bugs": { + "url": "https://github.com/xavi-/node-aspell/issues" + }, + "_id": "aspell@0.1.0", + "dist": { + "shasum": "d6d3466df235284a106d2888c24870adc0d4e1d2" + }, + "_from": "aspell@", + "_resolved": "https://registry.npmjs.org/aspell/-/aspell-0.1.0.tgz" +} diff --git a/spec/cocoapods-integration-specs b/spec/cocoapods-integration-specs index a42f4547a2..367aaee911 160000 --- a/spec/cocoapods-integration-specs +++ b/spec/cocoapods-integration-specs @@ -1 +1 @@ -Subproject commit a42f4547a259b5fc4d51838b971bd9fc9aa56fb9 +Subproject commit 367aaee9111972a40d0569155f40cf6bb63e4634 diff --git a/spec/functional/command/outdated_spec.rb b/spec/functional/command/outdated_spec.rb index 0b02372631..27fa4c2b44 100644 --- a/spec/functional/command/outdated_spec.rb +++ b/spec/functional/command/outdated_spec.rb @@ -18,6 +18,23 @@ module Pod end end + it 'tells the user only about podspecs that have no parent' do + spec = Specification.new(nil, 'BlocksKit') + subspec = Specification.new(spec, 'UIKit') + set = mock + set.stubs(:versions).returns(['2.0']) + set.stubs(:specification).returns(spec) + subset = mock + subset.stubs(:specification).returns(subspec) + subset.stubs(:versions).returns(['2.0']) + version = mock + version.stubs(:version).returns('1.0') + Command::Outdated.any_instance.stubs(:spec_sets).returns([set, subset]) + Command::Outdated.any_instance.stubs(:lockfile).returns(version) + run_command('outdated', '--no-repo-update') + UI.output.should.not.include('UIKit') + end + it 'tells the user about deprecated pods' do spec = Specification.new(nil, 'AFNetworking') spec.deprecated_in_favor_of = 'BlocksKit'