Repository: reef
Updated Branches:
  refs/heads/master e43019f40 -> d45954935


[REEF-1966] Allow user to define app.config for Evaluator

  * Use user define `app.config` for Evaluator if any. Otherwise, use
    default.
  * Remove `app.config` file from Evaluator project

JIRA:
  [REEF-1966](https://issues.apache.org/jira/browse/REEF-1966)

Pull Request:
  This closes #1421


Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/d4595493
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/d4595493
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/d4595493

Branch: refs/heads/master
Commit: d459549354a144c94152c8b7ffc323ea186f01fb
Parents: e43019f
Author: jwang98052 <jul...@apache.org>
Authored: Tue Dec 12 16:21:27 2017 -0800
Committer: Markus Weimer <wei...@apache.org>
Committed: Mon Feb 5 19:55:06 2018 -0800

----------------------------------------------------------------------
 .../Common/DriverFolderPreparationHelper.cs           | 14 +++++++++++---
 .../Org.Apache.REEF.Evaluator.csproj                  |  3 ++-
 2 files changed, 13 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/reef/blob/d4595493/lang/cs/Org.Apache.REEF.Client/Common/DriverFolderPreparationHelper.cs
----------------------------------------------------------------------
diff --git 
a/lang/cs/Org.Apache.REEF.Client/Common/DriverFolderPreparationHelper.cs 
b/lang/cs/Org.Apache.REEF.Client/Common/DriverFolderPreparationHelper.cs
index 229d9e5..f51a3c4 100644
--- a/lang/cs/Org.Apache.REEF.Client/Common/DriverFolderPreparationHelper.cs
+++ b/lang/cs/Org.Apache.REEF.Client/Common/DriverFolderPreparationHelper.cs
@@ -48,7 +48,7 @@ namespace Org.Apache.REEF.Client.Common
         @"    </assemblyBinding>" +
         @"  </runtime>" +
         @"</configuration>";
-        private const string EvaluatorExecutable = 
"Org.Apache.REEF.Evaluator.exe.config";
+        private const string EvaluatorExecutableConfig = 
"Org.Apache.REEF.Evaluator.exe.config";
 
         private static readonly Logger Logger = 
Logger.GetLogger(typeof(DriverFolderPreparationHelper));
         private readonly AvroConfigurationSerializer _configurationSerializer;
@@ -154,8 +154,16 @@ namespace Org.Apache.REEF.Client.Common
             File.WriteAllText(Path.Combine(driverFolderPath, 
_fileNames.GetBridgeExeConfigPath()), config);
 
             // generate .config file for Evaluator executable
-            File.WriteAllText(Path.Combine(driverFolderPath, 
_fileNames.GetGlobalFolderPath(), EvaluatorExecutable), 
-                DefaultDriverConfigurationFileContents);
+            var userDefinedEvaluatorConfigFileName = Path.Combine(JarFolder, 
EvaluatorExecutableConfig);
+            var evaluatorConfigFilName = Path.Combine(driverFolderPath, 
_fileNames.GetGlobalFolderPath(), EvaluatorExecutableConfig);
+            string evaluatorAppConfigString = 
DefaultDriverConfigurationFileContents;
+
+            if (File.Exists(userDefinedEvaluatorConfigFileName))
+            {
+                evaluatorAppConfigString = 
File.ReadAllText(userDefinedEvaluatorConfigFileName);
+            }
+            Logger.Log(Level.Verbose, "Create EvaluatorConfigFile {0} with 
config {1}.", evaluatorConfigFilName, evaluatorAppConfigString);
+            File.WriteAllText(evaluatorConfigFilName, 
evaluatorAppConfigString);
         }
     }
 }

http://git-wip-us.apache.org/repos/asf/reef/blob/d4595493/lang/cs/Org.Apache.REEF.Evaluator/Org.Apache.REEF.Evaluator.csproj
----------------------------------------------------------------------
diff --git a/lang/cs/Org.Apache.REEF.Evaluator/Org.Apache.REEF.Evaluator.csproj 
b/lang/cs/Org.Apache.REEF.Evaluator/Org.Apache.REEF.Evaluator.csproj
index 7b567c8..8d2a818 100644
--- a/lang/cs/Org.Apache.REEF.Evaluator/Org.Apache.REEF.Evaluator.csproj
+++ b/lang/cs/Org.Apache.REEF.Evaluator/Org.Apache.REEF.Evaluator.csproj
@@ -67,6 +67,7 @@ under the License.
   <ItemGroup>
     <None Include="$(SolutionDir)\App.config">
       <Link>App.config</Link>
+      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
     </None>
     <None Include="Org.Apache.REEF.Evaluator.nuspec" />
     <None Include="packages.config" />
@@ -96,4 +97,4 @@ under the License.
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
   <Import Project="$(SolutionDir)\.nuget\NuGet.targets" 
Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
   <Import 
Project="$(PackagesDir)\StyleCop.MSBuild.$(StyleCopVersion)\build\StyleCop.MSBuild.Targets"
 
Condition="Exists('$(PackagesDir)\StyleCop.MSBuild.$(StyleCopVersion)\build\StyleCop.MSBuild.Targets')"
 />
-</Project>
+</Project>
\ No newline at end of file

Reply via email to