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