[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-dev] Duplicate bundle versions with different checksums

- Eclipse-SourceReferences simply takes the current HEAD commit id. 
  Eclipse-SourceReferences is just there to record which commit was used for this build.
  If it's different, that does not necessarily mean the plugin changed semantically (in a SemVer sense)

- In contrast, tycho-buildtimestamp-jgit takes the timestamp of the last commit *touching any file below the plugin's project root* 
  This is so you don't get a newer plugin version for commits that did not touch this particular plugin.

Regards
Jan


> -----Original Message-----
> From: tycho-dev-bounces@xxxxxxxxxxx [mailto:tycho-dev-bounces@xxxxxxxxxxx] On
> Behalf Of Jens Reimann
> Sent: Dienstag, 12. Mai 2015 10:16
> To: tycho-dev@xxxxxxxxxxx
> Subject: [tycho-dev] Duplicate bundle versions with different checksums
> 
> Hi,
> 
> I just stumbled over an odd which I would like to understand better.
> 
> When creating a composite P2 repository (with Package Drone) out of
> different P2 XML Fragments for Eclipse SCADA/openSCADA build artifacts
> (same for other builds artifacts) I got a "MD5 hash is not as expected"
> error when using P2 to access the repository.
> 
> Now this is simply caused by the fact that there are two full builds in
> the same channel, providing OSGI bundles built by Maven Tycho, which
> have the same bundle ID and the same version, but different content.
> 
> The duplicate bundles are not in the same build, but in two successive
> builds! With no apparent change in the SCM (git).
> 
> Tycho is configured to provide build timestamps using the jgit plugin.
> 
> ---
>         <tycho-version>0.21.0</tycho-version>
>         <tycho-extras-version>0.21.0</tycho-extras-version>
> ---
>             <!-- build qualifier -->
>             <plugin>
> 
> <groupId>org.eclipse.tycho</groupId><artifactId>tycho-packaging-
> plugin</artifactId><version>${tycho-version}</version>
>                 <dependencies>
>                     <dependency>
> 
> <groupId>org.eclipse.tycho.extras</groupId><artifactId>tycho-buildtimestamp-
> jgit</artifactId><version>${tycho-extras-version}</version>
>                     </dependency>
>                     <dependency>
> 
> <groupId>org.eclipse.tycho.extras</groupId><artifactId>tycho-sourceref-
> jgit</artifactId><version>${tycho-extras-version}</version>
>                     </dependency>
>                 </dependencies>
>                 <configuration>
>                     <timestampProvider>jgit</timestampProvider>
>                     <jgit.ignore>
>                         pom.xml
>                         CHANGES.txt
>                     </jgit.ignore>
>                     <format>'v'yyyyMMdd-HHmm</format>
>                     <sourceReferences>
>                         <generate>true</generate>
>                     </sourceReferences>
>                 </configuration>
>             </plugin>
> ---
> 
> Now the actual change in the bundles is the line
> "Eclipse-SourceReferences" which is:
> 
>     Eclipse-SourceReferences:
> scm:git:git://git.openscada.org/org.openscada.atlantis.git;path="org.openscad
> a.da.server.opc.edit";commitId=7bdba134ffa8e1b936a9f8689a6e4cb9451ef98c
> 
> and for the second
> 
>     Eclipse-SourceReferences:
> scm:git:git://git.openscada.org/org.openscada.atlantis.git;path="org.openscad
> a.da.server.opc.edit";commitId=83b5554178acfa8979ab6393cdb5fb1eeeb79017
> 
> resulting in the same version:
> 
>     Bundle-Version: 1.2.0.v20141105-0956
> 
> Now I would expect that a different MANIFEST.MF also produces a
> different version?!
> 
> Thanks for helping
> 
> Jens
> 
> 
> 
> 
> 
> _______________________________________________
> tycho-dev mailing list
> tycho-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/tycho-dev