You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Pavel Tupitsyn (JIRA)" <ji...@apache.org> on 2016/05/13 13:33:12 UTC

[jira] [Commented] (IGNITE-1626) .Net: Create NuGet package.

    [ https://issues.apache.org/jira/browse/IGNITE-1626?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15282691#comment-15282691 ] 

Pavel Tupitsyn commented on IGNITE-1626:
----------------------------------------

*Updated instructions*
(Package name changed; x64 requirement removed; build link fixed; AnyCPU LINQPad requirement removed)


* Run Ignite Platform .NET NuGet build on TC: http://149.202.210.143:8111/viewType.html?buildTypeId=IgniteTests_IgnitePlatformNetNuGetNe
* Download build artifacts (nupkg files)
* Make sure IGNITE_HOME environment variable is NOT set.
* Visual Studio:
** Make sure NuGet is installed: https://docs.nuget.org/consume/installing-nuget
** Create a new C# console application
** In Package Manager Console: {code}Install-Package Apache.Ignite -Source <path-to-nupkg-FOLDER>{code} This should produce no errors (red text).
** Add namespace import: {code}using Apache.Ignite.Core;{code}
** Run simple code to verify that Ignite starts: {code}using (var ignite = Ignition.Start()) {ignite.CreateCache<int, int>("test").Put(1, 1); }{code}
* LINQPad:
** Download LINQPad from http://www.linqpad.net/Download.aspx
** Run, hit F4, Add NuGet
** Discard warning
** Settings -> Add package source pointing to a folder with nupkg file, close settings
** Select your new package source from combobox at the bottom
** Install Apache.Ignite package
** Switch query to Statements, paste and run {code}using (var ignite = Ignition.Start()) {ignite.CreateCache<int, int>("test").Put(1, 1); }{code}
** Verify samples: in the left pane, click Samples, nuget, Apache.Ignite

Same steps are for both NuGet files. Apache.Ignite.Linq package depends on Apache.Ignite package, so installing the former will automatically install the latter. They should be in the same folder.

> .Net: Create NuGet package.
> ---------------------------
>
>                 Key: IGNITE-1626
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1626
>             Project: Ignite
>          Issue Type: Task
>          Components: platforms
>    Affects Versions: 1.5.0.final
>            Reporter: Vladimir Ozerov
>            Assignee: Vladimir Ozerov
>            Priority: Blocker
>             Fix For: 1.6
>
>         Attachments: linqPad5.png
>
>
> *Overview*
> To boost usage of the product we need to distribute it using NuGet, which is tightly integrated with Visual Studio.
> To achieve this several technical, infrastructure and marketing tasks must be completed.
> *Technical tasks*
> - Apache Ignite.NET heavily depends on relative positions of compiled Java classes. We must be able to apply different classpath search strategies depending on packaging. This includes normal search in exploded build directory, search in NuGet package, search in local Maven repo.
> - We need a way to select classpath search strategy. E.g. we can add special marker resource to NuGet package so that DLL understands that it is NuGet-based. More investigation here is reuqired.
> - Minimal set of required JARs should be defined. Currently we have over >100Mb of Java libraries shipped with Ignite build. NuGet has limitation of 30Mb per package. Only vital subset of JARs should be shipped.
> - Resulting package should be tested automatically on TC
> *Infrastructure tasks*
> - INFRA team must be asked about a place where NuGet package could be stored. 
> - Separate build plan should be created, producing NuGet artifacts.
> *Marketing tasks*
> - We need to produce clean, selling and intriguing header and description for our package and attach logo.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)