This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
map_suite_via_nuget [2017/03/13 10:06] kevinlaw |
map_suite_via_nuget [2017/03/30 14:59] (current) benbai |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Map Suite via NuGet ====== | ====== Map Suite via NuGet ====== | ||
- | A big difference in Map Suite 10.0 is that we are starting to provide our products via NuGet. Now we can add references to Map Suite products by NuGet easily. For more details about how we approach this, please refer to http://wiki.thinkgeo.com/wiki/repackaged_nuget_packages. | + | In Map Suite 10.0 we have started to provide our products via packages on NuGet. This will allow references to our products to be added and updated easily. We have three different types of packages on NuGet: feature packages, dependency packages, and product packages. These will be explained in detail below. Each of these packages will also have two different build branches: production and development. |
- | ===== Versioning Strategy ===== | + | ===== Map Suite NuGet Packages ===== |
- | New version strategy comes out with Map Suite 10.0. Now we maintain LTS(long-term support) version as well a develop version. LTS releases were recommended for most users, giving them a stable maintenance and only contains bug fix. Develop version contains bug fix and new features, it's suitable for users who want to try new features from Map Suite. | + | We have three different types of packages: feature packages, dependency packages, and product packages. You can tell the difference between these packages by their name. Feature Packages begin with "ThinkGeo.MapSuite" and are named for the namespace and class that they contain. Dependency Packages begin with "MapSuiteDependency" and contain repackaged third party dependencies. Product packages are named for what product they support and their name ends with either Standard or Barebone. |
- | ==== Hot Fixes ==== | + | ==== Feature Packages ==== |
- | If there are any bug fixed in Map Suite products, we will update the LTS version. You can get the latest LTS version by click update in NuGet Package Manager. | + | Feature packages contain one specific feature, such as a data source, and can be added or removed from your product as needed. The package name is usually the same as the assembly and the name of the class that it provides is prefixed by the namespace that it is added in. |
- | Whenever a hotfix is applied to our source, the specific package version will increase by 1. | + | ==== Product Packages ==== |
- | ==== Minor Release ==== | + | Product packages are a collection of packages used in specific products. Each product has a Standard version and a Barebone version which each provide different levels of features with Standard having most of the features that you will need and Barebone not including only the most basic features. You can install and uninstall feature packages as desired on top of these. You can see more about the coverage on each of the products on the product's coverage page. For example: [[map_suite_desktop_for_winforms_package_coverage|Map Suite Desktop For WinForms Package Coverage]]. |
+ | ==== Dependency Packages ==== | ||
- | We plan to publish a minor release for LTS each xx weeks(xxx days). In the minor release, we will merge the new features from 11.0.0-beta into 10.0.0 and test carefully, then release as a long term support version. | + | Dependency packages are third party dependencies that we have repackaged to references within our packages. There should never be a need to install these manually. |
- | ===== Daily Build through NuGet ===== | + | You can find more information on which versions our dependencies use [[map_suite_dependencies|here]]. |
- | We will release a new version of Develop to NuGet every day, you can get the latest feature from here. The version number is suffixed with beta***. | + | |
- | For example, if you want to get the daily NuGet package for MapSuiteDesktopForWinForms-Standard. Please check following steps. | + | ==== Why We Repackage ==== |
- | + | ||
- | - Open NuGet Package Manager. | + | The 3rd party dependencies included in the Dependency Packages are needed by our feature packages. Sometimes these packages can release updates that break compatibility with our APIs and some of the packages do not provide older versions for download. Because of these issues, we repackage the dependencies so that we have complete control of which versions of the dependency packages we use. |
- | - Input "MapSuiteDesktopForWinForms-Standard" in search field. | + | |
- | - Check the Include prerelease option on right side of the search field. {{mapsuite10:nuget-select-prerelease.png}} | + | Repackaging also allows us to keep the dependencies for each of our feature packages well organized and consistent. |
- | - Select the "MapSuiteDesktopForWinForms-Standard", all available versions include daily package will be listed. | + | |
- | - Install the daily package you want by clicking the install button. | + | ===== Production Builds (Stable) through NuGet ===== |
+ | |||
+ | Production builds in NuGet are our well-tested assemblies and for the most part the ones we suggest using. They all have a three-number version number which relates to the Major, Minor, and Patch versions. For example, 10.1.2 where 10 is the major version, 1 is the minor version, and 2 is the patch version. | ||
+ | |||
+ | ==== Hotfix ==== | ||
+ | |||
+ | Hotfixes are released when we want a code change to be immediately applied to the production build. These are generally bug fixes and will rarely, if ever add features. There will be no API breaking changes and typically new APIs will not be added in a hotfix release. | ||
+ | |||
+ | ==== Minor Release ==== | ||
+ | |||
+ | Minor releases will be periodically released to add new features once they have been tested. These updates will also contain all of the hotfix changes released previously. For example 10.2.0 will include every change in hotfixes for the previous minor release version. | ||
+ | |||
+ | |||
+ | ===== Daily Development Build (Unstable) through NuGet ===== | ||
+ | |||
+ | The Development Branch is built daily which means that new changes will be available the day after they are made. These versions will always have the latest features as we add them, but may not be tested fully yet, and the APIs for the new features may change through development. The version numbers for daily builds are the next major version suffixed with "beta" and a build number. For example: 11.0.0-Beta002. | ||
+ | |||
+ | If you want to install the daily builds, you can follow these steps: | ||
+ | |||
+ | - Open NuGet Package Manager | ||
+ | - Input package you wish to install in the search field. | ||
+ | - Check "Include Prerelease" option to the right of the search field. | ||
+ | - In the version dropdown, select an option with a beta version listed such as 11.0.0-Beta001. | ||
+ | - Install using the install button. | ||
+ | {{mapsuite10:installing_prerelease_packages_on_nuget.png? }} |