Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

creation of NuGet package #32

Merged
merged 1 commit into from Mar 10, 2016
Merged

creation of NuGet package #32

merged 1 commit into from Mar 10, 2016

Conversation

thoemmi
Copy link
Member

@thoemmi thoemmi commented Mar 10, 2016

With this PR, calling build.bat all will also create a NuGet package in the target\$(configuration) folder.

If you want to automate the upload to the NuGet gallery, you can instruct AppVeyor to do so.

This also fixes #13.

@dblock
Copy link
Collaborator

dblock commented Mar 10, 2016

Yes, this is awesome! Haven't been actively developing this - @thoemmi would you like to help out and publish to NuGet/automate it? Let us know what you need. @icnocop was the last person to be doing work here too, cc-ed.

@thoemmi
Copy link
Member Author

thoemmi commented Mar 10, 2016

I'd be glad to help out. However, I would be the owner of the package in the NuGet gallery. Are you fine with that?

@dblock
Copy link
Collaborator

dblock commented Mar 10, 2016

@thoemmi Totally, I assume you can add other owners? Include me and @icnocop. I'll add you as a collaborator of this repo too, we need more maintainers.

dblock added a commit that referenced this pull request Mar 10, 2016
creation of NuGet package
@dblock dblock merged commit da77591 into resourcelib:master Mar 10, 2016
@dblock
Copy link
Collaborator

dblock commented Mar 10, 2016

@thoemmi I added you as a collaborator of this repo, but please do continue making pull requests for your changes. And feel free to help out with whatever time you have! Glad more people are using this library.

@thoemmi
Copy link
Member Author

thoemmi commented Mar 10, 2016

I just checked the nuspec specification: both multiple authors and owners are possible. I'll create another PR for the updated nuspec file tomorrow.

Thanks for making me a collaborator. I hope I can contribute one or another helpful change. Of course I won't commit to the repository directly but via PRs.

@icnocop
Copy link
Collaborator

icnocop commented Mar 11, 2016

Since we're using appveyor for automated CI, I would expect the CI build to automatically push the nuget package to nuget. Depending on how the appveyor CI project (https://ci.appveyor.com/project/dblock/resourcelib) is configured, it may require updates to appveyor.yml. But I don't expect the nuget API key to be exposed in appveyor.yml because that's checked into the repository. So since the owner of the appveyor CI project is @dblock, I would think he would have to update the appveyor CI project as follows:

  1. Add the nuget package as an artifact in the Artifacts tab. For example:
    Path to artifact : *.nupkg
    Deployment name: NuGet
    Type: Auto
  2. Add the nuget deployment provider in the Deployment tab
    API key: ******
    Artifacts: NuGet
  3. NuGet tab:
    Check-mark "Do not publish NuGet package artifacts to account/project feeds on Pull Requests"

@thoemmi
Copy link
Member Author

thoemmi commented Mar 11, 2016

When you add publishing NuGet packages in AppVeyor, you can encrypt the NuGet API key in appveyor.yml. See the example at https://www.appveyor.com/docs/deployment/nuget:

deploy:
  provider: NuGet
  server:                  # remove to push to NuGet.org
  api_key:
    secure: m49OJ7+Jdt9an3jPcTukHA==
  skip_symbols: false
  symbol_server:           # remove to push symbols to SymbolSource.org
  artifact: /.*\.nupkg/

AppVeyor even hosts a page where you can encrypt your key. It can then be committed to the public repository securely.

Unfortunately, there's not much doumentation about it. I guess the encryption must be done by the account owning the CI build.

@thoemmi
Copy link
Member Author

thoemmi commented Mar 11, 2016

But before starting to publish CI builds to NuGet gallery, maybe we should consider using semantic versioning to distinguish beta builds from official releases. As far as I see resourcelib uses the MSBuild Version Task to generate dynamic version info. However, I'd suggest to switch to GitVersion. Comments?

@dblock
Copy link
Collaborator

dblock commented Mar 11, 2016

I agree wrt semantic versioning. LMK what I need/can do wrt keys once you guys sorted it out. I am here to help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create a nuget package
3 participants