Skip to content

Commit

Permalink
added profile 259 and fixed profile 47 folder name.
Browse files Browse the repository at this point in the history
  • Loading branch information
matthid committed Feb 26, 2015
1 parent e8fdc9c commit b143bdd
Show file tree
Hide file tree
Showing 15 changed files with 182 additions and 31 deletions.
17 changes: 15 additions & 2 deletions build.fsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ let solutionFile = "FSharpx.Collections"
let testAssemblies = "tests/**/bin/Release/*.Tests*.dll"
let cloneUrl = "git@github.com:fsprojects/FSharpx.Collections.git"
let nugetDir = "./nuget/"
let profile47dir = "./bin/portable-net4+sl4+wp71+win8/"
let profile47dir = "./bin/portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1/"
let profile259dir = "./bin/portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1/"

// Read additional information from the release notes document
Environment.CurrentDirectory <- __SOURCE_DIRECTORY__
Expand Down Expand Up @@ -64,7 +65,7 @@ Target "Build" (fun _ ->
)

Target "BuildProfile47" (fun _ ->
for p in projects do
for p in projects do
!! ("src/" + p + "/" + p + ".fsproj")
|> MSBuild profile47dir "Rebuild" (["Configuration","Release";
"TargetFrameworkProfile", "Profile47"
Expand All @@ -74,6 +75,17 @@ Target "BuildProfile47" (fun _ ->
|> ignore
)

Target "BuildProfile259" (fun _ ->
for p in projects do
!! ("src/" + p + "/" + p + ".fsproj")
|> MSBuild profile259dir "Rebuild" (["Configuration","Release";
"TargetFrameworkProfile", "Profile259"
"TargetFrameworkVersion", "v4.5"
"TargetFSharpCoreVersion", "3.259.3.1"
"DefineConstants", "FX_PORTABLE;FX_NO_THREAD" ])
|> ignore
)

Target "BuildTests" (fun _ ->
for p in projects do
!! ("tests/" + p + ".Tests" + "/" + p + ".Tests" + ".fsproj")
Expand Down Expand Up @@ -163,6 +175,7 @@ Target "All" DoNothing
"Clean"
==> "AssemblyInfo"
==> "BuildProfile47"
==> "BuildProfile259"
==> "Build"
==> "BuildTests"
==> "RunTests"
Expand Down
3 changes: 2 additions & 1 deletion paket.dependencies
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ source http://nuget.org/api/v2

nuget FAKE
nuget NUnit.Runners
nuget FSharp.Formatting
nuget FSharp.Formatting == 2.6.3
nuget FsCheck 0.9.2
nuget FsUnit
nuget NUnit
nuget NUget.CommandLine
nuget FSharp.Core
7 changes: 4 additions & 3 deletions paket.lock
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
NUGET
remote: http://nuget.org/api/v2
specs:
FAKE (3.13.4)
FAKE (3.17.12)
FsCheck (0.9.2)
FSharp.Compiler.Service (0.0.81)
FSharp.Formatting (2.6.0)
FSharp.Compiler.Service (0.0.82)
FSharp.Core (3.1.2.1)
FSharp.Formatting (2.6.3)
FSharp.Compiler.Service (>= 0.0.81)
FsUnit (1.3.0.1)
NUnit (>= 2.6.3)
Expand Down
6 changes: 3 additions & 3 deletions src/FSharpx.Collections.Experimental/AssemblyInfo.fs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ open System.Runtime.CompilerServices
[<assembly: AssemblyTitleAttribute("FSharpx.Collections.Experimental")>]
[<assembly: AssemblyProductAttribute("FSharpx.Collections.Experimental")>]
[<assembly: AssemblyDescriptionAttribute("FSharpx.Collections is a collection of datastructures for use with F# and C#.")>]
[<assembly: AssemblyVersionAttribute("1.9.5")>]
[<assembly: AssemblyVersionAttribute("1.9.6")>]
[<assembly: InternalsVisibleToAttribute("FSharpx.Collections.Tests")>]
[<assembly: InternalsVisibleToAttribute("FSharpx.Collections.Experimental.Tests")>]
[<assembly: AssemblyFileVersionAttribute("1.9.5")>]
[<assembly: AssemblyFileVersionAttribute("1.9.6")>]
do ()

module internal AssemblyVersionInformation =
let [<Literal>] Version = "1.9.5"
let [<Literal>] Version = "1.9.6"
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,6 @@
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition="'$(TargetFrameworkProfile)' == ''">
<Private>False</Private>
</Reference>
<Reference Include="FSharp.Core" Condition="'$(TargetFrameworkProfile)' == 'Profile47'">
<Private>False</Private>
<Name>FSharp.Core</Name>
<AssemblyName>FSharp.Core.dll</AssemblyName>
<HintPath>$(MSBuildExtensionsPath32)\..\Reference Assemblies\Microsoft\FSharp\.NETPortable\$(TargetFSharpCoreVersion)\FSharp.Core.dll</HintPath>
</Reference>
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Core" />
Expand All @@ -116,4 +110,69 @@
</Target>
-->
<Import Project="$(SolutionDir).paket\paket.targets" />
<Choose>
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="$(TargetFrameworkIdentifier) == 'MonoAndroid'">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\MonoAndroid\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="$(TargetFrameworkIdentifier) == 'MonoTouch'">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\MonoTouch\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\portable-net45+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile47')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
</Choose>
</Project>
3 changes: 3 additions & 0 deletions src/FSharpx.Collections.Experimental/IndexedRoseTree.fs
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
namespace FSharpx.Collections.Experimental

#if FX_NO_THREAD
#else
open FSharpx
open FSharpx.Collections
open System
Expand Down Expand Up @@ -71,3 +73,4 @@ module IndexedRoseTree =

and unfoldForest f =
PersistentVector.map (unfold f)
#endif
1 change: 1 addition & 0 deletions src/FSharpx.Collections.Experimental/paket.references
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FSharp.Core
6 changes: 3 additions & 3 deletions src/FSharpx.Collections/AssemblyInfo.fs
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ open System.Runtime.CompilerServices
[<assembly: AssemblyTitleAttribute("FSharpx.Collections")>]
[<assembly: AssemblyProductAttribute("FSharpx.Collections")>]
[<assembly: AssemblyDescriptionAttribute("FSharpx.Collections is a collection of datastructures for use with F# and C#.")>]
[<assembly: AssemblyVersionAttribute("1.9.5")>]
[<assembly: AssemblyVersionAttribute("1.9.6")>]
[<assembly: InternalsVisibleToAttribute("FSharpx.Collections.Tests")>]
[<assembly: InternalsVisibleToAttribute("FSharpx.Collections.Experimental.Tests")>]
[<assembly: AssemblyFileVersionAttribute("1.9.5")>]
[<assembly: AssemblyFileVersionAttribute("1.9.6")>]
do ()

module internal AssemblyVersionInformation =
let [<Literal>] Version = "1.9.5"
let [<Literal>] Version = "1.9.6"
71 changes: 65 additions & 6 deletions src/FSharpx.Collections/FSharpx.Collections.fsproj
Original file line number Diff line number Diff line change
Expand Up @@ -79,12 +79,6 @@
<Reference Include="FSharp.Core, Version=$(TargetFSharpCoreVersion), Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" Condition="'$(TargetFrameworkProfile)' == ''">
<Private>False</Private>
</Reference>
<Reference Include="FSharp.Core" Condition="'$(TargetFrameworkProfile)' != ''">
<Private>False</Private>
<Name>FSharp.Core</Name>
<AssemblyName>FSharp.Core.dll</AssemblyName>
<HintPath>$(MSBuildExtensionsPath32)\..\Reference Assemblies\Microsoft\FSharp\.NETPortable\$(TargetFSharpCoreVersion)\FSharp.Core.dll</HintPath>
</Reference>
<Reference Include="mscorlib" />
<Reference Include="System" />
<Reference Include="System.Core" />
Expand All @@ -97,4 +91,69 @@
</Target>
-->
<Import Project="$(SolutionDir).paket\paket.targets" />
<Choose>
<When Condition="$(TargetFrameworkIdentifier) == '.NETFramework' And ($(TargetFrameworkVersion) == 'v4.0' Or $(TargetFrameworkVersion) == 'v4.5' Or $(TargetFrameworkVersion) == 'v4.5.1' Or $(TargetFrameworkVersion) == 'v4.5.2' Or $(TargetFrameworkVersion) == 'v4.5.3')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\net40\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="$(TargetFrameworkIdentifier) == 'MonoAndroid'">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\MonoAndroid\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="$(TargetFrameworkIdentifier) == 'MonoTouch'">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\MonoTouch\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="($(TargetFrameworkIdentifier) == '.NETCore') Or ($(TargetFrameworkProfile) == 'Profile7') Or ($(TargetFrameworkProfile) == 'Profile44')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\portable-net45+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="($(TargetFrameworkIdentifier) == 'Silverlight' And $(TargetFrameworkVersion) == 'v5.0') Or ($(TargetFrameworkProfile) == 'Profile24') Or ($(TargetFrameworkProfile) == 'Profile47')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\portable-net45+sl5+netcore45+MonoAndroid1+MonoTouch1\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhone' And ($(TargetFrameworkVersion) == 'v8.0' Or $(TargetFrameworkVersion) == 'v8.1')) Or ($(TargetFrameworkProfile) == 'Profile31') Or ($(TargetFrameworkProfile) == 'Profile49') Or ($(TargetFrameworkProfile) == 'Profile78')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
<When Condition="($(TargetFrameworkIdentifier) == 'WindowsPhoneApp') Or ($(TargetFrameworkProfile) == 'Profile32') Or ($(TargetFrameworkProfile) == 'Profile84') Or ($(TargetFrameworkProfile) == 'Profile111') Or ($(TargetFrameworkProfile) == 'Profile151') Or ($(TargetFrameworkProfile) == 'Profile157') Or ($(TargetFrameworkProfile) == 'Profile259')">
<ItemGroup>
<Reference Include="FSharp.Core">
<HintPath>..\..\packages\FSharp.Core\lib\portable-net45+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1\FSharp.Core.dll</HintPath>
<Private>True</Private>
<Paket>True</Paket>
</Reference>
</ItemGroup>
</When>
</Choose>
</Project>
4 changes: 3 additions & 1 deletion src/FSharpx.Collections/PersistentHashMap.fs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
// vector implementation ported from https://github.com/clojure/clojure/blob/master/src/jvm/clojure/lang/APersistentMap.java

namespace FSharpx.Collections

#if FX_NO_THREAD
#else
open System.Threading
open System.Collections.Generic

Expand Down Expand Up @@ -717,3 +718,4 @@ module PersistentHashMap =
for (key,value) in map do
ret <- ret.Add(key,f value)
ret.persistent()
#endif
5 changes: 4 additions & 1 deletion src/FSharpx.Collections/PersistentVector.fs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
namespace FSharpx.Collections

open FSharpx.Collections
#if FX_NO_THREAD
#else
open System.Threading

type Node(thread,array:obj[]) =
Expand Down Expand Up @@ -461,4 +463,5 @@ module PersistentVector =

let inline windowSeq windowLength (items : 'T seq) =
if windowLength < 1 then invalidArg "windowLength" "length is less than 1"
else (Seq.fold (windowFun windowLength) (empty.Conj empty<'T>) items)
else (Seq.fold (windowFun windowLength) (empty.Conj empty<'T>) items)
#endif
6 changes: 4 additions & 2 deletions src/FSharpx.Collections/PersistentVector.fsi
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
namespace FSharpx.Collections

#if FX_NO_THREAD
#else
/// PersistentVector is an ordered linear structure implementing the inverse of the List signature,
/// (last, initial, conj) in place of (head, tail, cons). Indexed lookup or update
/// (returning a new immutable instance of Vector) of any element is O(log32n). Length is O(1).
Expand Down Expand Up @@ -144,4 +145,5 @@ module PersistentVector =
val inline tryUpdateNth : int -> int -> 'T -> PersistentVector<PersistentVector<'T>> -> PersistentVector<PersistentVector<'T>> option

/// O(n). Returns a vector of vectors of given length from the seq. Result may be a jagged vector.
val inline windowSeq : int -> seq<'T> -> PersistentVector<PersistentVector<'T>>
val inline windowSeq : int -> seq<'T> -> PersistentVector<PersistentVector<'T>>
#endif
7 changes: 5 additions & 2 deletions src/FSharpx.Collections/RandomAccessList.fs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ module internal Literals2 =

open FSharpx
open System.Threading

#if FX_NO_THREAD
#else
type NodeR(thread,array:obj[]) =
let thread = thread
new() = NodeR(ref null,Array.create Literals2.blockSize null)
Expand Down Expand Up @@ -395,4 +396,6 @@ module RandomAccessList =

let inline update i (x : 'T) (randomAccessList : 'T RandomAccessList) = randomAccessList.Update(i, x)

let inline tryUpdate i (x : 'T) (randomAccessList : 'T RandomAccessList) = randomAccessList.TryUpdate(i, x)
let inline tryUpdate i (x : 'T) (randomAccessList : 'T RandomAccessList) = randomAccessList.TryUpdate(i, x)

#endif
5 changes: 4 additions & 1 deletion src/FSharpx.Collections/RandomAccessList.fsi
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
namespace FSharpx.Collections

#if FX_NO_THREAD
#else
/// RandomAccessList is an ordered linear structure implementing the List signature
/// (head, tail, cons), as well as inspection (lookup) and update (returning a new
/// immutable instance) of any element in the structure by index. Ordering is by insertion history.
Expand Down Expand Up @@ -116,4 +118,5 @@ module RandomAccessList =
val inline update : int -> 'T -> RandomAccessList<'T> -> RandomAccessList<'T>

/// O(log32n). Returns option random access list that contains the given value at the index.
val inline tryUpdate : int -> 'T -> RandomAccessList<'T> -> RandomAccessList<'T> option
val inline tryUpdate : int -> 'T -> RandomAccessList<'T> -> RandomAccessList<'T> option
#endif
1 change: 1 addition & 0 deletions src/FSharpx.Collections/paket.references
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FSharp.Core

0 comments on commit b143bdd

Please sign in to comment.