title: Maintain folder structure jFrog Artifactory Deployer TFS plugin
body: <p>I'm working on a new CI proof of concept. I'm using TFS build and attempting to integrate jFrog Artifactory.</p>
  
  <p>I'm trying to create a folder structure within my Artifactory repository like so:
  [repository]/[sub-repository]/[Artifacts Folder]/[Versioned Artifact Folder]/[Versioned Artifact Zip Archive]</p>
  
  <p>I've scripted the creation of the following correct structure in my Artifactory staging directory with PowerShell:
  [Artifacts Folder]\[Versioned Artifact Folder]\[Versioned Artifact Zip Archive]</p>
  
  <p>... and finally compressed my [Artifacts Folder] into a [Artifacts Folder].zip archive for deployment to Artifactory repository.</p>
  
  <p>Now, although jFrog documentation indicates the introduction of an --explode option in jFrog 1.7 for this purpose, attempts to upload using this option returned an Incorrect Usage error:</p>
  
  <blockquote>
    <p>2018-10-01T10:21:28.3168258Z running 'C:\jfrog\jfrog.exe' rt upload '[Artifactory Staging Directory]\[Artifacts Folder]\*' '[repository]/[sub-repository]/[Artifacts Folder]' --url=<a href="https://www.artifactrepository.xxx.net/artifactory" rel="nofollow noreferrer">https://www.artifactrepository.xxx.net/artifactory</a> <strong>--explode=true</strong> --user=******** --password=******** --props='build.number=[build_number];build.name=[build_name]'</p>
    
    <p>2018-10-01T10:21:28.3168258Z </p>
    
    <p>2018-10-01T10:21:28.3168258Z </p>
    
    <p><strong>2018-10-01T10:21:29.6761967Z Incorrect Usage.</strong></p>
    
    <p>2018-10-01T10:21:29.6761967Z </p>
    
    <p>2018-10-01T10:21:29.6761967Z NAME:</p>
    
    <p>2018-10-01T10:21:29.6761967Z    jfrog rt upload - Upload files</p>
    
    <p>2018-10-01T10:21:29.6761967Z </p>
    
    <p>2018-10-01T10:21:29.6761967Z USAGE:</p>
    
    <p><strong>2018-10-01T10:21:29.6761967Z    jfrog rt upload [command options] [arguments...]</strong></p>
    
    <p>2018-10-01T10:21:29.6761967Z </p>
    
    <p>2018-10-01T10:21:29.6761967Z OPTIONS:</p>
    
    <p>2018-10-01T10:21:29.6761967Z    --url         [Optional] Artifactory URL</p>
    
    <p>2018-10-01T10:21:29.6761967Z    --user        [Optional] Artifactory username</p>
    
    <p>2018-10-01T10:21:29.6761967Z    --password        [Optional] Artifactory password</p>
    
    <p>2018-10-01T10:21:29.6761967Z    --apikey      [Optional] Artifactory API key</p>
    
    <p>2018-10-01T10:21:29.6761967Z    --ssh-key-path    [Optional] SSH key file path</p>
    
    <p>2018-10-01T10:21:29.6761967Z    --props       [Optional] List of properties in the form of "key1=value1;key2=value2,..." to be attached to the uploaded artifacts.</p>
    
    <p>2018-10-01T10:21:29.6761967Z    --deb         [Optional] Used for Debian packages in the form of distribution/component/architecture.</p>
    
    <p>2018-10-01T10:21:29.6917936Z    --recursive       [Default: true] Set to false if you do not wish to collect artifacts in sub-folders to be uploaded to Artifactory.</p>
    
    <p>2018-10-01T10:21:29.6917936Z    --flat        [Default: true] If set to false, files are uploaded according to their file system hierarchy.</p>
    
    <p>2018-10-01T10:21:29.6917936Z    --regexp      [Default: false] Set to true to use a regular expression instead of wildcards expression to collect files to upload.</p>
    
    <p>2018-10-01T10:21:29.6917936Z    --threads         [Default: 3] Number of artifacts to upload in parallel.</p>
    
    <p>2018-10-01T10:21:29.6917936Z    --dry-run     [Default: false] Set to true to disable communication with Artifactory.</p>
    
    <p>2018-10-01T10:21:29.6917936Z</p>
  </blockquote>
  
  <p>I using jFrog Artifactory Deployer 2.1.1 TFS build task.</p>
  
  <p>This command line option is described here: <a href="https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-UploadingFiles" rel="nofollow noreferrer">https://www.jfrog.com/confluence/display/CLI/CLI+for+JFrog+Artifactory#CLIforJFrogArtifactory-UploadingFiles</a> </p>
  
  <p>However, it seems that jFrog.exe which is on our TFS servers doesn’t understand --explode command line option.</p>
  
  <p>(Note: I am unsure what version of jFrog.exe is running on our build servers; currently awaiting details from responsible team, update to follow.)</p>
  
  <p>Is the issue that the jFrog.exe version is older (pre 1.7) and does not support the --explode command option? If so, is there an alternative way to achieve multiple artifact upload while preserving staging folder structure?</p>
  
  <p>(Note: I applied the --flat=false option but the staging folder hierarchy was preserved right back to the root; this is not what's required either).</p>
  
  <p>insights appreciated, thanks for looking..</p>