
    g	                         S r SSKJr  SSKJr  SSKJr  SSKJr  SSKrSSKJr  SSK	J
r
   " S	 S
\
R                  5      r " S S\R                  5      r " S S\R                  5      rg)z"Classes related to build settings.    )absolute_import)division)print_function)unicode_literalsN)
dataobject)
exceptionsc                       \ rS rSrSrSrg)InvalidLocationError   zFile is in an invalid location. N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       /lib/googlecloudsdk/command_lib/code/builders.pyr
   r
      s    'r   r
   c                   .    \ rS rSrSrSrS rS rS rSr	g)	DockerfileBuilder   z8Data for a request to build with an existing Dockerfile.)
dockerfilec                     [         R                  R                  [         R                  R                  XR                  5      5      $ N)ospathabspathjoinr   selfcontexts     r   DockerfileAbsPath#DockerfileBuilder.DockerfileAbsPath'   s&    77??277<<ABBr   c                 `    [         R                  R                  U R                  U5      U5      $ r   )r   r   relpathr"   r   s     r   DockerfileRelPath#DockerfileBuilder.DockerfileRelPath*   s"    77??411':GDDr   c                    U R                  U5      n[        R                  R                  X/5      U:w  a  [	        SR                  X!5      5      e[        R                  R                  U5      (       d  [	        US-   5      eg )NzInvalid Dockerfile path. Dockerfile must be located in the build context directory.
Dockerfile: {0}
Build Context Directory: {1}z does not exist.)r"   r   r   commonprefixr
   formatexists)r    r!   complete_paths      r   ValidateDockerfileBuilder.Validate-   sw    **73M	wwW45@ ) *0)G	I I
 77>>-(( 1C!CDD )r   r   N)
r   r   r   r   r   NAMESr"   r&   r-   r   r   r   r   r   r      s    @
 %CE	Er   r   c                       \ rS rSrSrSrSrg)BuildpackBuilder9   zSettings for building with a buildpack.

Attributes:
  builder: Name of the builder.
  trust: True if the lifecycle should trust this builder.
  devmode: Build with devmode.
)buildertrustdevmoder   N)r   r   r   r   r   r/   r   r   r   r   r1   r1   9   s     *%r   r1   )r   
__future__r   r   r   r   r   googlecloudsdk.command_lib.coder   googlecloudsdk.corer   Errorr
   
DataObjectr   r1   r   r   r   <module>r;      sW    ) &  % ' 	 6 *(:++ (E
-- E4	*z,, 	*r   