Class: MintPress::Resources::RepositoryArtifact

Inherits:
Resource
  • Object
show all
Includes:
MintLogger, Mixins::Properties, GenericProps
Defined in:
src/mintpress-resources/lib/mintpress-resources/repo-artifact.rb

Properties (Read/Write)

  • #artifact_id ⇒ String
    "The id of the project, also known as the name of the project."

    Property Attributes
    
    
    28
    # File 'src/mintpress-resources/lib/mintpress-resources/repo-artifact.rb', line 28
    
    property :artifactId, type: String, description: "The id of the project, also known as the name of the project."
  • #downloaded_files ⇒ Hash of ⇒ MintPress::Resources::File
    "The downloaded files after the `download` action has been run"

    Property Attributes
    
    
    29
    # File 'src/mintpress-resources/lib/mintpress-resources/repo-artifact.rb', line 29
    
    property :downloaded_files, type: MintPress::Resources::File, description: "The downloaded files after the `download` action has been run", hash: true
  • #artifactory_url ⇒ String
    "Artifactory connection Url"

    Property Attributes
    • requiredtrue
    
    
    33
    # File 'src/mintpress-resources/lib/mintpress-resources/repo-artifact.rb', line 33
    
    property :artifactory_url, type: String, required: true, description: "Artifactory connection Url"
  • #name ⇒ String
    Things like tmpdir and so on?

    Property Attributes
    • requiredtrue
    
    
    38
    # File 'src/mintpress-resources/lib/mintpress-resources/resource.rb', line 38
    
    property :name, type: String, required: true
  • #host ⇒ MintPress::Infrastructure::Host (Default Value: Proc.new { r=nil if self.default_localhost r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user) end r })
    Host on which to operate. Depending on your system, this will usually default to localhost.

    Property Attributes
    • paralleltrue
    • defaultProc.new { r=nil if self.default_localhost r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user) end r }
    
    
    41
    42
    43
    44
    45
    # File 'src/mintpress-resources/lib/mintpress-resources/resource.rb', line 41
    
    property :host, type: MintPress::Infrastructure::Host, parallel: true, default: Proc.new { r=nil
    if self.default_localhost
      r = MintPress::Infrastructure::Localhost.new(final_user: self.default_localhost_user)
     end
    r }
  • #as_admin ⇒ [TrueClass, FalseClass] (Default Value: false)
    Should the operation be performed as an administratrive user (root on linux/unix, Adminstrator on windows) or should it be performed as unprivledged? The default behaviour is to perform as unprivledged unless otherwise asked.

    Property Attributes
    • defaultfalse
    
    
    66
    # File 'src/mintpress-resources/lib/mintpress-resources/resource.rb', line 66
    
    property :as_admin, type: [TrueClass, FalseClass], default: false

Properties (Read Only)

Constant Summary

Constants included from MintLogger

MintLogger::DEBUG, MintLogger::ERROR, MintLogger::FATAL, MintLogger::INFO, MintLogger::UNKNOWN, MintLogger::VERBOSE, MintLogger::WARN

Instance Attribute Summary

Attributes included from Mixins::Properties

#autopush_set_cache, #dynamic_create, #harvest_on_access, #harvest_undefined_only, #harvested, #tree_root

Instance Method Summary collapse

Methods included from Mixins::Properties

#[], #[]=, #add_validate_report_result, #armour_set_property, #array_contains?, #array_is_a?, #check_autopush, #check_stack_overflow, #clone_property_object, #cloner_handle_single_property, #coerce_single, #contains_as_string?, #display_validate_report_result, #double_initialize?, #dump_to_hash, #find_parent, #find_parent_by_identity, #generate_accessor_functions, #get_canonical_renamed, #get_from_opts, #get_my_name, #get_property, #get_property_item, #has?, included, #initialize_validate_report, #inspect, #is_cloned_object?, #is_mintpress_object?, #is_probably_canonical?, #is_set?, #local_debug, #local_info, #local_verbose, #mintpress_property_definitions, #place_object_by_identity, #process_properties, #prop_set?, #property, #property_definitions, #property_details, #property_is_simple_object?, #push_root!, #require_property, #require_update, #retrieve_docstring, #sanitize, #set_map_dirty, #set_property, #set_property_item, #show_short_array, #strip_defaults!, #synchronize, #uncloned_property_definitions, #update_map, #validate, #validate_generic, #validate_properties, #validate_property, #validate_required, #version_allowed?, #weakref

Methods included from MintLogger::Utils::Common

#boolean_val, #has_value?, #no_value?, #nvl, #path_as_symbol, #ruby_level_to_send

Methods included from GenericProps

#build_tokens, #generic_tokenizer_props, #setup_art, #setup_generic

Constructor Details

#initialize(opts = {}) ⇒ RepositoryArtifact

This is the class for an Artifact downloadable from Maven style repository

Instance Method Details

#checksum_prereqs(type, method) ⇒ Object

#downloadObject

Download artifact component from Maven repository

Returns:

  • File location of the downloaded artifact in the target directory

#download_uri(downloadUri, uri, target_dir, target_filename) ⇒ Object

Download uri to the target folder

Parameters:

  • downloadUri
    Artifactory URL to download
  • uri
    Artifactory storage URL (used to retrieve metadata)
  • target_dir
    Target directory to download to
  • target_filename
    Traget filename to save file to

Returns:

  • Absolute file location in the target folder

#exists?Boolean

Check if artifact exists in repository

Returns:

  • (Boolean)

#fetch_metadata(uri) ⇒ Object

Fetch Artifact metadata from the Artifactory

Parameters:

  • Artifactory
    Uri

Returns:

  • Hash of Artifactory metadata

#find_artifact(groupId, artifactId, version, classifier) ⇒ Object

Find all artifacts associated with given GAVC properties

Parameters:

  • groupId
  • artifactId
  • version

Returns:

  • List of URIs form Artifacts matching the search criteria

#get_client_resource(uri) ⇒ Object

Retrieve remote RestClientResource object

Parameters:

  • uri
    URL to retrieve

Returns:

#load_dependencies_recursive(groupId, artifactId, version, classifier) ⇒ Object

Recursive function to fetch all dependencies for the Maven repository object

Parameters:

  • groupId
    Group Id of the artifact
  • artifactId
    Name of the artifact
  • version
    Version of the component

Returns:

  • List or Artifact uris

#retrieve_local_checksum(type = 'md5') ⇒ Object

#retrieve_pom_dependencies(metadata, pom_dir) ⇒ Object

Retrieve Maven depenedencies for POM artifact and store the download file in the specified directory

Parameters:

  • metadata
    Hash map

Returns:

  • Array of Maps

#retrieve_remote_checksum(type = 'md5') ⇒ Object

#uploadObject

#validate_checksum(type = 'md5') ⇒ Object