(→Dynamic Dependency Selection)
|
(→Consolidate Reports of Dependency Projects & Publish Them in Parent Project Report)
|
Line 370: | |||
centrallyLocateLogsForBuildLife(buildLife, reportPath); | centrallyLocateLogsForBuildLife(buildLife, reportPath); | ||
} </pre> | } </pre> | ||
+ | = Export Project Configuration to XML = | ||
+ | Script Notes: | ||
+ | * Set this script up as an evaluate script step in an operational workflow within an operational project. You will then need to set up a property on the workflow called '''ProjectName''' to pass in the project you would like to export. Finally, this script's output will be placed in the ''%SERVER_HOME%\bin'' directory unless otherwise noted by setting a working directory. | ||
+ | ==== AHPSCRIPTS-9 ==== | ||
+ | <pre>import org.w3c.dom.Document; | ||
+ | import com.urbancode.anthill3.runtime.scripting.helpers.*; | ||
+ | import com.urbancode.anthill3.domain.project.Project; | ||
+ | import com.urbancode.anthill3.domain.project.ProjectFactory; | ||
+ | import com.urbancode.anthill3.domain.xml.XMLImporterExporter; | ||
+ | import com.urbancode.commons.xml.DOMUtils; | ||
+ | import java.io.*; | ||
+ | //Set a property on the operational workflow called 'ProjectName' | ||
+ | //so that you can input which project name you want to run this | ||
+ | //script on. Alternatively, you could remove the references to | ||
+ | //a property and just substitute in a string. | ||
+ | String PROJECT_NAME = PropertyLookup.getValue("ProjectName"); | ||
+ | //Restores the property and writes to a string | ||
+ | Project project = ProjectFactory.getInstance().restoreForName(PROJECT_NAME); | ||
+ | Document doc = XMLImporterExporter.exportXML(project, "project"); | ||
+ | String xmlString = DOMUtils.documentToString(doc); | ||
+ | //Writes the xmlString to a file determined by the project name | ||
+ | //and appends '.xml' to the export. | ||
+ | FileWriter outFile = new FileWriter(PathHelper.makeSafe(PropertyLookup.getValue("ProjectName"))+".xml"); | ||
+ | BufferedWriter buffer = new BufferedWriter(outFile); | ||
+ | PrintWriter out = new PrintWriter(buffer); | ||
+ | out.println(xmlString); | ||
+ | out.flush(); | ||
+ | out.close(); </pre> | ||
+ | ==== Export Dependencies ==== | ||
+ | <pre> | ||
+ | import org.w3c.dom.Document; | ||
+ | import com.urbancode.anthill3.runtime.scripting.helpers.*; | ||
+ | import com.urbancode.anthill3.domain.project.*; | ||
+ | import com.urbancode.anthill3.domain.xml.XMLImporterExporter; | ||
+ | import com.urbancode.anthill3.domain.xml.*; | ||
+ | import com.urbancode.commons.xml.*; | ||
+ | import com.urbancode.anthill3.domain.profile.*; | ||
+ | import com.urbancode.anthill3.domain.workflow.*; | ||
+ | import java.io.*; | ||
+ | //Set a property on the operational workflow called 'ProjectName' | ||
+ | //so that you can input which project name you want to run this | ||
+ | //script on. Alternatively, you could remove the references to | ||
+ | //a property and just substitute in a string. | ||
+ | String PROJECT_NAME = PropertyLookup.getValue("ProjectName"); | ||
+ | //Restores the property and writes to a string | ||
+ | Project project = ProjectFactory.getInstance().restoreForName(PROJECT_NAME); | ||
+ | Document doc = XMLImporterExporter.exportXML(project, "project"); | ||
+ | String xmlString = DOMUtils.documentToString(doc); | ||
+ | //Writes the xmlString to a file determined by the project name | ||
+ | //and appends '.xml' to the export. | ||
+ | DependencyXml depXml = new DependencyXml(); | ||
+ | String pDep = depXml.exportDependencies(project); | ||
+ | FileWriter outFile = new FileWriter(PathHelper.makeSafe(PropertyLookup.getValue("ProjectName"))+"_dependencies.xml"); | ||
+ | BufferedWriter buffer = new BufferedWriter(outFile); | ||
+ | PrintWriter out = new PrintWriter(buffer); | ||
+ | out.println(pDep); | ||
+ | out.flush(); | ||
+ | out.close(); </pre> |