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 2019/09/16 13:09:00 UTC

[jira] [Updated] (IGNITE-10554) .NET: Jars are not copied to target dir under .NET Core

     [ https://issues.apache.org/jira/browse/IGNITE-10554?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Pavel Tupitsyn updated IGNITE-10554:
------------------------------------
    Description: 
We use PowerShell script to update post-build event in the target project and copy jar files to target directory during build.

However, this no longer works with .NET Core.
nuspec file should be updated with new format, see example from https://github.com/NuGet/Samples/blob/master/ContentFilesExample/authoring/ContentFilesExample.nuspec:

{code}
<?xml version="1.0"?>
<package>
  <metadata minClientVersion="3.3.0">
    <id>ContentFilesExample</id>
    <version>1.0.0</version>
    <authors>nuget</authors>
    <owners>nuget</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>A content v2 example package.</description>
    <tags>contentv2 contentFiles</tags>
    <!-- Build actions for items in the contentFiles folder -->
    <contentFiles>
        <!-- Include Assets as Content -->
        <files include="**/images/*.*" buildAction="Content" />
        <files include="**/data.txt" buildAction="Content" />
        <!-- Copy tool scripts to the output folder -->
        <files include="**/tools/*" buildAction="None" flatten="false" copyToOutput="true" />
    </contentFiles>
  </metadata>
</package
{code}


*UPDATE: this breaks NuGet package usage completely under .NET Core 3.0*
[NuGet behavior has changed|https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0#build-copies-dependencies] in .NET Core 3.0:

??The dotnet build command now copies NuGet dependencies for your application from the NuGet cache to the build output folder??

In .NET Core 2.x dependencies are used directly from NuGet cache, so JAR files are resolved.
In 3.0 this does not work anymore, we should find a way to copy JAR files to the output folder.

  was:
We use PowerShell script to update post-build event in the target project and copy jar files to target directory during build.

However, this no longer works with .NET Core.
nuspec file should be updated with new format, see example from https://github.com/NuGet/Samples/blob/master/ContentFilesExample/authoring/ContentFilesExample.nuspec:

{code}
<?xml version="1.0"?>
<package>
  <metadata minClientVersion="3.3.0">
    <id>ContentFilesExample</id>
    <version>1.0.0</version>
    <authors>nuget</authors>
    <owners>nuget</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>A content v2 example package.</description>
    <tags>contentv2 contentFiles</tags>
    <!-- Build actions for items in the contentFiles folder -->
    <contentFiles>
        <!-- Include Assets as Content -->
        <files include="**/images/*.*" buildAction="Content" />
        <files include="**/data.txt" buildAction="Content" />
        <!-- Copy tool scripts to the output folder -->
        <files include="**/tools/*" buildAction="None" flatten="false" copyToOutput="true" />
    </contentFiles>
  </metadata>
</package
{code}


> .NET: Jars are not copied to target dir under .NET Core
> -------------------------------------------------------
>
>                 Key: IGNITE-10554
>                 URL: https://issues.apache.org/jira/browse/IGNITE-10554
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms
>    Affects Versions: 2.4
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: .NET
>             Fix For: 2.8
>
>
> We use PowerShell script to update post-build event in the target project and copy jar files to target directory during build.
> However, this no longer works with .NET Core.
> nuspec file should be updated with new format, see example from https://github.com/NuGet/Samples/blob/master/ContentFilesExample/authoring/ContentFilesExample.nuspec:
> {code}
> <?xml version="1.0"?>
> <package>
>   <metadata minClientVersion="3.3.0">
>     <id>ContentFilesExample</id>
>     <version>1.0.0</version>
>     <authors>nuget</authors>
>     <owners>nuget</owners>
>     <requireLicenseAcceptance>false</requireLicenseAcceptance>
>     <description>A content v2 example package.</description>
>     <tags>contentv2 contentFiles</tags>
>     <!-- Build actions for items in the contentFiles folder -->
>     <contentFiles>
>         <!-- Include Assets as Content -->
>         <files include="**/images/*.*" buildAction="Content" />
>         <files include="**/data.txt" buildAction="Content" />
>         <!-- Copy tool scripts to the output folder -->
>         <files include="**/tools/*" buildAction="None" flatten="false" copyToOutput="true" />
>     </contentFiles>
>   </metadata>
> </package
> {code}
> *UPDATE: this breaks NuGet package usage completely under .NET Core 3.0*
> [NuGet behavior has changed|https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0#build-copies-dependencies] in .NET Core 3.0:
> ??The dotnet build command now copies NuGet dependencies for your application from the NuGet cache to the build output folder??
> In .NET Core 2.x dependencies are used directly from NuGet cache, so JAR files are resolved.
> In 3.0 this does not work anymore, we should find a way to copy JAR files to the output folder.



--
This message was sent by Atlassian Jira
(v8.3.2#803003)