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 <[email protected]> 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 > $(ReleaseFileName).src.zip.md5" /> <Exec WorkingDirectory="$(SvnDevDirectory)\$(PackageVersion)" Command="gpg --print-md SHA512 $(ReleaseFileName).src.zip > $(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"Added $(ReleaseFileName) to dev/lucenenet"" /> </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 "Removed $(ReleaseFileName) from dev/lucenenet"" /> + + <!-- Add to svn release --> + <Exec WorkingDirectory="$(SvnReleaseDirectory)" Command="svn add $(PackageVersion)\" /> + <Exec WorkingDirectory="$(SvnReleaseDirectory)" Command="svn commit -m "Added $(ReleaseFileName) to release/lucenenet"" /> + + <Message Importance="high" Text="Release of $(PackageVersion) Complete"/> + </Target> + </Project> \ No newline at end of file
