Skip to content
Snippets Groups Projects
Commit 5119e8df authored by Recolic's avatar Recolic 🏡
Browse files

Update README.md

parent 6a7cbfed
No related branches found
No related tags found
No related merge requests found
Pipeline #981 passed with stage
in 15 minutes and 47 seconds
......@@ -28,26 +28,15 @@ To avoid the annoying login, goto `DevOps -> TopRightCorner -> Settings -> Perso
then create a new token, select `All accessible organizations`, and allow permission `Packaging/read`.
Save the token for future usage.
> It's ok to use `nuget` instead of dotnet 5.0. Just give my a valid `nuget.config` and openxt is happy!
> It's ok to use `nuget` instead of dotnet 5.0. Just give a valid `nuget.config` and openxt is happy!
Then use `dotnet nuget add` to add all sources your need. This is an example:
```bash
dotnet nuget add source "https://msazure.pkgs.visualstudio.com/_packaging/Official/nuget/v3/index.json" --name MSAzure --username bensl --password "xbwejuparq4ighqs_Your_Token_Here_qshql2uy3woi73ew6iq" --store-password-in-clear-text
dotnet nuget add source "https://msazure.pkgs.visualstudio.com/_packaging/Official/nuget/v3/index.json" --name MSAzure --username YOUR_ALIAS --password "xbwejup___Your_DevOps_PAT_Token_Here___73ew6iq" --store-password-in-clear-text
```
For convenience, this is some common nuget source for O365 developers:
```xml
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="MSAzure" value="https://msazure.pkgs.visualstudio.com/_packaging/Official/nuget/v3/index.json" />
<add key="Official@Local" value="https://msazure.pkgs.visualstudio.com/_packaging/Official%40Local/nuget/v3/index.json" />
<add key="O365Core" value="https://o365exchange.pkgs.visualstudio.com/_packaging/Common/nuget/v3/index.json" />
<add key="M365FleetAGC" value="https://o365exchange.pkgs.visualstudio.com/959adb23-f323-4d52-8203-ff34e5cbeefa/_packaging/M365FleetAGC/nuget/v3/index.json" />
<add key="Skype" value="https://skype.pkgs.visualstudio.com/DefaultCollection/_packaging/csc/nuget/v3/index.json" />
</packageSources>
```
Refer to `corext.config` for repo URLs used by your project.
Good. Check your `~/.nuget/NuGet/NuGet.Config` to make sure nothing goes wrong.
......@@ -58,14 +47,19 @@ Good. Check your `~/.nuget/NuGet/NuGet.Config` to make sure nothing goes wrong.
Init or sync your `local nuget repo` with the following command:
```bash
# load package list from csproj files
openxt sync --project-dir "~/code/Azure-Deployment-Builder" --local-repo-dir "/mnt/hdd/CxCache"
# or load from packages.config
openxt sync2 --project-dir "~/code/vfp/windows" --local-repo-dir "/mnt/hdd/CxCache"
```
Refer to FAQ to learn the difference between sync/sync2.
> It's OK for multiple projects to share one local-repo-dir.
> It's OK to set --project-dir to a small sub-project, instead of the huge ControlPlane.
#### 3. Use OpenXT to develop or build your project
#### 3. Use OpenXT to develop or build your project (C-Sharp project only)
> There's outdated syntax in many csproj files, which prevents your project to build in .NET 5.
> This IS NOT a OpenXT issue, read [doc/csproj-compliance-net5.md](doc/csproj-compliance-net5.md) for more detail.
......@@ -105,6 +99,14 @@ Linux Bare-Metal (W-2123, 32G-DDR4-2666MHz, SATA SSD). Windows defender has been
## FAQ
- What's the difference of sync / sync2?
`openxt sync` parse package list from csproj files, which can be inaccurate, and unuseable for non-csharp project.
`openxt sync2` parse package list from `packages.config`, which is more universal and reliable. But some team didn't maintain it correctly.
If your package list are maintained in `corext.config`, just extract `packages.config` with `sed -n '/<packages>/,/<\/packages>/p' $filename`.
- How do I build ControlPlane with OpenXT?
OpenXT is not a build management tool, and we use dotnet 5.0 to build projects.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment