Bug 39329 - Enhance sharpie tool to allow usage of non-master specs repo
Summary: Enhance sharpie tool to allow usage of non-master specs repo
Status: NEEDINFO
Alias: None
Product: Objective Sharpie
Classification: Desktop
Component: General ()
Version: 3.1
Hardware: Macintosh Mac OS
: --- normal
Target Milestone: ---
Assignee: Aaron Bockover [MSFT]
URL:
Depends on:
Blocks:
 
Reported: 2016-03-03 19:27 UTC by Sven
Modified: 2016-08-03 22:29 UTC (History)
4 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report for Bug 39329 on Developer Community or GitHub if you have new information to add and do not yet see a matching new report.

If the latest results still closely match this report, you can use the original description:

  • Export the original title and description: Developer Community HTML or GitHub Markdown
  • Copy the title and description into the new report. Adjust them to be up-to-date if needed.
  • Add your new information.

In special cases on GitHub you might also want the comments: GitHub Markdown with public comments

Related Links:
Status:
NEEDINFO

Description Sven 2016-03-03 19:27:07 UTC
Tried out your 'sharpie' command line tool and am interested in using it to pull in and expose a CocoaPod based iOS library.

I have a custom pod that is currently deployed via a private cocoapods specs repo. Can you please enhance the 'sharpie' command line tool to allow me to point to my specs repo rather than use the normal master specs repo?

Thx much
Comment 1 Aaron Bockover [MSFT] 2016-06-01 03:08:46 UTC
Good idea. I will implement this when time permits.
Comment 2 Thomas van der Heijden 2016-07-28 22:55:28 UTC
+1 this would be very handy
Comment 3 Aaron Bockover [MSFT] 2016-08-03 03:08:06 UTC
I'm not exactly sure what this would look like from an Objective Sharpie perspective.

I may not be fully understanding how the "pod" tool works, but I do not see any way to explicitly specify a different repo.

Objective Sharpie invokes the following Cocoapods commands under the hood:

  pod setup
  pod list
  pod install

I do not see any options to those commands for specifying a repo. It's my understanding that if you use the `pod repo` command to manage repos as usual, list and install should implicitly handle the non-master repo?
Comment 4 Thomas van der Heijden 2016-08-03 06:06:24 UTC
"pod install" requires a podfile 

Either:
* use the source directive.
https://guides.cocoapods.org/syntax/podfile.html#source

OR

* specify per pod the folder or git repo directly using the :git or :path options

https://guides.cocoapods.org/syntax/podfile.html#pod

Both options will prompt you for credentials when required.
Comment 5 Aaron Bockover [MSFT] 2016-08-03 14:33:33 UTC
Ah, okay, so the repo is specified via the Podfile, which sharpie generates.

Does this mean that the `pod list/search` tools searches the repos implicitly?

I could probably generate the source into the Podfile that way.

Thanks!
Comment 6 Thomas van der Heijden 2016-08-03 22:29:07 UTC
yes.  this is how I bypassed the initial step. 
* ran 'sharpie pod init XYZ' for a public pod
* fix the Podfile by adding 'source' and changed the reference to our spec

you probably will also have to include the public source as well so it kind find referenced public pods. 

source 'https://github.com/CocoaPods/Specs.git'

Next problem I'm running into is that sharpie pod bind does not like the Amazon AWS pods (https://github.com/aws/aws-sdk-ios).  And will fail due to missing header files (which are there).