Skip to content

Commit 24b1eb0

Browse files
committed
Move .NET assemblies to target netstandard2.0
1 parent 5c31c6e commit 24b1eb0

File tree

13 files changed

+89
-425
lines changed

13 files changed

+89
-425
lines changed

DESCRIPTION

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
Package: rClr
22
Type: Package
33
Title: Accessing the Common Language Runtime (.NET/Mono) from R
4-
Version: 0.8.1
5-
Date: 2019-04-08
4+
Version: 0.8.2
5+
Date: 2019-04-09
66
Authors@R: c( person("Jean-Michel", "Perraud", email =
77
"jean-michel.perraud@csiro.au", role = c("aut", "cre")))
88
Author: Jean-Michel Perraud [aut, cre], Kosei Abe, [aut] (R.NET), Nigel

NEWS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
NEWS/ChangeLog for rClr
22
--------------------------
33

4+
0.8-01 2019-04-08 beta
5+
o pre-release, test on R 3.5.x which has significant underlying changes. Most of the changes required appeared to be in R.NET though rather than rClr.
6+
o Move csproj to netstandard2 format and target.
7+
8+
0.8-0 2015-11-01 beta
9+
o Tidy up build process and upgrade to latest recommended practices, notably with testthat
10+
411
0.7-9 2015-08-30 beta
512
o Update to use R.NET 1.6.5. Following up on a few requests,
613
allow for backward compatibility down to

R/rClr-package.r

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
#' \tabular{ll}{
77
#' Package: \tab rClr\cr
88
#' Type: \tab Package\cr
9-
#' Version: \tab 0.8.1\cr
10-
#' Notes: \tab preview release - work on R 3.5.x, which has significant changes under the hood \cr
11-
#' Date: \tab 2019-04-08\cr
9+
#' Version: \tab 0.8.2\cr
10+
#' Notes: \tab preview release - Target netstandard2.0. Work on R 3.5.x, which has significant changes under the hood \cr
11+
#' Date: \tab 2019-04-09\cr
1212
#' License: \tab LGPL 3\cr
1313
#' }
1414
#'
@@ -18,6 +18,7 @@
1818
#'
1919
#' \tabular{lll}{
2020
#' Version \tab Date \tab Notes \cr
21+
#' 0.8.1: \tab 2019-04-08 \tab preview release - work on R 3.5.x, which has significant changes under the hood. \cr
2122
#' 0.8.0: \tab 2015-11-01 \tab Tidy up build process and upgrade to latest recommended practices, notably with testthat. \cr
2223
#' 0.7-9: \tab 2015-08-30 \tab allow compilation against boehm and SGen versions of mono lib. minor build improvements. \cr
2324
#' 0.7-8: \tab 2015-08-04 \tab Update to use R.NET 1.6.5. Allow for backward compatibility down to R 2.15.3 - While all relevant tests work, note that the level of testing is not on par with tests on R 3.2.x. \cr

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,13 @@ Under construction as of 2019-04:
2323
```bat
2424
REM important to not have nuget.exe under c:\bin
2525
set PATH=C:\cmd_bin;%PATH%
26+
REM and make sure we use a recent msbuild, otherwise issues with netstandard2 formats.
27+
set PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\;%PATH%
2628
cd c:\src\github_jm
27-
setup_dev
28-
echo %R_EXE%
29-
%R_EXE% CMD build --no-build-vignettes rClr
30-
%R_EXE% CMD INSTALL rClr_0.8.tar.gz
29+
set R_EXE="c:\Program Files\R\R-3.5.2\bin\x64\R.exe"
30+
set R_VANILLA=%R_EXE% --no-save --no-restore-data
31+
%R_VANILLA% CMD build rClr
32+
%R_VANILLA% CMD INSTALL --build rClr_0.8.x.tar.gz
3133
```
3234

3335
#### Windows

man/rClr-package.Rd

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/ClrFacade/ClrFacade.csproj

