/* * Trying to read the "artifactory.build" file for deployment configuration. */ public bool parseArtifactoryConfigFile(string projectArtifactoryConfigPath, ArtifactoryBuild task) { FileInfo artifactoryConfigurationFile = new FileInfo(projectArtifactoryConfigPath + "Artifactory.build"); if (artifactoryConfigurationFile.Exists) { StringBuilder xmlContent = SolutionHandler.MsbuildInterpreter(artifactoryConfigurationFile, task); System.Xml.Serialization.XmlSerializer reader = new System.Xml.Serialization.XmlSerializer(typeof(ArtifactoryConfig)); ArtifactoryConfiguration = (ArtifactoryConfig)reader.Deserialize(new System.IO.StringReader(xmlContent.ToString())); //Validate the xml file if (ArtifactoryConfiguration.PropertyGroup == null || ArtifactoryConfiguration.PropertyGroup.Deployments == null || ArtifactoryConfiguration.PropertyGroup.Deployments.Deploy == null) { return(false); } return(true); } return(false); }
public override bool Execute() { try { buildInfoLog = new BuildInfoLog(Log); //Incase the MSBuild process is up, and the global variable is still exist. deployableArtifactBuilderMap.Clear(); //System.Diagnostics.Debugger.Launch(); buildInfoLog.Info("Artifactory Post-Build task started"); if (!string.IsNullOrWhiteSpace(TfsActive) && TfsActive.Equals("True")) { buildInfoLog.Info("Running inside TFS..."); } SolutionHandler solution = new SolutionHandler(this, buildInfoLog); solution.Execute(); BuildDeploymentHelper buildDeploymentHelper = new BuildDeploymentHelper(); buildDeploymentHelper.deploy(this, solution._buildInfo, buildInfoLog); return true; } catch (Exception ex) { buildInfoLog.Error("Exception from Artifactory Task: " + ex.Message, ex); /*By returning false in exception, the task will not fail the all build.*/ throw new Exception("Exception from Artifactory Task: " + ex.Message); //return false; } finally { deployableArtifactBuilderMap.Clear(); } }