
                             S 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.    N)
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)BuildpackBuilder5   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   r-   r-   5   s     *%r   r-   )r   r   googlecloudsdk.command_lib.coder   googlecloudsdk.corer   Errorr   
DataObjectr   r-   r   r   r   <module>r6      sK    ) 	 6 *(:++ (E
-- E4	*z,, 	*r   