Lines changed: 16 additions & 166 deletions
Original file line numberDiff line numberDiff line change
@@ -1,176 +1,26 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3-
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
2+
<Project Sdk="Microsoft.NET.Sdk" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
43
<PropertyGroup>
54
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
65
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
76
<ProjectGuid>{024B0C26-BED0-467D-B332-E9796B756133}</ProjectGuid>
87
<OutputType>Library</OutputType>
9-
<AppDesignerFolder>Properties</AppDesignerFolder>
10-
<RootNamespace>Rclr</RootNamespace>
11-
<AssemblyName>ClrFacade</AssemblyName>
12-
<FileAlignment>512</FileAlignment>
13-
<ProductVersion>8.0.30703</ProductVersion>
14-
<SchemaVersion>2.0</SchemaVersion>
15-
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
16-
<RestorePackages>true</RestorePackages>
17-
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
18-
<TargetFrameworkProfile />
8+
<TargetFramework>netstandard2.0</TargetFramework>
9+
<Version>0.8.1</Version>
10+
<Copyright>(c) 2014-2019 Jean-Michel Perraud</Copyright>
11+
<Description>.NET interoperability on top of R.NET for the rClr package</Description>
12+
<Product>rClr</Product>
13+
<Company />
14+
<Authors>Jean-Michel Perraud</Authors>
15+
<Title>ClrFacade; embed .NET in R</Title>
16+
<PackageLicenseUrl>https://github.com/jmp75/rclr/blob/master/License.txt</PackageLicenseUrl>
17+
<RepositoryUrl>https://github.com/jmp75/rclr</RepositoryUrl>
18+
<PackageProjectUrl>https://github.com/jmp75/rclr</PackageProjectUrl>
19+
<PackageReleaseNotes>Migration to .NET Standard 2.0 and supporting R 3.5.x</PackageReleaseNotes>
20+
<!-- forces SDK to copy dependencies into build output to make packing easier -->
21+
<CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
1922
</PropertyGroup>
20-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
21-
<DebugSymbols>true</DebugSymbols>
22-
<DebugType>full</DebugType>
23-
<Optimize>false</Optimize>
24-
<OutputPath>..\Debug\</OutputPath>
25-
<DefineConstants>DEBUG;TRACE</DefineConstants>
26-
<ErrorReport>prompt</ErrorReport>
27-
<WarningLevel>4</WarningLevel>
28-
<UseVSHostingProcess>false</UseVSHostingProcess>
29-
<Prefer32Bit>false</Prefer32Bit>
30-
</PropertyGroup>
31-
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
32-
<DebugType>pdbonly</DebugType>
33-
<Optimize>true</Optimize>
34-
<OutputPath>..\Release\</OutputPath>
35-
<DefineConstants>TRACE</DefineConstants>
36-
<ErrorReport>prompt</ErrorReport>
37-
<WarningLevel>4</WarningLevel>
38-
<Prefer32Bit>false</Prefer32Bit>
39-
</PropertyGroup>
40-
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'MonoDebug|AnyCPU'">
41-
<DebugSymbols>true</DebugSymbols>
42-
<OutputPath>..\MonoDebug\</OutputPath>
43-
<DefineConstants>DEBUG;TRACE</DefineConstants>
44-
<DebugType>full</DebugType>
45-
<PlatformTarget>AnyCPU</PlatformTarget>
46-
<ErrorReport>prompt</ErrorReport>
47-
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
48-
<Prefer32Bit>false</Prefer32Bit>
49-
<WarningLevel>4</WarningLevel>
50-
<Optimize>false</Optimize>
51-
</PropertyGroup>
52-
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'MonoInstallDebug|AnyCPU'">
53-
<DebugSymbols>true</DebugSymbols>
54-
<OutputPath>..\MonoInstallDebug\</OutputPath>
55-
<DefineConstants>TRACE;DEBUG</DefineConstants>
56-
<DebugType>full</DebugType>
57-
<PlatformTarget>AnyCPU</PlatformTarget>
58-
<ErrorReport>prompt</ErrorReport>
59-
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
60-
<Prefer32Bit>false</Prefer32Bit>
61-
<WarningLevel>4</WarningLevel>
62-
<Optimize>false</Optimize>
63-
</PropertyGroup>
64-
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'MonoInstall|AnyCPU'">
65-
<DebugSymbols>true</DebugSymbols>
66-
<OutputPath>bin\MonoInstall\</OutputPath>
67-
<DefineConstants>TRACE;DEBUG</DefineConstants>
68-
<DebugType>full</DebugType>
69-
<PlatformTarget>AnyCPU</PlatformTarget>
70-
<ErrorReport>prompt</ErrorReport>
71-
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
72-
<WarningLevel>4</WarningLevel>
73-
<Optimize>false</Optimize>
74-
<Prefer32Bit>false</Prefer32Bit>
75-
</PropertyGroup>
76-
<ItemGroup>
77-
<Reference Include="DynamicInterop, Version=0.9.0.0, Culture=neutral, processorArchitecture=MSIL">
78-
<HintPath>..\packages\DynamicInterop.0.9.1\lib\netstandard2.0\DynamicInterop.dll</HintPath>
79-
<Private>True</Private>
80-
</Reference>
81-
<Reference Include="Microsoft.Win32.Registry, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
82-
<HintPath>..\packages\Microsoft.Win32.Registry.4.5.0\lib\net461\Microsoft.Win32.Registry.dll</HintPath>
83-
<Private>True</Private>
84-
</Reference>
85-
<Reference Include="RDotNet, Version=1.8.0.0, Culture=neutral, processorArchitecture=MSIL">
86-
<HintPath>..\packages\R.NET.1.8.0-alpha1\lib\netstandard2.0\RDotNet.dll</HintPath>
87-
<Private>True</Private>
88-
</Reference>
89-
<Reference Include="System" />
90-
<Reference Include="System.Core" />
91-
<Reference Include="System.Numerics" />
92-
<Reference Include="System.Security.AccessControl, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
93-
<HintPath>..\packages\System.Security.AccessControl.4.5.0\lib\net461\System.Security.AccessControl.dll</HintPath>
94-
<Private>True</Private>
95-
</Reference>
96-
<Reference Include="System.Security.Principal.Windows, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
97-
<HintPath>..\packages\System.Security.Principal.Windows.4.5.0\lib\net461\System.Security.Principal.Windows.dll</HintPath>
98-
<Private>True</Private>
99-
</Reference>
100-
<Reference Include="System.Xml.Linq" />
101-
<Reference Include="System.Data.DataSetExtensions" />
102-
<Reference Include="Microsoft.CSharp" />
103-
<Reference Include="System.Data" />
104-
<Reference Include="System.Xml" />
105-
<Reference Include="DynamicInterop">
106-
<HintPath>..\packages\DynamicInterop.0.7.3\lib\net40\DynamicInterop.dll</HintPath>
107-
</Reference>
108-
</ItemGroup>
109-
<ItemGroup>
110-
<Compile Include="ClrFacade.cs" />
111-
<Compile Include="DataConverterExtensions.cs">
112-
<SubType>Code</SubType>
113-
</Compile>
114-
<Compile Include="HelloWorld.cs" />
115-
<Compile Include="IDataConverter.cs" />
116-
<Compile Include="PerformanceProfiling.cs" />
117-
<Compile Include="Properties\AssemblyInfo.cs" />
118-
<Compile Include="RclrBinder.cs" />
119-
<Compile Include="RclrUnmanagedDll.cs" />
120-
<Compile Include="RDotNetDataConverter.cs" />
121-
<Compile Include="RdotnetDataConverterTests.cs" />
122-
<Compile Include="ReflectionHelper.cs" />
123-
<Compile Include="TestArrayMemoryHandling.cs">
124-
<AutoGen>True</AutoGen>
125-
<DesignTime>True</DesignTime>
126-
<DependentUpon>TestArrayMemoryHandling.tt</DependentUpon>
127-
</Compile>
128-
<Compile Include="TestCases.cs" />
129-
<Compile Include="TestMethodBinding.cs">
130-
<AutoGen>True</AutoGen>
131-
<DesignTime>True</DesignTime>
132-
<DependentUpon>TestMethodBinding.tt</DependentUpon>
133-
</Compile>
134-
<Compile Include="Tests\RefClasses\BaseAbstractClassOne.cs" />
135-
<Compile Include="Tests\RefClasses\InterfaceOne.cs" />
136-
<Compile Include="Tests\RefClasses\LevelOneClass.cs" />
137-
<Compile Include="Tests\RefClasses\LevelThreeClass.cs" />
138-
<Compile Include="Tests\RefClasses\LevelTwoClass.cs" />
139-
<Compile Include="Tests\TestUtilities.cs" />
140-
<Compile Include="DataConversionHelper.cs" />
141-
</ItemGroup>
142-
<ItemGroup>
143-
<None Include="packages.config">
144-
<SubType>Designer</SubType>
145-
</None>
146-
<None Include="TestClassesDiagram.cd" />
147-
<None Include="ClassDiagram.cd" />
148-
<None Include="TestArrayMemoryHandling.tt">
149-
<Generator>TextTemplatingFileGenerator</Generator>
150-
<LastGenOutput>TestArrayMemoryHandling.cs</LastGenOutput>
151-
</None>
152-
<None Include="TestMethodBinding.tt">
153-
<Generator>TextTemplatingFileGenerator</Generator>
154-
<LastGenOutput>TestMethodBinding.cs</LastGenOutput>
155-
</None>
156-
<None Include="app.config" />
157-
</ItemGroup>
15823
<ItemGroup>
159-
<Service Include="{508349B6-6B84-4DF5-91F0-309BEEBAD82D}" />
24+
<PackageReference Include="R.NET" Version="1.8.0-alpha1" />
16025
</ItemGroup>
161-
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
162-
<!-- <Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
163-
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
164-
<PropertyGroup>
165-
<ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
166-
</PropertyGroup>
167-
<Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" />
168-
</Target> -->
169-
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
170-
Other similar extension points exist, see Microsoft.Common.targets.
171-
<Target Name="BeforeBuild">
172-
</Target>
173-
<Target Name="AfterBuild">
174-
</Target>
175-
-->
17626
</Project>

