12

I'm looking at different repository layouts, and I see a distinction between folder integration revisions and file integration revisions.

Are these the same revision number (just placed on a file and/or folder) or are they different things?

Here is a link where I see both mentioned: Repository Layouts

Mark O'Connor
  • 76,015
  • 10
  • 139
  • 185
DonBecker
  • 2,424
  • 3
  • 25
  • 43
  • I changed the title, this seems to be a specific artifactory question. The settings you are talking about define the internal folder structure of artifactory. – oers Dec 14 '11 at 09:26
  • Thanks, since I'm new to build artifact repositories this wasn't clear to me. – DonBecker Dec 14 '11 at 15:23

1 Answers1

14

Folder integration revision refers to the integration revision as it appears in an artifacts folder structure while file integration revision refers to the integration revision as it appears in an artifacts file name.

Consider a number of integration revision paths according to different build tool standards:

Standard Ivy:

org/module/1.0-20111214124053/jars/module/1.0-20111214124053.jar

Non-unique Maven:

groupId/artifactId/1.0-SNAPSHOT/artifactId-1.0-SNAPSHOT.jar

Unique Maven:

groupId/artifactId/1.0-SNAPSHOT/artifactId-1.0-20111412.124253-1.jar

So as you can see, standard Ivy and non-unique Maven have identical file and folder integration revisions (Ivy has 20111214124053 and Maven has SNAPSHOT) while the unique Maven differs (SNAPSHOT and 20111412.124253-1).

In the context of Artifactorys repository layouts, their value is a customizable regular expression which should reflect the expected value of the integration revision. Providing this information helps Artifactory identify the difference between release and integration revision artifacts and extract the information from the path.

noamt
  • 7,397
  • 2
  • 37
  • 59
  • Great response. In the "Unique Maven" example above, is it the folder integration "1.0-SNAPSHOT" that allows Artifactory to limit the number of unique snapshots in the directory? – DonBecker Dec 14 '11 at 15:27
  • Not exactly. After deploying an artifact, Artifactory matches the artifact path to the repository's layout; If the path matches and an integration revision is identified, then it's a sign that a snapshot cleanup may be performed (as long as cleanup is enabled). The existence of the folder integration revision isn't mandatory, but with a more detailed layout, comes a more exact matching process. – noamt Dec 14 '11 at 15:50
  • So how does Artifactory identify an integration revision? – DonBecker Dec 14 '11 at 16:42
  • If a given path matches the repository layout and if there's a part of that path that matches the regular expressions given as file or folder revision integration identifiers. – noamt Dec 15 '11 at 19:17