diff --git a/docs/guides/getting_started/images/appveyor-artifacts.png b/docs/guides/getting_started/images/appveyor-artifacts.png new file mode 100644 index 000000000..2f31b77a9 Binary files /dev/null and b/docs/guides/getting_started/images/appveyor-artifacts.png differ diff --git a/docs/guides/getting_started/images/appveyor-nupkg.png b/docs/guides/getting_started/images/appveyor-nupkg.png new file mode 100644 index 000000000..0cf3cf6c4 Binary files /dev/null and b/docs/guides/getting_started/images/appveyor-nupkg.png differ diff --git a/docs/guides/getting_started/images/nightlies-vs-note.png b/docs/guides/getting_started/images/nightlies-vs-note.png new file mode 100644 index 000000000..0dcf2dea3 Binary files /dev/null and b/docs/guides/getting_started/images/nightlies-vs-note.png differ diff --git a/docs/guides/getting_started/images/nightlies-vs-step1.png b/docs/guides/getting_started/images/nightlies-vs-step1.png new file mode 100644 index 000000000..a399ca66c Binary files /dev/null and b/docs/guides/getting_started/images/nightlies-vs-step1.png differ diff --git a/docs/guides/getting_started/images/nightlies-vs-step2.png b/docs/guides/getting_started/images/nightlies-vs-step2.png new file mode 100644 index 000000000..75cecbb8d Binary files /dev/null and b/docs/guides/getting_started/images/nightlies-vs-step2.png differ diff --git a/docs/guides/getting_started/images/nightlies-vs-step4.png b/docs/guides/getting_started/images/nightlies-vs-step4.png new file mode 100644 index 000000000..6462ab994 Binary files /dev/null and b/docs/guides/getting_started/images/nightlies-vs-step4.png differ diff --git a/docs/guides/getting_started/installing.md b/docs/guides/getting_started/installing.md index ac6f6126d..183f56f66 100644 --- a/docs/guides/getting_started/installing.md +++ b/docs/guides/getting_started/installing.md @@ -38,26 +38,14 @@ Release builds of Discord.Net will be published to the [official NuGet feed]. Development builds of Discord.Net, as well as add-ons, will be -published to our [MyGet feed]. - -* Direct feed link: `https://www.myget.org/F/discord-net/api/v3/index.json` - -Not sure how to add a direct feed? See how [with Visual Studio] or -[without Visual Studio]. +published to our [MyGet feed]. See +@Guides.GettingStarted.Installation.Nightlies to learn more. [official NuGet feed]: https://nuget.org [MyGet feed]: https://www.myget.org/feed/Packages/discord-net -[with Visual Studio]: https://docs.microsoft.com/en-us/nuget/tools/package-manager-ui#package-sources -[without Visual Studio]: #configuring-nuget-without-visual-studio ### [Using Visual Studio](#tab/vs-install) -> [!TIP] -> Don't forget to change your package source if you're installing from -> the developer feed. -> Also make sure to check "Enable Prereleases" if installing a dev -> build! - 1. Create a new solution for your bot. 2. In the Solution Explorer, find the "Dependencies" element under your bot's project. @@ -69,9 +57,6 @@ Not sure how to add a direct feed? See how [with Visual Studio] or ### [Using JetBrains Rider](#tab/rider-install) -> [!TIP] -> Make sure to check the "Prerelease" box if installing a dev build! - 1. Create a new solution for your bot. 2. Open the NuGet window (Tools > NuGet > Manage NuGet packages for Solution). @@ -83,28 +68,16 @@ Not sure how to add a direct feed? See how [with Visual Studio] or ### [Using Visual Studio Code](#tab/vs-code) -> [!TIP] -> Don't forget to add the package source to a [NuGet.Config file] if -> you're installing from the developer feed. - 1. Create a new project for your bot. 2. Add `Discord.Net` to your .csproj. [!code[Sample .csproj](samples/project.xml)] -[NuGet.Config file]: #configuring-nuget-without-visual-studio - ### [Using dotnet CLI](#tab/dotnet-cli) -> [!TIP] -> Don't forget to add the package source to a [NuGet.Config file] if -> you're installing from the developer feed. - 1. Open command-line and navigate to where your .csproj is located. 2. Enter `dotnet add package Discord.Net`. -[NuGet.Config file]: #configuring-nuget-without-visual-studio - *** ## Compiling from Source @@ -174,18 +147,4 @@ are passing into your client. *** -### Configuring NuGet without Visual Studio - -If you plan on deploying your bot or developing outside of Visual -Studio, you will need to create a local NuGet configuration file for -your project. - -To do this, create a file named `NuGet.Config` alongside the root of -your application, where the project is located. - -Paste the following snippets into this configuration file, adding any -additional feeds if necessary. - -[!code[NuGet Configuration](samples/nuget.config)] - [.NET Core SDK]: https://www.microsoft.com/net/download/ \ No newline at end of file diff --git a/docs/guides/getting_started/nightlies.md b/docs/guides/getting_started/nightlies.md new file mode 100644 index 000000000..efb69dcff --- /dev/null +++ b/docs/guides/getting_started/nightlies.md @@ -0,0 +1,85 @@ +--- +uid: Guides.GettingStarted.Installation.Nightlies +title: Installing Nightly Build +--- + +# Installing Discord.Net Nightly Build + +Before Discord.Net pushes a new set of features into the stable +version, we use nightly builds to test the features with the +community for an extensive period of time. Each nightly build is +compiled by AppVeyor whenever a new commit is made and will be pushed +to our MyGet feed. + +> [!IMPORTANT] +> Before beginning, it is important to note that although nightlies +> are generally stable and have more features and bug fixes than +> the current stable build on NuGet, there **will** be breaking +> changes during the development or breaking bugs. Although breaking +> bugs are usually fixed as soon as they are discovered. It is still +> important to keep this in mind. + +## Installing with MyGet (Recommended) + +MyGet is typically used by many development teams to publish their +latest pre-release packages before the features are finalized and +pushed to NuGet. + +The following is the feed link of Discord.Net, + +* `https://www.myget.org/F/discord-net/api/v3/index.json` + +Depending on which IDE you use, there are many different ways of +adding the feed to your package source. + +### [Visual Studio](#tab/vs) + +1. Go to `Tools` > `NuGet Package Manager` > `Package Manager Settings` + ![VS](images/nightlies-vs-step1.png) +2. Go to `Package Sources` + ![Package Sources](images/nightlies-vs-step2.png) +3. Click on the add icon +4. Fill in the desired name and source as shown below and hit `Update` + ![Add Source](images/nightlies-vs-step4.png) + +> [!NOTE] +> Remember to tick the `Include prerelease` checkbox to see the +> nightly builds! +> ![Checkbox](images/nightlies-vs-note.png) + +### [Local NuGet.Config](#tab/local-nuget-config) + +If you plan on deploying your bot or developing outside of Visual +Studio, you will need to create a local NuGet configuration file for +your project. + +To do this, create a file named `NuGet.Config` alongside the root of +your application, where the project is located. + +Paste the following snippets into this configuration file, adding any +additional feeds if necessary. + +[!code[NuGet Configuration](samples/nuget.config)] + +After which, you may install the packages by directly modifying the +project file, using the dotnet CLI (`dotnet add package Discord.Net`), +or by using PowerShell (`Install-Package Discord.Net -Prerelease`). + +*** + +## Installing from AppVeyor Artifacts + +As mentioned in the first paragraph, we utilize AppVeyor to perform +automated test and build publishing. During the publishing process, +we also upload the NuGet packages onto AppVeyor's Artifact collection. + +The latest build status can be found within our [AppVeyor project]. + +[AppVeyor project]: https://ci.appveyor.com/project/rogueexception/discord-net + +1. In the project, you may find our latest build including the + aforementioned artifacts. + ![Artifacts](images/appveyor-artifacts.png) +2. In the artifacts collection, you should see the latest packages + packed in `*.nupkg` form which you could download from and use. + ![NuPkgs](images/appveyor-nupkg.png) diff --git a/docs/guides/toc.yml b/docs/guides/toc.yml index 7e771313e..edc70d533 100644 --- a/docs/guides/toc.yml +++ b/docs/guides/toc.yml @@ -4,6 +4,9 @@ items: - name: Installation topicUid: Guides.GettingStarted.Installation + items: + - name: Nightly Builds + topicUid: Guides.GettingStarted.Installation.Nightlies - name: Your First Bot topicUid: Guides.GettingStarted.FirstBot - name: Terminology