You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2020/04/25 08:17:52 UTC

[lucenenet] 03/04: build/Release.targets: Added target for committing the release and added verification of signatures

This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit 22345e248e6875010f66282a0f8bdc3ef986d575
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Sat Apr 25 01:05:45 2020 +0700

    build/Release.targets: Added target for committing the release and added verification of signatures
---
 build/Release.targets | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 67 insertions(+)

diff --git a/build/Release.targets b/build/Release.targets
index b6be3af..c13fc15 100644
--- a/build/Release.targets
+++ b/build/Release.targets
@@ -99,6 +99,19 @@
     <Exec WorkingDirectory="$(SvnDevDirectory)\$(PackageVersion)" Command="gpg --print-md MD5 $(ReleaseFileName).src.zip &gt; $(ReleaseFileName).src.zip.md5" />
     <Exec WorkingDirectory="$(SvnDevDirectory)\$(PackageVersion)" Command="gpg --print-md SHA512 $(ReleaseFileName).src.zip &gt; $(ReleaseFileName).src.zip.sha512" />
     
+    <!-- Verify signatures -->
+    <Message Importance="high" Text=""/>
+    <Message Importance="high" Text="Verifying Signature of $(ReleaseFileName).bin.zip.asc..."/>
+    <Exec WorkingDirectory="$(SvnDevDirectory)\$(PackageVersion)" Command="gpg --verify $(ReleaseFileName).bin.zip.asc $(ReleaseFileName).bin.zip" />
+    <Message Importance="high" Text=""/>
+    <Exec WorkingDirectory="$(SvnDevDirectory)\$(PackageVersion)" Command="gpg --verify --status-fd 1 $(ReleaseFileName).bin.zip.asc $(ReleaseFileName).bin.zip" />
+
+    <Message Importance="high" Text=""/>
+    <Message Importance="high" Text="Verifying Signature of $(ReleaseFileName).src.zip.asc..."/>
+    <Exec WorkingDirectory="$(SvnDevDirectory)\$(PackageVersion)" Command="gpg --verify $(ReleaseFileName).src.zip.asc $(ReleaseFileName).src.zip" />
+    <Message Importance="high" Text=""/>
+    <Exec WorkingDirectory="$(SvnDevDirectory)\$(PackageVersion)" Command="gpg --verify --status-fd 1 $(ReleaseFileName).src.zip.asc $(ReleaseFileName).src.zip" />
+    
   </Target>
 
   <Target Name="CommitReleaseCandidate" Label="Commits a release candidate to Subversion for review before [VOTE]" Condition="'$(AssemblyName)' == 'Lucene.Net' ">
@@ -119,4 +132,58 @@
     <Exec WorkingDirectory="$(SvnDevDirectory)" Command="svn commit -m&quot;Added $(ReleaseFileName) to dev/lucenenet&quot;" />
   </Target>
   
+  <PropertyGroup>
+    <SvnDevKeysFile>$(SvnDevDirectory)\KEYS</SvnDevKeysFile>
+    <SvnDevDiscardLocalChanges>true</SvnDevDiscardLocalChanges>
+    <SvnReleaseDiscardLocalChanges>true</SvnReleaseDiscardLocalChanges>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <SvnDevReleaseFiles Include="$(SvnDevDirectory)\$(PackageVersion)\**\*.*" />
+  </ItemGroup>
+
+  <Target Name="CommitRelease" Label="Commits a release to Subversion after successful [VOTE]" DependsOnTargets="CheckoutRelease" Condition="'$(AssemblyName)' == 'Lucene.Net' ">
+    <ItemGroup>
+      <_RequiredProperties Include="ReleaseFileName">
+        <Value>$(ReleaseFileName)</Value>
+      </_RequiredProperties>
+    
+      <_RequiredProperties Include="PackageVersion">
+        <Value>$(PackageVersion)</Value>
+      </_RequiredProperties>
+    </ItemGroup>
+
+    <Error Condition =" '%(_RequiredProperties.Value)'=='' "
+          Text=" Missing required property [%(_RequiredProperties.Identity)]" />
+    
+    <Error Condition ="!Exists('$(SvnDevDirectory)\$(PackageVersion)')"
+          Text=" Directory '$(SvnDevDirectory)\$(PackageVersion)' doesn't exist in lucenenet/dev" />
+    <Error Condition ="!Exists('$(SvnDevDirectory)\KEYS')"
+          Text=" Keys file '$(SvnDevDirectory)\KEYS' doesn't exist in lucenenet/dev" />
+
+    <Message Importance="high" Text="Releasing $(PackageVersion)..."/>
+    
+    <!-- Discard local changes -->
+    <Exec WorkingDirectory="$(SvnDevDirectory)" Command="svn revert --recursive" Condition=" '$(SvnDevDiscardLocalChanges)' == 'true' " />
+    <Exec WorkingDirectory="$(SvnReleaseDirectory)" Command="svn revert --recursive" Condition=" '$(SvnReleaseDiscardLocalChanges)' == 'true' " />
+    
+    <!-- Copy KEYS file -->
+    <Message Importance="high" Text="Source: $(SvnDevKeysFile), Destination: $(SvnReleaseDirectory)"/>
+    <Copy SourceFiles="$(SvnDevKeysFile)" DestinationFolder="$(SvnReleaseDirectory)" OverwriteReadOnlyFiles="true" />
+    
+    <!-- Copy release assets -->
+    <Message Importance="high" Text="Source: @(SvnDevReleaseFiles), Destination: $(SvnReleaseDirectory)\$(PackageVersion)"/>
+    <Copy SourceFiles="@(SvnDevReleaseFiles)" DestinationFolder="$(SvnReleaseDirectory)\$(PackageVersion)" OverwriteReadOnlyFiles="true" />
+    
+    <!-- Delete from svn dev -->
+    <Exec WorkingDirectory="$(SvnDevDirectory)" Command="svn delete $(PackageVersion)\ --force" />
+    <Exec WorkingDirectory="$(SvnDevDirectory)" Command="svn commit -m &quot;Removed $(ReleaseFileName) from dev/lucenenet&quot;" />
+    
+    <!-- Add to svn release -->
+    <Exec WorkingDirectory="$(SvnReleaseDirectory)" Command="svn add $(PackageVersion)\" />
+    <Exec WorkingDirectory="$(SvnReleaseDirectory)" Command="svn commit -m &quot;Added $(ReleaseFileName) to release/lucenenet&quot;" />
+
+    <Message Importance="high" Text="Release of $(PackageVersion) Complete"/>
+  </Target>
+  
 </Project>
\ No newline at end of file