title: How to upload an artifact to Artifactory / consume it in a build system (Gradle Maven Ant) where the artifact does not have an extension
body: <p>I have the following files which I would like to upload to Artifactory as a 9.8.0 versioned artifact.</p>
  
  <p><strong>NOTE</strong>: The first two files DO NOT have an extension (they are executable files i.e. if you open them/cat on it, you'll see junk characters).</p>
  
  <p>Folder/files of a given version 9.8.0 in CVS is like:</p>
  
  <pre>
  com.company.project/gigaproject/v9.8.0/linux/gigainstall
  com.company.project/gigaproject/v9.8.0/solaris/gigainstall
  com.company.project/gigaproject/v9.8.0/win32/gigainstall.exe
  com.company.project/gigaproject/v9.8.0/gigafile.dtd
  com.company.project/gigaproject/v9.8.0/gigaanotherfile.dtd
  com.company.project/gigaproject/v9.8.0/giga.jar
  com.company.project/gigaproject/v9.8.0/giga.war
  </pre>
  
  <p>Uploading the above files which have an extension is very easy... You log in to Artifactory as an administrator/user which has access to deploy artifacts, click on "Deploy" tab, browse for the Artifactory file and once you select the file, click on "Upload" button.</p>
  
  <p><img src="https://i.stack.imgur.com/nJ7OL.jpg" alt="Enter image description here"></p>
  
  <p>Next you'll see a screen (like shown above). You'll tweak what you want in the fields on this page and once you click on "Deploy Artifact", you are done. All you have to make sure is you select the correct <code>file.extension</code> file while uploading and make sure the file extension is shown in the "Target Path" box correctly (with the version -x.x.x, etc.).</p>
  
  <p><strong>My questions:</strong></p>
  
  <p><strong>Question 1</strong>: How do I upload an artifact which doesn't have an extension? It seems like Artifactory by default takes an artifact as a .jar extension. How can I upload the "gigainstall" artifact as shown in the folder/file structure above for both Linux and Solaris? I see I can use the artifact name as gigainstall-linux and gigainstall-solaris and differentiate it, but I am not sure how to tell Artifactory that this artifact doesn't have any extension.</p>
  
  <p>I don't think the development team will start generating this artifact with a proper extension (as this artifact may be hard coded everywhere in other projects where they are currently getting it from CVS/SVN source control somewhere - which is itself a bad practice to store an artifact in a source control version tool).</p>
  
  <p><img src="https://i.stack.imgur.com/AYRuQ.jpg" alt="Enter image description here"></p>
  
  <p><strong>Question 2</strong>: How would I tell a build system  (for example, Gradle) to consume a non-extensioned artifact during, let's say, 'compile' task. In build.gradle under section dependencies { .. }, I will add something like as shown below, but I am not sure for non-extensioned files (the first two in the folder/file structure I mentioned above).</p>
  
  <pre>
  dependencies {
       //compile 'com.company.project:gigainstall-linux:9.8.0@'
       //compile 'com.company.project:gigainstall-linux:9.8.0@??????'
       //compile 'com.company.project:gigainstall-linux:9.8.0@""'
       //compile 'com.company.project:gigainstall-linux:9.8.0@"none"'
       //compile 'com.company.project:gigainstall-linux:9.8.0@"NULL_or_something"'
  
       // The following will easily get giga.jar version giga-9.8.0.jar from Artifactory repository
       compile 'com.company.project:giga:9.8.0'
  
       // The following will easily get giga.war
       compile 'com.company.project:giga:9.8.0@war'
  
       // Similarly, other extension based artifacts can be fetched from Artifactory
       compile 'com.company.project:gigafile:9.8.0@dtd'
       compile 'com.company.project:gigaanotherfile:9.8.0@dtd'
  }
  </pre>