You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by we...@apache.org on 2015/01/29 21:43:15 UTC
[31/31] incubator-reef git commit: [REEF-97] Add the REEF.NET code
base
[REEF-97] Add the REEF.NET code base
The REEF.Net REEF code is now found in the lang/cs/ folder.
JIRA: [REEF-97] https://issues.apache.org/jira/browse/REEF-97
Pull Request: This closes #56
Project: http://git-wip-us.apache.org/repos/asf/incubator-reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-reef/commit/2ae282de
Tree: http://git-wip-us.apache.org/repos/asf/incubator-reef/tree/2ae282de
Diff: http://git-wip-us.apache.org/repos/asf/incubator-reef/diff/2ae282de
Branch: refs/heads/master
Commit: 2ae282de19a1a6dec2f8563936a3fac19232c76f
Parents: 5cc6071
Author: Julia Wang <ju...@microsoft.com>
Authored: Fri Jan 23 13:34:36 2015 -0800
Committer: Markus Weimer <we...@apache.org>
Committed: Thu Jan 29 12:39:17 2015 -0800
----------------------------------------------------------------------
lang/cs/.gitignore | 10 +
lang/cs/.nuget/NuGet.Config | 24 +
lang/cs/.nuget/NuGet.targets | 162 +++
lang/cs/ReefDotNet.sln | 161 +++
.../CLRBridgeClient/CLRBridgeClient.cs | 148 +++
.../CLRBridgeClient/CLRBridgeClient.csproj | 114 ++
.../CLRBridgeClient/Properties/AssemblyInfo.cs | 55 +
.../reef-applications/CLRBridgeClient/run.cmd | 45 +
.../reef-applications/Evaluator/Evaluator.cs | 260 ++++
.../Evaluator/Evaluator.csproj | 105 ++
.../Evaluator/Properties/AssemblyInfo.cs | 55 +
.../reef-applications/Evaluator/packages.config | 22 +
.../ReefCommon/ClientJobStatusHandler.cs | 142 +++
.../REEF/reef-common/ReefCommon/Constants.cs | 38 +
.../EvaluatorHeartBeatSanityChecker.cs | 55 +
.../reef-common/ReefCommon/FailedRuntime.cs | 49 +
.../ReefCommon/IContextAndTaskSubmittable.cs | 55 +
.../ReefCommon/IContextSubmittable.cs | 42 +
.../ReefCommon/IJobMessageObserver.cs | 30 +
.../reef-common/ReefCommon/ITaskSubmittable.cs | 35 +
.../ReefCommon/Properties/AssemblyInfo.cs | 55 +
.../reef-common/ReefCommon/ReefCommon.csproj | 215 ++++
.../ReefCommon/api/AbstractFailure.cs | 142 +++
.../ReefCommon/api/IAbstractFailure.cs | 25 +
.../REEF/reef-common/ReefCommon/api/IFailure.cs | 57 +
.../ReefCommon/api/IResourceLaunchHandler.cs | 28 +
.../ReefCommon/api/IResourceReleaseHandler.cs | 28 +
.../ReefCommon/api/IResourceRequestHandler.cs | 28 +
.../ReefCommon/avro/AvroDriverInfo.cs | 65 +
.../ReefCommon/avro/AvroHttpRequest.cs | 79 ++
.../ReefCommon/avro/AvroHttpSerializer.cs | 36 +
.../ReefCommon/avro/AvroJsonSerializer.cs | 52 +
.../ReefCommon/avro/AvroReefServiceInfo.cs | 55 +
.../ReefCommon/catalog/INodeDescriptor.cs | 36 +
.../ReefCommon/catalog/IRackDescriptor.cs | 25 +
.../ReefCommon/catalog/IResourceCatalog.cs | 37 +
.../ReefCommon/catalog/NodeDescriptorImpl.cs | 116 ++
.../ReefCommon/catalog/RackDescriptorImpl.cs | 75 ++
.../ReefCommon/catalog/ResourceCatalogImpl.cs | 95 ++
.../ReefCommon/catalog/capabilities/CPU.cs | 60 +
.../catalog/capabilities/ICapability.cs | 25 +
.../ReefCommon/catalog/capabilities/RAM.cs | 51 +
.../ReefCommon/context/ContextMessage.cs | 66 +
.../ReefCommon/context/IContextMessage.cs | 28 +
.../context/IContextMessageHandler.cs | 27 +
.../ReefCommon/context/IContextMessageSource.cs | 28 +
.../DefaultLocalHttpDriverConnection.cs | 45 +
.../DefaultYarnClusterHttpDriverConnection.cs | 44 +
.../DefaultYarnOneBoxHttpDriverConnection.cs | 46 +
.../ReefCommon/evaluator/DriverInformation.cs | 136 ++
.../evaluator/EvaluatorOperationState.cs | 39 +
.../evaluator/EvaluatorRuntimeState.cs | 39 +
.../ReefCommon/evaluator/EvaluatorType.cs | 39 +
.../ReefCommon/evaluator/IDriverConnection.cs | 26 +
.../ReefCommon/events/IContextStart.cs | 26 +
.../ReefCommon/events/IContextStop.cs | 26 +
.../ReefCommon/exceptions/EvaluatorException.cs | 75 ++
.../ReefCommon/exceptions/JobException.cs | 58 +
.../reef-common/ReefCommon/io/INameClient.cs | 71 ++
.../reef-common/ReefCommon/io/NameAssignment.cs | 60 +
.../ReefCommon/io/NamingConfiguration.cs | 45 +
.../ReefCommon/io/NamingConfigurationOptions.cs | 36 +
.../REEF/reef-common/ReefCommon/packages.config | 26 +
.../ReefCommon/protobuf/cs/ClientRuntime.pb.cs | 147 +++
.../ReefCommon/protobuf/cs/DriverRuntime.pb.cs | 339 +++++
.../protobuf/cs/EvaluatorRunTime.pb.cs | 305 +++++
.../ReefCommon/protobuf/cs/ReefProtocol.pb.cs | 78 ++
.../ReefCommon/protobuf/cs/ReefService.pb.cs | 393 ++++++
.../ReefCommon/protobuf/cs/Serializer.cs | 130 ++
.../cs/codec/EvaluatorHeartbeatProtoCodec.cs | 41 +
.../protobuf/cs/codec/REEFMessageCodec.cs | 37 +
.../protobuf/proto/client_runtime.proto | 56 +
.../protobuf/proto/driver_runtime.proto | 90 ++
.../protobuf/proto/evaluator_runtime.proto | 91 ++
.../protobuf/proto/reef_protocol.proto | 44 +
.../protobuf/proto/reef_service_protos.proto | 117 ++
.../ReefCommon/runtime/MachineStatus.cs | 137 +++
.../ReefCommon/runtime/evaluator/Constants.cs | 40 +
.../runtime/evaluator/EvaluatorRuntime.cs | 255 ++++
.../runtime/evaluator/EvaluatorSettings.cs | 185 +++
.../runtime/evaluator/HeartBeatManager.cs | 390 ++++++
.../evaluator/ReefMessageProtoObserver.cs | 140 +++
.../context/ContextClientCodeException.cs | 70 ++
.../evaluator/context/ContextConfiguration.cs | 140 +++
.../evaluator/context/ContextLifeCycle.cs | 105 ++
.../runtime/evaluator/context/ContextManager.cs | 362 ++++++
.../runtime/evaluator/context/ContextRuntime.cs | 478 ++++++++
.../evaluator/context/ContextStartImpl.cs | 33 +
.../evaluator/context/ContextStopImpl.cs | 33 +
.../evaluator/context/RootContextLauncher.cs | 125 ++
.../runtime/evaluator/task/CloseEventImpl.cs | 48 +
.../runtime/evaluator/task/DriverMessageImpl.cs | 52 +
.../runtime/evaluator/task/SuspendEventImpl.cs | 48 +
.../evaluator/task/TaskClientCodeException.cs | 65 +
.../runtime/evaluator/task/TaskLifeCycle.cs | 69 ++
.../runtime/evaluator/task/TaskRuntime.cs | 328 +++++
.../runtime/evaluator/task/TaskStartImpl.cs | 34 +
.../runtime/evaluator/task/TaskState.cs | 40 +
.../runtime/evaluator/task/TaskStatus.cs | 330 +++++
.../runtime/evaluator/task/TaskStopImpl.cs | 35 +
.../evaluator/utils/EvaluatorConfigurations.cs | 121 ++
.../runtime/evaluator/utils/RemoteManager.cs | 25 +
.../reef-common/ReefCommon/services/IService.cs | 25 +
.../ReefCommon/services/ServiceConfiguration.cs | 83 ++
.../services/ServicesConfigurationOptions.cs | 31 +
.../ReefCommon/tasks/IDriverMessageHandler.cs | 31 +
.../ReefCommon/tasks/IRunningTask.cs | 53 +
.../REEF/reef-common/ReefCommon/tasks/ITask.cs | 28 +
.../ReefCommon/tasks/ITaskMessageSource.cs | 31 +
.../ReefCommon/tasks/TaskConfiguration.cs | 148 +++
.../tasks/TaskConfigurationOptions.cs | 69 ++
.../reef-common/ReefCommon/tasks/TaskMessage.cs | 68 +
.../defaults/DefaultDriverMessageHandler.cs | 42 +
.../tasks/defaults/DefaultTaskMessageSource.cs | 49 +
.../ReefCommon/tasks/events/ICloseEvent.cs | 28 +
.../ReefCommon/tasks/events/IDriverMessage.cs | 28 +
.../ReefCommon/tasks/events/ISuspendEvent.cs | 25 +
.../ReefCommon/tasks/events/ITaskStart.cs | 26 +
.../ReefCommon/tasks/events/ITaskStop.cs | 26 +
.../reef-common/ReefDriver/ClientManager.cs | 43 +
.../REEF/reef-common/ReefDriver/Constants.cs | 114 ++
.../ReefDriver/DriverConfigGenerator.cs | 151 +++
.../ReefDriver/DriverConfigurationSettings.cs | 135 ++
.../reef-common/ReefDriver/DriverManager.cs | 540 ++++++++
.../ReefDriver/DriverRuntimeConfiguration.cs | 64 +
.../DriverRuntimeConfigurationOptions.cs | 42 +
.../ReefDriver/DriverSubmissionSettings.cs | 185 +++
.../reef-common/ReefDriver/EvaluatorManager.cs | 655 ++++++++++
.../REEF/reef-common/ReefDriver/FailedJob.cs | 51 +
.../REEF/reef-common/ReefDriver/IDriver.cs | 28 +
.../reef-common/ReefDriver/IStartHandler.cs | 26 +
.../ReefDriver/Properties/AssemblyInfo.cs | 55 +
.../reef-common/ReefDriver/ReefDriver.csproj | 208 ++++
.../ReefDriver/bridge/BridgeLogger.cs | 65 +
.../ReefDriver/bridge/ClrClientHelper.cs | 175 +++
.../ReefDriver/bridge/ClrHandlerHelper.cs | 177 +++
.../ReefDriver/bridge/ClrSystemHandler.cs | 53 +
.../bridge/ClrSystemHandlerWrapper.cs | 273 +++++
.../ReefDriver/bridge/DriverBridge.cs | 321 +++++
.../bridge/DriverBridgeConfiguration.cs | 273 +++++
.../bridge/DriverBridgeConfigurationOptions.cs | 154 +++
.../ReefDriver/bridge/HttpMessage.cs | 60 +
.../ReefDriver/bridge/HttpServerHandler.cs | 165 +++
.../ReefDriver/bridge/HttpServerPort.cs | 33 +
.../ReefDriver/bridge/IHttpHandler.cs | 39 +
.../ReefDriver/bridge/IHttpMessage.cs | 33 +
.../ReefDriver/bridge/ReefHttpRequest.cs | 49 +
.../ReefDriver/bridge/ReefHttpResponse.cs | 30 +
.../bridge/clr2java/IActiveContextClr2Java.cs | 36 +
.../clr2java/IAllocatedEvaluaotrClr2Java.cs | 42 +
.../bridge/clr2java/IClosedContextClr2Java.cs | 34 +
.../ReefDriver/bridge/clr2java/IClr2Java.cs | 26 +
.../clr2java/ICompletedEvaluatorClr2Java.cs | 30 +
.../bridge/clr2java/ICompletedTaskClr2Java.cs | 28 +
.../bridge/clr2java/IContextMessageClr2Java.cs | 30 +
.../clr2java/IEvaluatorRequestorClr2Java.cs | 28 +
.../bridge/clr2java/IFailedContextClr2Java.cs | 36 +
.../bridge/clr2java/IFailedEvaluatorClr2Java.cs | 30 +
.../bridge/clr2java/IFailedTaskClr2Java.cs | 28 +
.../clr2java/IHttpServerBridgeClr2Java.cs | 34 +
.../bridge/clr2java/IRunningTaskClr2Java.cs | 30 +
.../bridge/clr2java/ISuspendedTaskClr2Java.cs | 42 +
.../bridge/clr2java/ITaskMessageClr2Java.cs | 26 +
.../ReefDriver/bridge/events/ActiveContext.cs | 117 ++
.../bridge/events/AllocatedEvaluator.cs | 175 +++
.../ReefDriver/bridge/events/ClosedContext.cs | 98 ++
.../bridge/events/CompletedEvaluator.cs | 60 +
.../ReefDriver/bridge/events/CompletedTask.cs | 75 ++
.../ReefDriver/bridge/events/ContextMessage.cs | 53 +
.../bridge/events/EvaluatorRequstor.cs | 95 ++
.../ReefDriver/bridge/events/FailedContext.cs | 110 ++
.../ReefDriver/bridge/events/FailedEvaluator.cs | 72 ++
.../ReefDriver/bridge/events/FailedTask.cs | 140 +++
.../ReefDriver/bridge/events/RunningTask.cs | 97 ++
.../ReefDriver/bridge/events/SuspendedTask.cs | 81 ++
.../ReefDriver/bridge/events/TaskMessage.cs | 64 +
.../ReefDriver/context/ContextConfiguration.cs | 93 ++
.../context/ContextConfigurationOptions.cs | 60 +
.../ReefDriver/context/EvaluatorContext.cs | 148 +++
.../ReefDriver/context/IActiveContext.cs | 29 +
.../ReefDriver/context/IClosedContext.cs | 26 +
.../reef-common/ReefDriver/context/IContext.cs | 45 +
.../ReefDriver/context/IFailedContext.cs | 28 +
.../defaults/DefaultContextMessageSource.cs | 42 +
.../defaults/DefaultContextStartHandler.cs | 48 +
.../defaults/DefaultContextStopHandler.cs | 48 +
.../ReefDriver/contract/IBridgeContract.cs | 26 +
.../defaults/DefaultClientCloseHandler.cs | 53 +
.../DefaultClientCloseWithMessageHandler.cs | 54 +
.../defaults/DefaultClientMessageHandler.cs | 54 +
.../defaults/DefaultContextActiveHandler.cs | 56 +
.../defaults/DefaultContextClosureHandler.cs | 55 +
.../defaults/DefaultContextFailureHandler.cs | 51 +
.../defaults/DefaultContextMessageHandler.cs | 55 +
.../defaults/DefaultCustomTraceListener.cs | 45 +
.../DefaultDriverRestartContextActiveHandler.cs | 56 +
.../defaults/DefaultDriverRestartHandler.cs | 54 +
.../DefaultDriverRestartTaskRunningHandler.cs | 54 +
.../DefaultEvaluatorAllocationHandler.cs | 57 +
.../DefaultEvaluatorCompletionHandler.cs | 54 +
.../defaults/DefaultEvaluatorFailureHandler.cs | 55 +
.../DefaultEvaluatorRequestorHandler.cs | 61 +
.../ReefDriver/defaults/DefaultHttpHandler.cs | 49 +
.../defaults/DefaultTaskCompletionHandler.cs | 60 +
.../defaults/DefaultTaskFailureHandler.cs | 53 +
.../defaults/DefaultTaskMessageHandler.cs | 55 +
.../defaults/DefaultTaskRunningHandler.cs | 54 +
.../defaults/DefaultTaskSuspensionHandler.cs | 53 +
.../evaluator/EvaluatorDescriptorImpl.cs | 218 ++++
.../ReefDriver/evaluator/EvaluatorRequest.cs | 108 ++
.../evaluator/EvaluatorRequestBuilder.cs | 60 +
.../ReefDriver/evaluator/IAllocatedEvaluator.cs | 55 +
.../ReefDriver/evaluator/ICompletedEvaluator.cs | 30 +
.../evaluator/IEvaluatorDescriptor.cs | 57 +
.../ReefDriver/evaluator/IEvaluatorRequest .cs | 42 +
.../ReefDriver/evaluator/IEvaluatorRequestor.cs | 47 +
.../ReefDriver/evaluator/IFailedEvaluator.cs | 41 +
.../REEF/reef-common/ReefDriver/packages.config | 24 +
.../ReefDriver/task/ICompletedTask.cs | 29 +
.../reef-common/ReefDriver/task/IFailedTask.cs | 30 +
.../reef-common/ReefDriver/task/IRunningTask.cs | 65 +
.../ReefDriver/task/ISuspendedTask.cs | 29 +
.../reef-common/ReefDriver/task/ITaskMessage.cs | 28 +
.../ReefDriver/task/RunningTaskImpl.cs | 127 ++
.../HelloCLRBridge/HelloCLRBridge.csproj | 118 ++
.../HelloCLRBridge/HelloTraceListener.cs | 48 +
.../HelloCLRBridge/Properties/AssemblyInfo.cs | 55 +
.../AnotherHelloAllocatedEvaluatorHandler.cs | 48 +
.../handlers/HelloActiveContextHandler.cs | 82 ++
.../handlers/HelloAllocatedEvaluatorHandler.cs | 131 ++
.../handlers/HelloCompletedEvaluatorHandler.cs | 59 +
.../HelloDriverRestartActiveContextHandler.cs | 69 ++
.../HelloDriverRestartRunningTaskHandler.cs | 67 +
.../handlers/HelloEvaluatorRequestorHandler.cs | 65 +
.../handlers/HelloFailedEvaluatorHandler.cs | 68 +
.../handlers/HelloFailedTaskHandler.cs | 67 +
.../HelloCLRBridge/handlers/HelloHttpHandler.cs | 51 +
.../handlers/HelloRestartHandler.cs | 48 +
.../handlers/HelloRunningTaskHandler.cs | 65 +
.../handlers/HelloSimpleEventHandlers.cs | 421 +++++++
.../handlers/HelloStartHandler.cs | 64 +
.../handlers/HelloTaskMessageHandler.cs | 54 +
.../Properties/AssemblyInfo.cs | 55 +
.../RetainedEvalCLRBridge.csproj | 98 ++
.../handler/RetainedEvalActiveContextHandler.cs | 56 +
.../RetainedEvalAllocatedEvaluatorHandler.cs | 48 +
.../RetainedEvalEvaluatorRequestorHandler.cs | 48 +
.../handler/RetainedEvalStartHandler.cs | 90 ++
.../Naming/Codec/NamingLookupRequestCodec.cs | 41 +
.../Naming/Codec/NamingLookupResponseCodec.cs | 55 +
.../Naming/Codec/NamingRegisterRequestCodec.cs | 47 +
.../Naming/Codec/NamingRegisterResponseCodec.cs | 44 +
.../Codec/NamingUnregisterRequestCodec.cs | 41 +
.../Naming/Contracts/AvroNamingAssignment.cs | 62 +
.../Naming/Contracts/AvroNamingLookupRequest.cs | 51 +
.../Contracts/AvroNamingLookupResponse.cs | 51 +
.../Contracts/AvroNamingRegisterRequest.cs | 62 +
.../Contracts/AvroNamingUnRegisterRequest.cs | 50 +
.../Network/Naming/Events/NamingEvent.cs | 35 +
.../Naming/Events/NamingGetAllRequest.cs | 29 +
.../Naming/Events/NamingGetAllResponse.cs | 38 +
.../Naming/Events/NamingLookupRequest.cs | 36 +
.../Naming/Events/NamingLookupResponse.cs | 39 +
.../Naming/Events/NamingRegisterRequest.cs | 36 +
.../Naming/Events/NamingRegisterResponse.cs | 34 +
.../Naming/Events/NamingUnregisterRequest.cs | 34 +
.../Naming/Events/NamingUnregisterResponse.cs | 34 +
.../REEF/reef-io/Network/Naming/INameServer.cs | 69 ++
.../REEF/reef-io/Network/Naming/NameClient.cs | 279 +++++
.../reef-io/Network/Naming/NameLookupClient.cs | 97 ++
.../Network/Naming/NameRegisterClient.cs | 67 +
.../REEF/reef-io/Network/Naming/NameServer.cs | 196 +++
.../Network/Naming/NamingConfiguration.cs | 50 +
.../Naming/NamingConfigurationOptions.cs | 41 +
.../Observers/NamingGetAllRequestObserver.cs | 47 +
.../Observers/NamingLookupRequestObserver.cs | 50 +
.../Observers/NamingRegisterRequestObserver.cs | 51 +
.../NamingUnregisterRequestObserver.cs | 47 +
.../Source/REEF/reef-io/Network/Network.csproj | 159 +++
.../NetworkService/Codec/ControlMessageCodec.cs | 43 +
.../NetworkService/Codec/NsMessageCodec.cs | 85 ++
.../NetworkService/Codec/NsMessageProto.cs | 63 +
.../Network/NetworkService/ControlMessage.cs | 39 +
.../Network/NetworkService/IConnection.cs | 40 +
.../Network/NetworkService/INetworkService.cs | 58 +
.../Network/NetworkService/NetworkService.cs | 156 +++
.../NetworkServiceConfiguration.cs | 57 +
.../NetworkService/NetworkServiceOptions.cs | 33 +
.../Network/NetworkService/NsConnection.cs | 139 +++
.../reef-io/Network/NetworkService/NsMessage.cs | 71 ++
.../reef-io/Network/Properties/AssemblyInfo.cs | 55 +
.../Utilities/BlockingCollectionExtensions.cs | 78 ++
.../REEF/reef-io/Network/Utilities/Utils.cs | 76 ++
.../Source/REEF/reef-io/Network/packages.config | 26 +
.../reef-tasks/Tasks/FailedTask/FailedTask.cs | 44 +
.../reef-tasks/Tasks/HelloTask/HelloService.cs | 58 +
.../reef-tasks/Tasks/HelloTask/HelloTask.cs | 123 ++
.../Tasks/HelloTask/HelloTaskMessage.cs | 49 +
.../reef-tasks/Tasks/Properties/AssemblyInfo.cs | 55 +
.../reef-tasks/Tasks/ShellTask/ShellTask.cs | 90 ++
.../Tasks/StreamingTasks/StreamTask1.cs | 66 +
.../Tasks/StreamingTasks/StreamTask2.cs | 50 +
.../Source/REEF/reef-tasks/Tasks/Tasks.csproj | 93 ++
lang/cs/Source/TANG/Examples/AnonymousType.cs | 57 +
lang/cs/Source/TANG/Examples/CheckChild.cs | 37 +
.../Examples/DocumentedLocalNamedParameter.cs | 43 +
lang/cs/Source/TANG/Examples/Examples.csproj | 95 ++
lang/cs/Source/TANG/Examples/FileNames.cs | 39 +
.../TANG/Examples/ForksInjectorInConstructor.cs | 59 +
lang/cs/Source/TANG/Examples/GenericArgument.cs | 48 +
.../Source/TANG/Examples/GenericAsArgument.cs | 44 +
.../TANG/Examples/NamedParameterConstructors.cs | 40 +
.../TANG/Examples/Properties/AssemblyInfo.cs | 55 +
lang/cs/Source/TANG/Examples/ShortNameFooAB.cs | 38 +
.../Source/TANG/Examples/SimpleConstructors.cs | 42 +
lang/cs/Source/TANG/Examples/TestClasses.cs | 57 +
lang/cs/Source/TANG/Examples/Timer.cs | 46 +
lang/cs/Source/TANG/Examples/TweetExample.cs | 90 ++
.../Tang/Annotations/DefaultImplementation.cs | 43 +
lang/cs/Source/TANG/Tang/Annotations/Inject.cs | 28 +
lang/cs/Source/TANG/Tang/Annotations/Name.cs | 28 +
.../TANG/Tang/Annotations/NamedParameter.cs | 44 +
.../Source/TANG/Tang/Annotations/Parameter.cs | 39 +
lang/cs/Source/TANG/Tang/Annotations/Unit.cs | 29 +
.../TANG/Tang/Exceptions/BindException.cs | 36 +
.../Tang/Exceptions/ClassHierarchyException.cs | 34 +
.../Tang/Exceptions/IllegalStateException.cs | 40 +
.../TANG/Tang/Exceptions/InjectionException.cs | 35 +
.../Tang/Exceptions/NameResolutionException.cs | 37 +
.../TANG/Tang/Exceptions/ParseException.cs | 36 +
.../AvroConfiguration.cs | 47 +
.../ConfigurationEntry.cs | 44 +
.../Tang/Formats/AvroConfigurationSerializer.cs | 324 +++++
.../TANG/Tang/Formats/ConfigurationFile.cs | 371 ++++++
.../TANG/Tang/Formats/ConfigurationModule.cs | 302 +++++
.../Tang/Formats/ConfigurationModuleBuilder.cs | 519 ++++++++
.../Tang/Formats/IConfigurationSerializer.cs | 49 +
lang/cs/Source/TANG/Tang/Formats/IImpl.cs | 31 +
lang/cs/Source/TANG/Tang/Formats/IParam.cs | 31 +
.../cs/Source/TANG/Tang/Formats/OptionalImpl.cs | 31 +
.../TANG/Tang/Formats/OptionalParameter.cs | 31 +
lang/cs/Source/TANG/Tang/Formats/Provides.cs | 31 +
.../cs/Source/TANG/Tang/Formats/RequiredImpl.cs | 31 +
.../TANG/Tang/Formats/RequiredParameter.cs | 31 +
.../ClassHierarchy/AbstractNode.cs | 131 ++
.../ClassHierarchy/ClassHierarchyImpl.cs | 526 ++++++++
.../ClassHierarchy/ClassNodeImpl.cs | 157 +++
.../ClassHierarchy/ConstructorArgImpl.cs | 97 ++
.../ClassHierarchy/ConstructorDefImpl.cs | 203 +++
.../ClassHierarchy/NamedParameterNodeImpl.cs | 88 ++
.../ClassHierarchy/NodeFactory.cs | 315 +++++
.../ClassHierarchy/PackageNodeImpl.cs | 49 +
.../ClassHierarchy/ParameterParser.cs | 199 +++
.../Configuration/ConfigurationBuilderImpl.cs | 364 ++++++
.../Configuration/ConfigurationImpl.cs | 122 ++
.../Configuration/Configurations.cs | 55 +
.../Configuration/CsConfigurationBuilderImpl.cs | 489 ++++++++
.../Configuration/CsConfigurationImpl.cs | 34 +
.../InjectionPlan/Constructor.cs | 217 ++++
.../Implementations/InjectionPlan/CsInstance.cs | 90 ++
.../InjectionPlan/InjectionFuture.cs | 100 ++
.../InjectionPlan/InjectionFuturePlan.cs | 73 ++
.../InjectionPlan/InjectionPlan.cs | 222 ++++
.../InjectionPlan/InjectorImpl.cs | 1091 +++++++++++++++++
.../InjectionPlan/ListInjectionPlan.cs | 117 ++
.../InjectionPlan/SetInjectionPlan.cs | 122 ++
.../Implementations/InjectionPlan/Subplan.cs | 235 ++++
.../Tang/Implementations/Tang/TangFactory.cs | 30 +
.../TANG/Tang/Implementations/Tang/TangImpl.cs | 201 +++
lang/cs/Source/TANG/Tang/Interface/IAspect.cs | 31 +
.../TANG/Tang/Interface/IClassHierarchy.cs | 30 +
.../TANG/Tang/Interface/IConfiguration.cs | 49 +
.../Tang/Interface/IConfigurationBuilder.cs | 54 +
.../TANG/Tang/Interface/ICsClassHierarchy.cs | 33 +
.../Tang/Interface/ICsConfigurationBuilder.cs | 121 ++
.../ICsInternalConfigurationBuilder.cs | 70 ++
.../TANG/Tang/Interface/IExternalConstructor.cs | 26 +
lang/cs/Source/TANG/Tang/Interface/IInjector.cs | 180 +++
lang/cs/Source/TANG/Tang/Interface/ITang.cs | 46 +
.../Source/TANG/Tang/Properties/AssemblyInfo.cs | 55 +
.../Protobuf/ProtocolBufferClassHierarchy.cs | 473 +++++++
.../Protobuf/ProtocolBufferInjectionPlan.cs | 204 +++
.../TANG/Tang/Protobuf/class_hierarchy.cs | 274 +++++
.../Source/TANG/Tang/Protobuf/injection_plan.cs | 132 ++
lang/cs/Source/TANG/Tang/Tang.csproj | 179 +++
lang/cs/Source/TANG/Tang/Types/IClassNode.cs | 37 +
.../Source/TANG/Tang/Types/IConstructorArg.cs | 32 +
.../Source/TANG/Tang/Types/IConstructorDef.cs | 34 +
.../TANG/Tang/Types/INamedParameterNode.cs | 38 +
lang/cs/Source/TANG/Tang/Types/INode.cs | 37 +
lang/cs/Source/TANG/Tang/Types/IPackageNode.cs | 24 +
lang/cs/Source/TANG/Tang/Types/ITraversable.cs | 27 +
.../TANG/Tang/Util/AbstractMonotonicMultiMap.cs | 263 ++++
lang/cs/Source/TANG/Tang/Util/AssemblyLoader.cs | 70 ++
lang/cs/Source/TANG/Tang/Util/GenericType.cs | 49 +
.../Source/TANG/Tang/Util/MonotonicHashMap.cs | 83 ++
.../Source/TANG/Tang/Util/MonotonicHashSet.cs | 131 ++
.../TANG/Tang/Util/MonotonicMultiHashMap.cs | 30 +
.../Source/TANG/Tang/Util/MonotonicMultiMap.cs | 30 +
lang/cs/Source/TANG/Tang/Util/MonotonicSet.cs | 106 ++
.../Source/TANG/Tang/Util/MonotonicTreeMap.cs | 68 +
.../TANG/Tang/Util/ReflectionUtilities.cs | 594 +++++++++
lang/cs/Source/TANG/Tang/Util/SetValuedKey.cs | 62 +
lang/cs/Source/TANG/Tang/packages.config | 24 +
.../ClassHierarchyBuilder.csproj | 90 ++
.../Tools/ClassHierarchyBuilder/Program.cs | 97 ++
.../Properties/AssemblyInfo.cs | 55 +
.../Tools/ReefAll/Properties/AssemblyInfo.cs | 55 +
lang/cs/Source/Tools/ReefAll/ReefAll.csproj | 102 ++
lang/cs/Source/Utilities/AvroUtils.cs | 61 +
lang/cs/Source/Utilities/ByteUtilities.cs | 45 +
.../Diagnostics/DiagnosticsMessages.cs | 42 +
.../Source/Utilities/Diagnostics/Exceptions.cs | 282 +++++
lang/cs/Source/Utilities/IIdentifiable.cs | 26 +
lang/cs/Source/Utilities/IMessage.cs | 33 +
.../Utilities/Logging/JavaLoggingSetting.cs | 39 +
lang/cs/Source/Utilities/Logging/Level.cs | 59 +
lang/cs/Source/Utilities/Logging/Logger.cs | 227 ++++
lang/cs/Source/Utilities/NetUtilities.cs | 51 +
lang/cs/Source/Utilities/Optional.cs | 116 ++
.../Source/Utilities/Properties/AssemblyInfo.cs | 55 +
lang/cs/Source/Utilities/Utilities.csproj | 97 ++
lang/cs/Source/Utilities/ValidationUtilities.cs | 42 +
lang/cs/Source/Utilities/packages.config | 23 +
lang/cs/Source/WAKE/Wake/AbstractEStage.cs | 42 +
lang/cs/Source/WAKE/Wake/IEStage.cs | 26 +
lang/cs/Source/WAKE/Wake/IEventHandler.cs | 34 +
lang/cs/Source/WAKE/Wake/IIdentifier.cs | 57 +
lang/cs/Source/WAKE/Wake/IIdentifierFactory.cs | 35 +
lang/cs/Source/WAKE/Wake/IObserverFactory.cs | 32 +
lang/cs/Source/WAKE/Wake/IStage.cs | 29 +
.../WAKE/Wake/Impl/LoggingEventHandler.cs | 53 +
.../Wake/Impl/MissingStartHandlerHandler.cs | 49 +
.../Source/WAKE/Wake/Impl/MultiEventHandler.cs | 65 +
lang/cs/Source/WAKE/Wake/Impl/PeriodicEvent.cs | 26 +
.../Source/WAKE/Wake/Impl/PubSubEventHandler.cs | 94 ++
.../Source/WAKE/Wake/Impl/SingleThreadStage.cs | 100 ++
lang/cs/Source/WAKE/Wake/Impl/SyncStage.cs | 48 +
.../cs/Source/WAKE/Wake/Impl/ThreadPoolStage.cs | 100 ++
lang/cs/Source/WAKE/Wake/Impl/TimerStage.cs | 66 +
.../Source/WAKE/Wake/Properties/AssemblyInfo.cs | 55 +
.../WAKE/Wake/Protobuf/RemoteProtocol.proto | 36 +
.../WAKE/Wake/Protobuf/WakeRemoteProtosGen.cs | 96 ++
lang/cs/Source/WAKE/Wake/RX/AbstractObserver.cs | 45 +
lang/cs/Source/WAKE/Wake/RX/AbstractRxStage.cs | 54 +
lang/cs/Source/WAKE/Wake/RX/IRxStage.cs | 28 +
.../cs/Source/WAKE/Wake/RX/IStaticObservable.cs | 31 +
lang/cs/Source/WAKE/Wake/RX/ISubject.cs | 31 +
.../Source/WAKE/Wake/RX/Impl/PubSubSubject.cs | 180 +++
lang/cs/Source/WAKE/Wake/RX/Impl/RxSyncStage.cs | 70 ++
.../WAKE/Wake/RX/Impl/RxThreadPoolStage.cs | 134 ++
.../cs/Source/WAKE/Wake/RX/Impl/RxTimerStage.cs | 67 +
.../Source/WAKE/Wake/RX/Impl/SimpleSubject.cs | 59 +
.../WAKE/Wake/RX/ObserverCompletedException.cs | 46 +
lang/cs/Source/WAKE/Wake/Remote/ICodec.cs | 34 +
.../cs/Source/WAKE/Wake/Remote/ICodecFactory.cs | 35 +
lang/cs/Source/WAKE/Wake/Remote/IDecoder.cs | 38 +
lang/cs/Source/WAKE/Wake/Remote/IEncoder.cs | 38 +
lang/cs/Source/WAKE/Wake/Remote/ILink.cs | 73 ++
lang/cs/Source/WAKE/Wake/Remote/IRemoteEvent.cs | 42 +
.../WAKE/Wake/Remote/IRemoteIdentifier.cs | 28 +
.../Wake/Remote/IRemoteIdentifierFactory.cs | 26 +
.../Source/WAKE/Wake/Remote/IRemoteManager.cs | 42 +
.../Source/WAKE/Wake/Remote/IRemoteMessage.cs | 39 +
.../WAKE/Wake/Remote/ISubscriptionManager.cs | 26 +
.../Source/WAKE/Wake/Remote/Impl/ByteCodec.cs | 41 +
.../WAKE/Wake/Remote/Impl/ByteCodecFactory.cs | 41 +
lang/cs/Source/WAKE/Wake/Remote/Impl/Channel.cs | 258 ++++
.../Wake/Remote/Impl/DefaultRemoteManager.cs | 338 +++++
.../Wake/Remote/Impl/DefaultRemoteMessage.cs | 34 +
.../WAKE/Wake/Remote/Impl/IPEndpointComparer.cs | 59 +
.../cs/Source/WAKE/Wake/Remote/Impl/IntCodec.cs | 42 +
lang/cs/Source/WAKE/Wake/Remote/Impl/Link.cs | 256 ++++
.../Source/WAKE/Wake/Remote/Impl/MultiCodec.cs | 89 ++
.../WAKE/Wake/Remote/Impl/MultiDecoder.cs | 110 ++
.../WAKE/Wake/Remote/Impl/MultiEncoder.cs | 87 ++
.../WAKE/Wake/Remote/Impl/ObserverContainer.cs | 132 ++
.../Source/WAKE/Wake/Remote/Impl/RemoteEvent.cs | 59 +
.../WAKE/Wake/Remote/Impl/RemoteEventCodec.cs | 43 +
.../WAKE/Wake/Remote/Impl/RemoteEventDecoder.cs | 39 +
.../WAKE/Wake/Remote/Impl/RemoteEventEncoder.cs | 43 +
.../Wake/Remote/Impl/RemoteEventEndpoint.cs | 42 +
.../Wake/Remote/Impl/SocketRemoteIdentifier.cs | 76 ++
.../Source/WAKE/Wake/Remote/Impl/StringCodec.cs | 46 +
.../WAKE/Wake/Remote/Impl/StringIdentifier.cs | 53 +
.../Wake/Remote/Impl/StringIdentifierFactory.cs | 41 +
.../WAKE/Wake/Remote/Impl/TransportClient.cs | 133 ++
.../WAKE/Wake/Remote/Impl/TransportEvent.cs | 42 +
.../WAKE/Wake/Remote/Impl/TransportServer.cs | 195 +++
.../WAKE/Wake/Remote/Proto/WakeRemoteProtos.cs | 76 ++
.../WAKE/Wake/Remote/RemoteConfiguration.cs | 57 +
.../WAKE/Wake/Remote/RemoteRuntimeException.cs | 54 +
lang/cs/Source/WAKE/Wake/Time/Event/Alarm.cs | 41 +
.../cs/Source/WAKE/Wake/Time/Event/StartTime.cs | 31 +
lang/cs/Source/WAKE/Wake/Time/Event/StopTime.cs | 31 +
lang/cs/Source/WAKE/Wake/Time/IClock.cs | 89 ++
.../WAKE/Wake/Time/Runtime/Event/ClientAlarm.cs | 34 +
.../WAKE/Wake/Time/Runtime/Event/IdleClock.cs | 28 +
.../Wake/Time/Runtime/Event/RuntimeAlarm.cs | 34 +
.../Wake/Time/Runtime/Event/RuntimeStart.cs | 28 +
.../WAKE/Wake/Time/Runtime/Event/RuntimeStop.cs | 37 +
lang/cs/Source/WAKE/Wake/Time/Runtime/ITimer.cs | 49 +
.../WAKE/Wake/Time/Runtime/LogicalTimer.cs | 55 +
.../Source/WAKE/Wake/Time/Runtime/RealTimer.cs | 64 +
.../WAKE/Wake/Time/Runtime/RuntimeClock.cs | 257 ++++
lang/cs/Source/WAKE/Wake/Time/Time.cs | 82 ++
lang/cs/Source/WAKE/Wake/Util/Actionable.cs | 42 +
lang/cs/Source/WAKE/Wake/Util/Disposable.cs | 63 +
.../Wake/Util/FixedThreadPoolTaskService.cs | 105 ++
lang/cs/Source/WAKE/Wake/Util/IStartable.cs | 32 +
lang/cs/Source/WAKE/Wake/Util/ITaskService.cs | 34 +
.../LimitedConcurrencyLevelTaskScheduler.cs | 187 +++
lang/cs/Source/WAKE/Wake/Util/NetworkUtils.cs | 66 +
.../WAKE/Wake/Util/SerializationHelper.cs | 46 +
lang/cs/Source/WAKE/Wake/Util/TaskExtensions.cs | 34 +
lang/cs/Source/WAKE/Wake/Util/TimeHelper.cs | 49 +
lang/cs/Source/WAKE/Wake/Wake.csproj | 214 ++++
.../cs/Source/WAKE/Wake/WakeRuntimeException.cs | 54 +
lang/cs/Source/WAKE/Wake/packages.config | 24 +
.../src/main/cs/Examples/P2p/IEventSource.cs | 35 +
.../Wake/src/main/cs/Examples/P2p/Pull2Push.cs | 103 ++
.../WAKE/Wake/src/main/cs/PeriodicEvent.cs | 23 +
lang/cs/Source/WAKE/Wake/testkey.snk | Bin 0 -> 596 bytes
.../Tests/ReefTests/ConfigFiles/evaluator.conf | Bin 0 -> 2837 bytes
.../EvaluatorConfigurationsTests.cs | 42 +
.../ReefTests/Evaluator.Tests/EvaluatorTests.cs | 94 ++
.../Functional.Tests/Bridge/TestBridgeClient.cs | 99 ++
.../Bridge/TestHelloBridgeHandlers.cs | 101 ++
.../Bridge/TestSimpleEventHandlers.cs | 110 ++
.../Driver/DriverTestStartHandler.cs | 46 +
.../Functional.Tests/Driver/TestDriver.cs | 68 +
.../Functional.Tests/Messaging/MessageDriver.cs | 122 ++
.../Functional.Tests/Messaging/MessageTask.cs | 106 ++
.../Messaging/TestTaskMessage.cs | 75 ++
.../Functional.Tests/ReefFunctionalTest.cs | 200 +++
.../BlockingCollectionExtensionTests.cs | 78 ++
.../Tests/ReefTests/IO.Tests/NameServerTests.cs | 274 +++++
.../ReefTests/IO.Tests/NetworkServiceTests.cs | 202 +++
.../Tests/ReefTests/Properties/AssemblyInfo.cs | 55 +
lang/cs/Tests/ReefTests/ReefTests.csproj | 192 +++
.../Utility.Test/TestDriverConfigGenerator.cs | 101 ++
.../ReefTests/Utility.Test/TestExceptions.cs | 49 +
...bridge-0.11.0-incubating-SNAPSHOT-shaded.jar | Bin 0 -> 13555831 bytes
lang/cs/Tests/ReefTests/bin/run.cmd | 45 +
lang/cs/Tests/ReefTests/packages.config | 32 +
.../ClassHierarchy/TestAnonymousType.cs | 63 +
.../ClassHierarchy/TestClassHierarchy.cs | 717 +++++++++++
.../TestClassHierarchyRoundTrip.cs | 69 ++
.../TangTests/ClassHierarchy/TestGeneric.cs | 46 +
.../ClassHierarchy/TestMultipleInterface.cs | 103 ++
.../ClassHierarchy/TestParameterParser.cs | 323 +++++
.../ClassHierarchy/TestSerilization.cs | 234 ++++
.../Configuration/TestAvroConfiguration.cs | 68 +
.../TestAvroSerializerRoundTrip.cs | 71 ++
.../Configuration/TestConfiguration.cs | 566 +++++++++
.../TestCsConfigurationBuilderExtension.cs | 178 +++
.../TangTests/Format/TestConfigurationModule.cs | 522 ++++++++
.../Format/TestConfigurationModuleForList.cs | 145 +++
.../TangTests/Format/TestTaskConfiguration.cs | 389 ++++++
.../Injection/TestAmbigousConstructors.cs | 80 ++
.../TangTests/Injection/TestForkInjection.cs | 79 ++
.../Tests/TangTests/Injection/TestInjection.cs | 386 ++++++
.../TangTests/Injection/TestInjectionFuture.cs | 240 ++++
.../TangTests/Injection/TestListInjection.cs | 565 +++++++++
.../Injection/TestMissingParameters.cs | 151 +++
.../Injection/TestMissingParamtersInNested.cs | 142 +++
.../Injection/TestMultipleConstructors.cs | 360 ++++++
.../TangTests/Injection/TestNamedParameter.cs | 357 ++++++
.../TangTests/Injection/TestSetInjection.cs | 739 +++++++++++
.../Tests/TangTests/Properties/AssemblyInfo.cs | 55 +
.../ScenarioTest/HttpHandlerConfiguration.cs | 35 +
.../ScenarioTest/HttpRuntimeConfiguration.cs | 36 +
.../ScenarioTest/HttpRuntimeStartHandler.cs | 50 +
.../ScenarioTest/HttpRuntimeStopHandler.cs | 50 +
.../Tests/TangTests/ScenarioTest/HttpServer.cs | 49 +
.../TangTests/ScenarioTest/IHttpHandler.cs | 27 +
.../TangTests/ScenarioTest/JettyHandler.cs | 44 +
.../ScenarioTest/TestDefaultConstructor.cs | 79 ++
.../TangTests/ScenarioTest/TestHttpService.cs | 194 +++
.../TangTests/ScenarioTest/TestRuntimeClock.cs | 253 ++++
.../ScenarioTest/TestTrackingURIProvider.cs | 59 +
.../ScenarioTest/TrackingURIProvider.cs | 63 +
.../ScenarioTest/TrackingYRIProvider.cs | 25 +
.../cs/Tests/TangTests/SmokeTest/AnInterface.cs | 29 +
.../SmokeTest/AnInterfaceImplementation.cs | 65 +
.../TangTests/SmokeTest/CyclicDependency.cs | 70 ++
.../SmokeTest/CyclicDependencyClassOne.cs | 61 +
.../SmokeTest/CyclicDependencyClassTwo.cs | 55 +
lang/cs/Tests/TangTests/SmokeTest/Handler.cs | 26 +
.../TangTests/SmokeTest/InjectableClass.cs | 60 +
.../TangTests/SmokeTest/ListOfBaseTypes.cs | 108 ++
.../Tests/TangTests/SmokeTest/ObjectTreeTest.cs | 54 +
.../TangTests/SmokeTest/RootImplementation.cs | 178 +++
.../Tests/TangTests/SmokeTest/RootInterface.cs | 26 +
.../Tests/TangTests/SmokeTest/RoundTripTest.cs | 40 +
.../Tests/TangTests/SmokeTest/SetInterface.cs | 31 +
.../TangTests/SmokeTest/SetInterfaceImplOne.cs | 82 ++
.../TangTests/SmokeTest/SetInterfaceImplTwo.cs | 82 ++
.../Tests/TangTests/SmokeTest/SetOfBaseTypes.cs | 105 ++
.../TangTests/SmokeTest/SetOfImplementations.cs | 72 ++
.../SmokeTest/TestConfigurationModuleBuilder.cs | 107 ++
.../TangTests/Tang/TestDefaultImpementaion.cs | 196 +++
.../TangTests/Tang/TestExternalConstructors.cs | 148 +++
.../TangTests/Tang/TestLegacyConstructors.cs | 73 ++
lang/cs/Tests/TangTests/Tang/TestTang.cs | 1158 ++++++++++++++++++
lang/cs/Tests/TangTests/TangTests.csproj | 180 +++
.../Tests/TangTests/Utilities/TestUtilities.cs | 294 +++++
lang/cs/Tests/TangTests/Utilities/Utilities.cs | 62 +
lang/cs/Tests/TangTests/evaluator.conf | Bin 0 -> 2837 bytes
lang/cs/Tests/TangTests/packages.config | 24 +
.../TangTests/simpleConstructorJavaProto.bin | Bin 0 -> 1994 bytes
lang/cs/Tests/WakeTests/ClockTest.cs | 183 +++
lang/cs/Tests/WakeTests/MultiCodecTest.cs | 102 ++
.../Tests/WakeTests/Properties/AssemblyInfo.cs | 55 +
lang/cs/Tests/WakeTests/PubSubSubjectTest.cs | 209 ++++
lang/cs/Tests/WakeTests/RemoteManagerTest.cs | 344 ++++++
lang/cs/Tests/WakeTests/TransportTest.cs | 205 ++++
lang/cs/Tests/WakeTests/WakeTests.csproj | 103 ++
lang/cs/Tests/WakeTests/packages.config | 23 +
.../externals/Org.Apache.Reef.Driver.dll | Bin 121344 -> 121344 bytes
pom.xml | 19 +-
621 files changed, 59262 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/.gitignore
----------------------------------------------------------------------
diff --git a/lang/cs/.gitignore b/lang/cs/.gitignore
new file mode 100644
index 0000000..aeaff29
--- /dev/null
+++ b/lang/cs/.gitignore
@@ -0,0 +1,10 @@
+bin
+!Tests/ReefTests/bin/
+packages
+TestResults
+**/*.exe
+**/*.suo
+**/*.csproj.user
+**/obj
+
+
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/.nuget/NuGet.Config
----------------------------------------------------------------------
diff --git a/lang/cs/.nuget/NuGet.Config b/lang/cs/.nuget/NuGet.Config
new file mode 100644
index 0000000..0ebb37e
--- /dev/null
+++ b/lang/cs/.nuget/NuGet.Config
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<configuration>
+ <solution>
+ <add key="disableSourceControlIntegration" value="true" />
+ </solution>
+</configuration>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/.nuget/NuGet.targets
----------------------------------------------------------------------
diff --git a/lang/cs/.nuget/NuGet.targets b/lang/cs/.nuget/NuGet.targets
new file mode 100644
index 0000000..401dcdd
--- /dev/null
+++ b/lang/cs/.nuget/NuGet.targets
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">$(MSBuildProjectDirectory)\..\</SolutionDir>
+
+ <!-- Enable the restore command to run before builds -->
+ <RestorePackages Condition=" '$(RestorePackages)' == '' ">false</RestorePackages>
+
+ <!-- Property that enables building a package from a project -->
+ <BuildPackage Condition=" '$(BuildPackage)' == '' ">false</BuildPackage>
+
+ <!-- Determines if package restore consent is required to restore packages -->
+ <RequireRestoreConsent Condition=" '$(RequireRestoreConsent)' != 'false' ">true</RequireRestoreConsent>
+
+ <!-- Download NuGet.exe if it does not already exist -->
+ <DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>
+ </PropertyGroup>
+
+ <ItemGroup Condition=" '$(PackageSources)' == '' ">
+ <!-- Package sources used to restore packages. By default, registered sources under %APPDATA%\NuGet\NuGet.Config will be used -->
+ <!-- The official NuGet package source (https://www.nuget.org/api/v2/) will be excluded if package sources are specified and it does not appear in the list -->
+ <!--
+ <PackageSource Include="https://www.nuget.org/api/v2/" />
+ <PackageSource Include="https://my-nuget-source/nuget/" />
+ -->
+ </ItemGroup>
+
+ <PropertyGroup Condition=" '$(OS)' == 'Windows_NT'">
+ <!-- Windows specific commands -->
+ <NuGetToolsPath>$([System.IO.Path]::Combine($(SolutionDir), ".nuget"))</NuGetToolsPath>
+ </PropertyGroup>
+
+ <PropertyGroup Condition=" '$(OS)' != 'Windows_NT'">
+ <!-- We need to launch nuget.exe with the mono command if we're not on windows -->
+ <NuGetToolsPath>$(SolutionDir).nuget</NuGetToolsPath>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <PackagesProjectConfig Condition=" '$(OS)' == 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config</PackagesProjectConfig>
+ <PackagesProjectConfig Condition=" '$(OS)' != 'Windows_NT'">$(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config</PackagesProjectConfig>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <PackagesConfig Condition="Exists('$(MSBuildProjectDirectory)\packages.config')">$(MSBuildProjectDirectory)\packages.config</PackagesConfig>
+ <PackagesConfig Condition="Exists('$(PackagesProjectConfig)')">$(PackagesProjectConfig)</PackagesConfig>
+ </PropertyGroup>
+
+ <PropertyGroup>
+ <!-- NuGet command -->
+ <NuGetExePath Condition=" '$(NuGetExePath)' == '' ">$(NuGetToolsPath)\NuGet.exe</NuGetExePath>
+ <PackageSources Condition=" $(PackageSources) == '' ">@(PackageSource)</PackageSources>
+
+ <NuGetCommand Condition=" '$(OS)' == 'Windows_NT'">"$(NuGetExePath)"</NuGetCommand>
+ <NuGetCommand Condition=" '$(OS)' != 'Windows_NT' ">mono --runtime=v4.0.30319 "$(NuGetExePath)"</NuGetCommand>
+
+ <PackageOutputDir Condition="$(PackageOutputDir) == ''">$(TargetDir.Trim('\\'))</PackageOutputDir>
+
+ <RequireConsentSwitch Condition=" $(RequireRestoreConsent) == 'true' ">-RequireConsent</RequireConsentSwitch>
+ <NonInteractiveSwitch Condition=" '$(VisualStudioVersion)' != '' AND '$(OS)' == 'Windows_NT' ">-NonInteractive</NonInteractiveSwitch>
+
+ <PaddedSolutionDir Condition=" '$(OS)' == 'Windows_NT'">"$(SolutionDir) "</PaddedSolutionDir>
+ <PaddedSolutionDir Condition=" '$(OS)' != 'Windows_NT' ">"$(SolutionDir)"</PaddedSolutionDir>
+
+ <!-- Commands -->
+ <RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)</RestoreCommand>
+ <BuildCommand>$(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols</BuildCommand>
+
+ <!-- We need to ensure packages are restored prior to assembly resolve -->
+ <BuildDependsOn Condition="$(RestorePackages) == 'true'">
+ RestorePackages;
+ $(BuildDependsOn);
+ </BuildDependsOn>
+
+ <!-- Make the build depend on restore packages -->
+ <BuildDependsOn Condition="$(BuildPackage) == 'true'">
+ $(BuildDependsOn);
+ BuildPackage;
+ </BuildDependsOn>
+ </PropertyGroup>
+
+ <Target Name="CheckPrerequisites">
+ <!-- Raise an error if we're unable to locate nuget.exe -->
+ <Error Condition="'$(DownloadNuGetExe)' != 'true' AND !Exists('$(NuGetExePath)')" Text="Unable to locate '$(NuGetExePath)'" />
+ <!--
+ Take advantage of MsBuild's build dependency tracking to make sure that we only ever download nuget.exe once.
+ This effectively acts as a lock that makes sure that the download operation will only happen once and all
+ parallel builds will have to wait for it to complete.
+ -->
+ <MsBuild Targets="_DownloadNuGet" Projects="$(MSBuildThisFileFullPath)" Properties="Configuration=NOT_IMPORTANT;DownloadNuGetExe=$(DownloadNuGetExe)" />
+ </Target>
+
+ <Target Name="_DownloadNuGet">
+ <DownloadNuGet OutputFilename="$(NuGetExePath)" Condition=" '$(DownloadNuGetExe)' == 'true' AND !Exists('$(NuGetExePath)')" />
+ </Target>
+
+ <Target Name="RestorePackages" DependsOnTargets="CheckPrerequisites">
+ <Exec Command="$(RestoreCommand)"
+ Condition="'$(OS)' != 'Windows_NT' And Exists('$(PackagesConfig)')" />
+
+ <Exec Command="$(RestoreCommand)"
+ LogStandardErrorAsError="true"
+ Condition="'$(OS)' == 'Windows_NT' And Exists('$(PackagesConfig)')" />
+ </Target>
+
+ <Target Name="BuildPackage" DependsOnTargets="CheckPrerequisites">
+ <Exec Command="$(BuildCommand)"
+ Condition=" '$(OS)' != 'Windows_NT' " />
+
+ <Exec Command="$(BuildCommand)"
+ LogStandardErrorAsError="true"
+ Condition=" '$(OS)' == 'Windows_NT' " />
+ </Target>
+
+ <UsingTask TaskName="DownloadNuGet" TaskFactory="CodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.v4.0.dll">
+ <ParameterGroup>
+ <OutputFilename ParameterType="System.String" Required="true" />
+ </ParameterGroup>
+ <Task>
+ <Reference Include="System.Core" />
+ <Using Namespace="System" />
+ <Using Namespace="System.IO" />
+ <Using Namespace="System.Net" />
+ <Using Namespace="Microsoft.Build.Framework" />
+ <Using Namespace="Microsoft.Build.Utilities" />
+ <Code Type="Fragment" Language="cs">
+ <![CDATA[
+ try {
+ OutputFilename = Path.GetFullPath(OutputFilename);
+
+ Log.LogMessage("Downloading latest version of NuGet.exe...");
+ WebClient webClient = new WebClient();
+ webClient.DownloadFile("https://www.nuget.org/nuget.exe", OutputFilename);
+
+ return true;
+ }
+ catch (Exception ex) {
+ Log.LogErrorFromException(ex);
+ return false;
+ }
+ ]]>
+ </Code>
+ </Task>
+ </UsingTask>
+</Project>
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/ReefDotNet.sln
----------------------------------------------------------------------
diff --git a/lang/cs/ReefDotNet.sln b/lang/cs/ReefDotNet.sln
new file mode 100644
index 0000000..bbd2250
--- /dev/null
+++ b/lang/cs/ReefDotNet.sln
@@ -0,0 +1,161 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+VisualStudioVersion = 12.0.21005.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{2B7EE9D5-CA54-4204-B89D-B48A7FC6E3CD}"
+ ProjectSection(SolutionItems) = preProject
+ .nuget\NuGet.Config = .nuget\NuGet.Config
+ .nuget\NuGet.exe = .nuget\NuGet.exe
+ .nuget\NuGet.targets = .nuget\NuGet.targets
+ EndProjectSection
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Utilities", "Source\Utilities\Utilities.csproj", "{79E7F89A-1DFB-45E1-8D43-D71A954AEB98}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wake", "Source\WAKE\Wake\Wake.csproj", "{CDFB3464-4041-42B1-9271-83AF24CD5008}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tang", "Source\TANG\Tang\Tang.csproj", "{97DBB573-3994-417A-9F69-FFA25F00D2A6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Examples", "Source\TANG\Examples\Examples.csproj", "{31B4389E-925A-4181-A1F6-21A1A0AD8A1C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefCommon", "Source\REEF\reef-common\ReefCommon\ReefCommon.csproj", "{545A0582-4105-44CE-B99C-B1379514A630}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefDriver", "Source\REEF\reef-common\ReefDriver\ReefDriver.csproj", "{A6BAA2A7-F52F-4329-884E-1BCF711D6805}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Network", "Source\REEF\reef-io\Network\Network.csproj", "{883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "Source\REEF\reef-tasks\Tasks\Tasks.csproj", "{75503F90-7B82-4762-9997-94B5C68F15DB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CLRBridgeClient", "Source\REEF\reef-applications\CLRBridgeClient\CLRBridgeClient.csproj", "{5094C35B-4FDB-4322-AC05-45D684501CBF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Evaluator", "Source\REEF\reef-applications\Evaluator\Evaluator.csproj", "{1B983182-9C30-464C-948D-F87EB93A8240}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloCLRBridge", "Source\REEF\reef-examples\HelloCLRBridge\HelloCLRBridge.csproj", "{A78DD8E8-31D0-4506-8738-DAA9DA86D55B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RetainedEvalCLRBridge", "Source\REEF\reef-examples\RetainedEvalCLRBridge\RetainedEvalCLRBridge.csproj", "{A33C20FB-A76E-494C-80C5-BCE4BAD876D3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClassHierarchyBuilder", "Source\Tools\ClassHierarchyBuilder\ClassHierarchyBuilder.csproj", "{34A9CD98-0D15-4CA0-AEA5-E53593A31047}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefAll", "Source\Tools\ReefAll\ReefAll.csproj", "{4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TangTests", "Tests\TangTests\TangTests.csproj", "{D5EB94D0-3ABA-4853-9050-E36B196E17D2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WakeTests", "Tests\WakeTests\WakeTests.csproj", "{214C64C6-04E5-4867-B69A-E3502EA50871}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ReefTests", "Tests\ReefTests\ReefTests.csproj", "{988F90CF-A48D-4938-A4D2-FA3B758FB5A7}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|x64 = Debug|x64
+ Release|Any CPU = Release|Any CPU
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|Any CPU.Build.0 = Release|Any CPU
+ {79E7F89A-1DFB-45E1-8D43-D71A954AEB98}.Release|x64.ActiveCfg = Release|Any CPU
+ {CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CDFB3464-4041-42B1-9271-83AF24CD5008}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CDFB3464-4041-42B1-9271-83AF24CD5008}.Release|x64.ActiveCfg = Release|Any CPU
+ {97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {97DBB573-3994-417A-9F69-FFA25F00D2A6}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {97DBB573-3994-417A-9F69-FFA25F00D2A6}.Release|x64.ActiveCfg = Release|Any CPU
+ {31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {31B4389E-925A-4181-A1F6-21A1A0AD8A1C}.Release|x64.ActiveCfg = Release|Any CPU
+ {545A0582-4105-44CE-B99C-B1379514A630}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {545A0582-4105-44CE-B99C-B1379514A630}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {545A0582-4105-44CE-B99C-B1379514A630}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {545A0582-4105-44CE-B99C-B1379514A630}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {545A0582-4105-44CE-B99C-B1379514A630}.Release|Any CPU.Build.0 = Release|Any CPU
+ {545A0582-4105-44CE-B99C-B1379514A630}.Release|x64.ActiveCfg = Release|Any CPU
+ {A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A6BAA2A7-F52F-4329-884E-1BCF711D6805}.Release|x64.ActiveCfg = Release|Any CPU
+ {883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {883CE800-6A6A-4E0A-B7FE-C054F4F2C1DC}.Release|x64.ActiveCfg = Release|Any CPU
+ {75503F90-7B82-4762-9997-94B5C68F15DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {75503F90-7B82-4762-9997-94B5C68F15DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {75503F90-7B82-4762-9997-94B5C68F15DB}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {75503F90-7B82-4762-9997-94B5C68F15DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {75503F90-7B82-4762-9997-94B5C68F15DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {75503F90-7B82-4762-9997-94B5C68F15DB}.Release|x64.ActiveCfg = Release|Any CPU
+ {5094C35B-4FDB-4322-AC05-45D684501CBF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5094C35B-4FDB-4322-AC05-45D684501CBF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5094C35B-4FDB-4322-AC05-45D684501CBF}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {5094C35B-4FDB-4322-AC05-45D684501CBF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5094C35B-4FDB-4322-AC05-45D684501CBF}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5094C35B-4FDB-4322-AC05-45D684501CBF}.Release|x64.ActiveCfg = Release|Any CPU
+ {1B983182-9C30-464C-948D-F87EB93A8240}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B983182-9C30-464C-948D-F87EB93A8240}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B983182-9C30-464C-948D-F87EB93A8240}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {1B983182-9C30-464C-948D-F87EB93A8240}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B983182-9C30-464C-948D-F87EB93A8240}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B983182-9C30-464C-948D-F87EB93A8240}.Release|x64.ActiveCfg = Release|Any CPU
+ {A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A78DD8E8-31D0-4506-8738-DAA9DA86D55B}.Release|x64.ActiveCfg = Release|Any CPU
+ {A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A33C20FB-A76E-494C-80C5-BCE4BAD876D3}.Release|x64.ActiveCfg = Release|Any CPU
+ {34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|Any CPU.Build.0 = Release|Any CPU
+ {34A9CD98-0D15-4CA0-AEA5-E53593A31047}.Release|x64.ActiveCfg = Release|Any CPU
+ {4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {4C137C79-3A28-47D2-BFB9-A3CAB1EEDACE}.Release|x64.ActiveCfg = Release|Any CPU
+ {D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D5EB94D0-3ABA-4853-9050-E36B196E17D2}.Release|x64.ActiveCfg = Release|Any CPU
+ {214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {214C64C6-04E5-4867-B69A-E3502EA50871}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {214C64C6-04E5-4867-B69A-E3502EA50871}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {214C64C6-04E5-4867-B69A-E3502EA50871}.Release|Any CPU.Build.0 = Release|Any CPU
+ {214C64C6-04E5-4867-B69A-E3502EA50871}.Release|x64.ActiveCfg = Release|Any CPU
+ {988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {988F90CF-A48D-4938-A4D2-FA3B758FB5A7}.Release|x64.ActiveCfg = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
new file mode 100644
index 0000000..51023e7
--- /dev/null
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.cs
@@ -0,0 +1,148 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+using Org.Apache.Reef.Common.Evaluator;
+using Org.Apache.Reef.Driver;
+using Org.Apache.Reef.Driver.bridge;
+using Org.Apache.Reef.Driver.Bridge;
+using Org.Apache.Reef.Driver.Defaults;
+using Org.Apache.Reef.Examples.HelloCLRBridge;
+using Org.Apache.Reef.Examples.HelloCLRBridge.Handlers;
+using Org.Apache.Reef.IO.Network.Naming;
+using Org.Apache.Reef.Tasks;
+using Org.Apache.Reef.Utilities.Logging;
+using Org.Apache.Reef.Tang.Interface;
+using Org.Apache.Reef.Tang.Util;
+using System;
+using System.Collections.Generic;
+using System.IO;
+
+namespace Org.Apache.Reef.CLRBridgeClient
+{
+ public class CLRBridgeClient
+ {
+ public const string ReefHome = "REEF_HOME";
+ public const string DefaultClrFolder = @"lang\java\reef-bridge-project\reef-bridge\dotnetHello";
+ public const string DefaultReefJar = @"lang\java\reef-bridge-project\reef-bridge\target\" + Constants.BridgeJarFileName;
+ public const string DefaultRunCommand = "run.cmd";
+
+ private static string _clrFolder = null;
+ private static string _reefJar = null;
+ private static string _className = Constants.BridgeLaunchClass;
+ private static string _runCommand = DefaultRunCommand;
+ private static string _submitControlForAllocatedEvaluator = "submitContextAndTask"; // submitContext, submitContextAndTask, submitContextAndServiceAndTask
+
+ public static HashSet<string> AppDll
+ {
+ get
+ {
+ HashSet<string> appDlls = new HashSet<string>();
+ appDlls.Add(typeof(HelloStartHandler).Assembly.GetName().Name);
+ appDlls.Add(typeof(HelloTask).Assembly.GetName().Name);
+ appDlls.Add(typeof(INameServer).Assembly.GetName().Name);
+ return appDlls;
+ }
+ }
+
+ public static IConfiguration ClrConfigurations
+ {
+ get
+ {
+ return DriverBridgeConfiguration.ConfigurationModule
+ .Set(DriverBridgeConfiguration.OnDriverStarted, GenericType<HelloStartHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnEvaluatorAllocated, GenericType<HelloAllocatedEvaluatorHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnEvaluatorAllocated, GenericType<AnotherHelloAllocatedEvaluatorHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnContextActive, GenericType<HelloActiveContextHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnTaskMessage, GenericType<HelloTaskMessageHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnEvaluatorFailed, GenericType<HelloFailedEvaluatorHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnTaskFailed, GenericType<HelloFailedTaskHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnTaskRunning, GenericType<HelloRunningTaskHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnEvaluatorRequested, GenericType<HelloEvaluatorRequestorHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnHttpEvent, GenericType<HelloHttpHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnEvaluatorCompleted, GenericType<HelloCompletedEvaluatorHandler>.Class)
+ .Set(DriverBridgeConfiguration.CustomTraceListeners, GenericType<DefaultCustomTraceListener>.Class)
+ .Set(DriverBridgeConfiguration.CustomTraceLevel, Level.Info.ToString())
+ .Set(DriverBridgeConfiguration.CommandLineArguments, _submitControlForAllocatedEvaluator) // this is for testing purpose only
+ .Set(DriverBridgeConfiguration.OnDriverRestarted, GenericType<HelloRestartHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnDriverReconnect, GenericType<DefaultLocalHttpDriverConnection>.Class)
+ .Set(DriverBridgeConfiguration.OnDirverRestartContextActive, GenericType<HelloDriverRestartActiveContextHandler>.Class)
+ .Set(DriverBridgeConfiguration.OnDriverRestartTaskRunning, GenericType<HelloDriverRestartRunningTaskHandler>.Class)
+ .Build();
+ }
+ }
+
+ public static void Main(string[] args)
+ {
+ Console.WriteLine("start running client: " + DateTime.Now);
+ bool runOnYarn = false;
+ if (args != null)
+ {
+ if (args.Length > 0)
+ {
+ runOnYarn = bool.Parse(args[0]);
+ }
+
+ if (args.Length > 1)
+ {
+ _className = args[1];
+ }
+ if (args.Length > 2)
+ {
+ _clrFolder = args[2];
+ }
+ if (args.Length > 3)
+ {
+ _reefJar = args[3];
+ }
+ if (args.Length > 4)
+ {
+ _runCommand = args[4];
+ }
+ }
+
+ if (string.IsNullOrWhiteSpace(_reefJar))
+ {
+ _reefJar = Path.Combine(Environment.GetEnvironmentVariable(ReefHome), DefaultReefJar);
+ }
+
+ if (string.IsNullOrWhiteSpace(_clrFolder))
+ {
+ _clrFolder = Path.Combine(Environment.GetEnvironmentVariable(ReefHome), DefaultClrFolder);
+ }
+
+ // Configurable driver submission settings:
+ // DriverMemory, default to 512
+ // DriverIdentifer, default to "ReefClrBridge"
+ // Submit, default to True. Setting it to false and Java client will construct the driver.config and write to to FS without submitting the job
+ // ClientWaitTime, default to -1 which means client will wait till Driver is done
+ // SubmissionDirectory, default to a tmp folder on (H)DFS according to the YARN assigned application id, if user sets it, it must be guaranteed to be unique across multiple jobs
+ // RunOnYarn, default to false to run on local runtime.
+ // UpdateJarBeforeSubmission, default to true. Setting it to false can reduce startup time, but only if the jar file already contains all application dlls.
+ // JavaLogLevel, default to INFO.
+ DriverSubmissionSettings driverSubmissionSettings = new DriverSubmissionSettings()
+ {
+ RunOnYarn = runOnYarn,
+ SubmissionDirectory = "reefClrBridgeTmp/job_" + Guid.NewGuid().ToString("N").Substring(0, 8)
+ };
+
+ Console.WriteLine("start calling Run: " + DateTime.Now);
+ ClrClientHelper.Run(AppDll, ClrConfigurations, driverSubmissionSettings, _reefJar, _runCommand, _clrFolder, _className);
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
new file mode 100644
index 0000000..0f333d3
--- /dev/null
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/CLRBridgeClient.csproj
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{5094C35B-4FDB-4322-AC05-45D684501CBF}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Org.Apache.Reef.CLRBridgeClient</RootNamespace>
+ <AssemblyName>Org.Apache.Reef.CLRBridgeClient</AssemblyName>
+ <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>..\..\..\..\bin\Debug\Org.Apache.Reef.CLRBridgeClient\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>..\..\..\..\bin\Release\Microsoft.Reef.CLRBridgeClient\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="CLRBridgeClient.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="run.cmd" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\..\..\Tang\Tang\Tang.csproj">
+ <Project>{97dbb573-3994-417a-9f69-ffa25f00d2a6}</Project>
+ <Name>Tang</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\Utilities\Utilities.csproj">
+ <Project>{79e7f89a-1dfb-45e1-8d43-d71a954aeb98}</Project>
+ <Name>Utilities</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\..\WAKE\Wake\Wake.csproj">
+ <Project>{cdfb3464-4041-42b1-9271-83af24cd5008}</Project>
+ <Name>Wake</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\reef-common\ReefCommon\ReefCommon.csproj">
+ <Project>{545a0582-4105-44ce-b99c-b1379514a630}</Project>
+ <Name>ReefCommon</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\reef-common\ReefDriver\ReefDriver.csproj">
+ <Project>{a6baa2a7-f52f-4329-884e-1bcf711d6805}</Project>
+ <Name>ReefDriver</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\reef-examples\HelloCLRBridge\HelloCLRBridge.csproj">
+ <Project>{a78dd8e8-31d0-4506-8738-daa9da86d55b}</Project>
+ <Name>HelloCLRBridge</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\reef-examples\RetainedEvalCLRBridge\RetainedEvalCLRBridge.csproj">
+ <Project>{a33c20fb-a76e-494c-80c5-bce4bad876d3}</Project>
+ <Name>RetainedEvalCLRBridge</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\reef-io\NetWork\NetWork.csproj">
+ <Project>{883ce800-6a6a-4e0a-b7fe-c054f4f2c1dc}</Project>
+ <Name>NetWork</Name>
+ </ProjectReference>
+ <ProjectReference Include="..\..\reef-tasks\Tasks\Tasks.csproj">
+ <Project>{75503f90-7b82-4762-9997-94b5c68f15db}</Project>
+ <Name>Tasks</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/Properties/AssemblyInfo.cs
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/Properties/AssemblyInfo.cs b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..0cfd271
--- /dev/null
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/Properties/AssemblyInfo.cs
@@ -0,0 +1,55 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("CLRBridgeClient")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CLRBridgeClient")]
+[assembly: AssemblyCopyright("Copyright © 2015")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("8717944c-5e99-4f95-a916-5ca3c3f8e697")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
http://git-wip-us.apache.org/repos/asf/incubator-reef/blob/2ae282de/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/run.cmd
----------------------------------------------------------------------
diff --git a/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/run.cmd b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/run.cmd
new file mode 100644
index 0000000..3dca837
--- /dev/null
+++ b/lang/cs/Source/REEF/reef-applications/CLRBridgeClient/run.cmd
@@ -0,0 +1,45 @@
+@REM
+@REM Copyright (C) 2013 Microsoft Corporation
+@REM
+@REM Licensed under the Apache License, Version 2.0 (the "License");
+@REM you may not use this file except in compliance with the License.
+@REM You may obtain a copy of the License at
+@REM
+@REM http://www.apache.org/licenses/LICENSE-2.0
+@REM
+@REM Unless required by applicable law or agreed to in writing, software
+@REM distributed under the License is distributed on an "AS IS" BASIS,
+@REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+@REM See the License for the specific language governing permissions and
+@REM limitations under the License.
+@REM
+
+@echo off
+::
+:: Copyright (C) 2013 Microsoft Corporation
+::
+:: Licensed under the Apache License, Version 2.0 (the "License");
+:: you may not use this file except in compliance with the License.
+:: You may obtain a copy of the License at
+::
+:: http:\\www.apache.org\licenses\LICENSE-2.0
+::
+:: Unless required by applicable law or agreed to in writing, software
+:: distributed under the License is distributed on an "AS IS" BASIS,
+:: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+:: See the License for the specific language governing permissions and
+:: limitations under the License.
+::
+
+
+:: RUNTIME
+set SHADED_JAR=%REEF_HOME%\lang\java\reef-bridge-project\reef-bridge\target\reef-bridge-0.11.0-incubating-SNAPSHOT-shaded.jar
+
+set LOGGING_CONFIG=-Djava.util.logging.config.class=org.apache.reef.util.logging.CLRLoggingConfig
+
+set CLASSPATH=%HADOOP_HOME%\share\hadoop\hdfs\lib\*;%HADOOP_HOME%\share\hadoop\hdfs\*;%HADOOP_HOME%\share\hadoop\common\*;%HADOOP_HOME%\share\hadoop\common\lib\*;%HADOOP_HOME%\share\hadoop\mapreduce\lib\*;%HADOOP_HOME%\share\hadoop\mapreduce\*;%HADOOP_HOME%\share\hadoop\yarn\*;%HADOOP_HOME%\share\hadoop\yarn\lib\*
+
+set CMD=%JAVA_HOME%\bin\java.exe -cp %HADOOP_HOME%\etc\hadoop;%SHADED_JAR%;%CLASSPATH% %LOGGING_CONFIG% %*
+::%LOGGING_CONFIG%
+echo %CMD%
+%CMD%