Skip to content

masaeedu/oneget

 
 

Repository files navigation

OneGet

What's New

Follow our News Panel.

Get Started!

OneGet is shipped inside PowerShell in Win10 Client RTM! For downlevel OS, OneGet is included in WMF 5.0. Download the latest official release here -- currently it's in the WMF 5.0 Production Preview.

You can follow @PSOneGet on Twitter to be notified of every new build.

What is OneGet?

OneGet is renamed as PackageManagement. It is a unified interface to package management systems and aims to make Software Discovery, Installation and Inventory (SDII) work via a common set of cmdlets (and eventually a set of APIs). Regardless of the installation technology underneath, users can use these common cmdlets to install/uninstall packages, add/remove/query package repositories, and query a system for the software installed.

With OneGet, you can

  • Manage a list of software repositories in which packages can be searched, acquired, and installed
  • Search and filter your repositories to find the packages you need
  • Seamlessly install and uninstall packages from one or more repositories with a single PowerShell command

Building the code

Required Tools

Optional Tools

check out the source code

#clone this repository
> git clone --recurse-submodules https://github.com/OneGet/oneget.git

# go to the project folder
> cd oneget

# optional: switch to the wip branch
> git checkout wip

# get the submodules for this branch
> git submodule update --init

# BUILD using Visual Studio, or from the command line:

> msbuild PackageManagement.sln /p:Configuration=Release "/p:Platform=Any CPU"
    
# If you want to send me changes, you should fork the project into your own 
# account first, and use that URL to clone it.
# If you fork it later you can just change the origin by:

# move the old origin out of the way. You could delete it if you want.
> git remote rename origin original

# add your repo url as the origin:
# e.g. git@github.com:fearthecowboy/OneGet.git 
> git remote add origin <your-repo-url> 

# build & deploy binaries and run test
build the packagemanagment.sln:

    msbuild PackageManagement.sln /p:Configuration=Release "/p:Platform=Any CPU"
 
cd to the test folder
.\run-test.ps1  will copy the files generated from the build to x:\Program Files\WindowsPowerShell\Modules\PackageManagement
and update the PowerShellGet to x:\Program Files\WindowsPowerShell\Modules\PowerShellGet. Also run the tests.

Understanding the OneGet code repository

OneGet is under rapid development, and so you get to see just how the sausage is being made. I try to keep the master branch clean and buildable, but my own working branch can get pretty damn wild and I make no bones about some of this. I work fast, I make big changes, and I try to keep my eye on the target.

Feel free to clone the repository, and check out the different branches:

Branches

There are currently three branches in the git repository:

Branch/Tag Purpose
master The master branch is where the daily builds of OneGet will be made from.
WMF5_RTM The WMF5_RTM tag is to mark the WMF 5.0 RTM release point.
wip The wip branch is where the current unstable and not-likely-working coding is taking place. This lets you see where I'm at before stuff actually hits the master branch. Fun to read, but really, the wild-west of code branches.

Contributing to OneGet

Contributions to the OneGet project will require the signing of a CLA -- contact @jianyunt for details...

In the immediate time frame, we won't be taking pull requests to the core itself, as we still have many masters at Microsoft to keep happy, and I have a lot of release process stuff I have to go thru to make them happy.

There are some exceptions to the where I can take Pull Requests immediately:

Pull Requests to the not-in-core Package Providers (Chocolatey, NuGet, etc) are instantly welcome

Any unit tests, BVT tests or -Edge only features, we can take pull requests for as well

Docs, Wiki, content, designs, bugs -- everything gleefully accepted :D

Participating in the OneGet Community

I'm eager to work with anyone who wants to help shape the future of Package Management on Windows -- your opinions, feedback and code can help everyone.

Online Meeting

We have an online monthly meeting at the beginning of each month on Tuesday from 10am - 11am (PST). Each month may have slight shift of either the first week or the second week. We will twitter the exact time as well as put a note on GitHub site. (everyone welcome!)

You can see archives of the previous meetings available on

All meeting notes are recorded under OneDrive PackageManagement

Project Dashboard

You can see issues, pull requests, backlog items, etc. in the OneGet Dashboard

Stories in Progress Stories in Progress Stories in Progress Stories in Progress Stories in Progress

Throughput Graph

Throughput Graph

Team Members

Branch Purpose
@fearthecowboy Godfather of OneGet project, has moved on to some other exciting project. But will always stand by with OneGet to give us supports.
@Xumin Program Manager on OneGet. Xumin is the sheriff, trying to keep the law. If there are rules that we need to play by, Xumin make us follow them.
@Jianyun New engineer owner on OneGet.
@Krishna Our engineer manager on OneGet, also owner for PowerShell Gallery.
@Quoc Our newest and freshest engineer.

Follow us on Twitter

About

PackageManagement (aka OneGet)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 79.2%
  • PowerShell 20.8%