This wiki has undergone a migration to Confluence found Here
<meta name="googlebot" content="noindex">

Difference between revisions of "V3 Publishing ANT Refactor"

From HL7Wiki
Jump to navigation Jump to search
Line 4: Line 4:
  
 
===Purpose===
 
===Purpose===
 
+
The Project will restructure and clean up the ANT scripts that produce the Version 3 ballots. The ANT scripts will be reorganized to segregate the individual target into functionally related smaller files. The initial proposal is to create a file with domain targets, a file with DAM targets, a file with infrastructure targets, a file for installation targets, a files for core functions and some other non-specified (and as needed, discussed and approved) files. As the restructuring continues, additional opportunities to provide utilities to control the verbosity of the build and to segregate key external dependencies will also be explored.
  
 
===Design===
 
===Design===
 +
The refactoring will enforce the following coding guidelines on the ANT scripts:
 +
*Everything is indented, indent is 4 spaces
 +
*The content of a tag should be readable without side scrolling (generally no more than 120 columns), move attributes to the next line if there are too many or their size gets too wide.
 +
**Example:
 +
<xslt in="somewhere/else/to/look"
 +
      out="not/the/original/spot"
 +
      style="the/thing/that/does/the/work.xsl">
 +
</xslt>
 +
*All directory specifications use Unix format: '/' not '\'
 +
*There is a blank line or a comment prior to each <target>
 +
*There are no blank lines in the body of a target (with one exception, see next item)
 +
*If a target has a description element, there can be a blank line after the description (this separates the description from the body of the target)
 +
*There are no double blank lines.
 +
*There is only one element (<something>) per line except when <not> wraps an <and>
 +
*Comments never exceed 100 columns (the column needs to wrap)
 +
*If an attribute  (thing="yada, yada, ....") exceeds 120 columns, it should be on a line by itself
  
 
===Test Execution Description===
 
===Test Execution Description===

Revision as of 15:34, 10 August 2015

V3 Publishing ANT Script Refactoring

This is the proposed project page for the refactoring of the V3 Publishing Ant Scripts.

Purpose

The Project will restructure and clean up the ANT scripts that produce the Version 3 ballots. The ANT scripts will be reorganized to segregate the individual target into functionally related smaller files. The initial proposal is to create a file with domain targets, a file with DAM targets, a file with infrastructure targets, a file for installation targets, a files for core functions and some other non-specified (and as needed, discussed and approved) files. As the restructuring continues, additional opportunities to provide utilities to control the verbosity of the build and to segregate key external dependencies will also be explored.

Design

The refactoring will enforce the following coding guidelines on the ANT scripts:

  • Everything is indented, indent is 4 spaces
  • The content of a tag should be readable without side scrolling (generally no more than 120 columns), move attributes to the next line if there are too many or their size gets too wide.
    • Example:

<xslt in="somewhere/else/to/look"

      out="not/the/original/spot"
      style="the/thing/that/does/the/work.xsl">

</xslt>

  • All directory specifications use Unix format: '/' not '\'
  • There is a blank line or a comment prior to each <target>
  • There are no blank lines in the body of a target (with one exception, see next item)
  • If a target has a description element, there can be a blank line after the description (this separates the description from the body of the target)
  • There are no double blank lines.
  • There is only one element (<something>) per line except when <not> wraps an <and>
  • Comments never exceed 100 columns (the column needs to wrap)
  • If an attribute (thing="yada, yada, ....") exceeds 120 columns, it should be on a line by itself

Test Execution Description

Iterations

  1. Make all directories use Unix directory styles
  2. Do even more cool stuff