src/ClrFacade/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 36 deletions
This file was deleted.

src/ClrFacade/packages.config

Lines changed: 0 additions & 9 deletions
This file was deleted.

src/Makefile.win.in

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ detailedconfiginfo:
5656
-@echo Windows architecture "$(R_ARCH)"
5757
-@echo "env variable TEMP is $(TEMP)"
5858
-@echo "env variable TMP is $(TMP)"
59+
-@echo BuildConfiguration=$(BuildConfiguration)
5960
-@echo BuildMonoSupport=$(BuildMonoSupport)
6061
-@echo Mono Build configuration "$(MonoBuildConfiguration)"
6162
-@echo R_ARCH=$(R_ARCH)
@@ -65,7 +66,7 @@ detailedconfiginfo:
6566
-@echo CXX=$(CXX)
6667
-@echo ALL_CFLAGS=$(ALL_CFLAGS)
6768
-@echo ALL_CPPFLAGS=$(ALL_CPPFLAGS)
68-
-@echo build cmd line: $(MSB) $(SLN) /t:$(MODE) /p:Configuration=$(BuildConfiguration) /p:Platform="inserted" $(MSB_OPTIONS_EXTRA)
69+
-@echo build cmd line: $(MSB) $(SLN) //t:$(MODE) //p:Configuration=$(BuildConfiguration) //p:Platform="replaced_tgt_platform" $(MSB_OPTIONS_EXTRA);
6970
-@echo **END Variable**
7071

7172
rClrNugetRestore: rClr.cpp
@@ -75,7 +76,7 @@ rClrLibComp: rClrNugetRestore
7576
@for tgt_platform in x64 Win32; do \
7677
$(MSB) $(SLN) //t:$(MODE) //p:Configuration=$(BuildConfiguration) //p:Platform="$$tgt_platform" $(MSB_OPTIONS_EXTRA); \
7778
done; \
78-
if [ "$(BuildMonoSupport)" = "True" ] ; then $(MSB) $(SLN) /t:$(MODE) /p:Configuration=$(MonoBuildConfiguration) /p:Platform="Win32" $(MSB_OPTIONS_EXTRA) ; fi
79+
if [ "$(BuildMonoSupport)" = "True" ] ; then $(MSB) $(SLN) /t:$(MODE) //p:Configuration=$(MonoBuildConfiguration) ///p:Platform="Win32" $(MSB_OPTIONS_EXTRA) ; fi
7980

8081
instdir:
8182
@for r_architecture in x64 i386; do \
@@ -98,11 +99,11 @@ rClrLib: rClrLibComp
9899
bin_dir=./$(MonoBuildConfiguration); \
99100
RCLRBINS="$$bin_dir/rClrMono.dll $$bin_dir/rClrMono.exp $$bin_dir/rClrMono.lib $$bin_dir/rClrMono.pdb" ; \
100101
if [ "$(BuildMonoSupport)" = "True" ] ; then $(ROBOCP_CMD) $$RCLRBINS $(INSTDIR)/libs/i386/ ; fi ;
101-
-$(ROBOCP_CMD) ./$(BuildConfiguration)/ $(INSTDIR)/libs/ $(CLR_FACADE_BINS)
102-
-$(ROBOCP_CMD) ./$(BuildConfiguration)/ $(INSTDIR)/libs/ $(RDOTNET_BINS)
102+
-$(ROBOCP_CMD) ./ClrFacade/bin/$(BuildConfiguration)/netstandard2.0/ $(INSTDIR)/libs/ $(CLR_FACADE_BINS)
103+
-$(ROBOCP_CMD) ./ClrFacade/bin/$(BuildConfiguration)/netstandard2.0/ $(INSTDIR)/libs/ $(RDOTNET_BINS)
103104

104105
clean:
105-
$(MSB) $(SLN) /t:Clean
106+
$(MSB) $(SLN) //t:Clean
106107

107108
distclean: clean
108109
-rm -rf $(INSTDIR)

0 commit comments

Comments
 (0)