blob: 6629d8a2b50004aeedbb5333beae22907b92f0c1 [file] [log] [blame]
@echo off
rem
rem Licensed to the Apache Software Foundation (ASF) under one
rem or more contributor license agreements. See the NOTICE file
rem distributed with this work for additional information
rem regarding copyright ownership. The ASF licenses this file
rem to you under the Apache License, Version 2.0 (the
rem "License"); you may not use this file except in compliance
rem with the License. You may obtain a copy of the License at
rem
rem http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing,
rem software distributed under the License is distributed on an
rem "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
rem KIND, either express or implied. See the License for the
rem specific language governing permissions and limitations
rem under the License.
rem
rem This batch file creates a release.
rem It requires Cygwin.
set PORTCMISVERSION=0.4
set PORTCMISZIPSRC=chemistry-portcmis-%PORTCMISVERSION%-src.zip
set PORTCMISZIPBIN=chemistry-portcmis-%PORTCMISVERSION%-bin.zip
set PORTCMISZIPNUPKG=chemistry-portcmis-%PORTCMISVERSION%-nupkg.zip
set PORTCMISRC=RC1
set CYGWIN=ntea
echo Building...
cd PortCMIS
call build.bat
cd ..
cd PortCMISWin
call build.bat
cd ..
echo Creating release directories...
rmdir /S /Q release-src
mkdir release-src
rmdir /S /Q release-bin
mkdir release-bin
rmdir /S /Q release-nupkg
mkdir release-nupkg
rmdir /S /Q dist-dev
mkdir dist-dev
rmdir /S /Q publish
mkdir publish
echo Copying readme, etc...
copy LICENSE release-src
copy LICENSE release-bin
copy LICENSE release-nupkg
copy NOTICE release-src
copy NOTICE release-bin
copy NOTICE release-nupkg
copy DEPENDENCIES release-src
copy DEPENDENCIES release-bin
copy DEPENDENCIES release-nupkg
copy README release-src
copy README release-bin
copy README release-nupkg
echo Copying binaries ...
copy PortCMIS\bin\Release\PortCMIS.dll release-bin
copy PortCMIS\doc\PortCMIS.chm release-bin
copy PortCMISWin\bin\Release\PortCMISWin.dll release-bin
chmod -R a+rwx release-bin
echo Copying nupkg ...
xcopy PortCMIS\nupkg\*.nupkg release-nupkg
xcopy PortCMIS\doc\PortCMIS.chm release-nupkg
xcopy PortCMISWin\nupkg\*.nupkg release-nupkg
chmod -R a+rwx release-nupkg
echo Copying source...
mkdir release-src\src
mkdir release-src\src\PortCMIS
xcopy PortCMIS release-src\src\PortCMIS /E
del release-src\src\PortCMIS\project.lock.json
rmdir /S /Q release-src\src\PortCMIS\bin
rmdir /S /Q release-src\src\PortCMIS\obj
rmdir /S /Q release-src\src\PortCMIS\doc
rmdir /S /Q release-src\src\PortCMIS\nupkg
mkdir release-src\src\PortCMISWin
xcopy PortCMISWin release-src\src\PortCMISWin /E
rmdir /S /Q release-src\src\PortCMISWin\bin
rmdir /S /Q release-src\src\PortCMISWin\obj
rmdir /S /Q release-src\src\PortCMISWin\doc
rmdir /S /Q release-src\src\PortCMISWin\nupkg
chmod -R a+rwx release-src
echo Creating release file...
rmdir /S /Q artifacts
mkdir artifacts
cd release-src
zip -r ../artifacts/%PORTCMISZIPSRC% *
cd ..
cd release-bin
zip -r ../artifacts/%PORTCMISZIPBIN% *
cd ..
cd release-nupkg
zip -r ../artifacts/%PORTCMISZIPNUPKG% *
cd ..
echo Signing release file...
cd artifacts
gpg --armor --output %PORTCMISZIPSRC%.asc --detach-sig %PORTCMISZIPSRC%
gpg --print-md MD5 %PORTCMISZIPSRC% > %PORTCMISZIPSRC%.md5
gpg --print-md SHA512 %PORTCMISZIPSRC% > %PORTCMISZIPSRC%.sha
gpg --armor --output %PORTCMISZIPBIN%.asc --detach-sig %PORTCMISZIPBIN%
gpg --print-md MD5 %PORTCMISZIPBIN% > %PORTCMISZIPBIN%.md5
gpg --print-md SHA512 %PORTCMISZIPBIN% > %PORTCMISZIPBIN%.sha
gpg --armor --output %PORTCMISZIPNUPKG%.asc --detach-sig %PORTCMISZIPNUPKG%
gpg --print-md MD5 %PORTCMISZIPNUPKG% > %PORTCMISZIPNUPKG%.md5
gpg --print-md SHA512 %PORTCMISZIPNUPKG% > %PORTCMISZIPNUPKG%.sha
cd ..
echo ========================================================================
echo.
echo Next steps:
echo -----------
echo.
echo - Check artifacts!!!
echo.
echo - Create RC tag:
echo svn copy https://svn.apache.org/repos/asf/chemistry/portcmis/trunk https://svn.apache.org/repos/asf/chemistry/portcmis/tags/chemistry-portcmis-%PORTCMISVERSION%-%PORTCMISRC% -m "PortCMIS %PORTCMISVERSION% RC%PORTCMISRC%"
echo.
echo - Upload to dist/dev:
echo cd dist-dev
echo svn co https://dist.apache.org/repos/dist/dev/chemistry .
echo mkdir chemistry-portcmis-%PORTCMISVERSION%-%PORTCMISRC%
echo cd chemistry-portcmis-%PORTCMISVERSION%-%PORTCMISRC%
echo copy ..\..\artifacts\* .
echo svn add .
echo svn commit -m "added PortCMIS %PORTCMISVERSION% artifacts"
echo cd ..\..
echo.
echo - Send vote mail and wait 72 hours
echo.
echo - Upload to dist/release:
echo cd publish
echo svn co https://dist.apache.org/repos/dist/release/chemistry/portcmis .
echo mkdir %PORTCMISVERSION%
echo cd %PORTCMISVERSION%
echo copy ..\..\artifacts\* .
echo svn add .
echo svn commit -m "added PortCMIS %PORTCMISVERSION% release to dist"
echo cd ..\..
echo.
echo - Update website
echo.
echo - Close JIRA version and create a new one
echo.
echo - Rename tag:
echo svn mv https://svn.apache.org/repos/asf/chemistry/portcmis/tags/chemistry-portcmis-%PORTCMISVERSION%-%PORTCMISRC% https://svn.apache.org/repos/asf/chemistry/portcmis/tags/chemistry-portcmis-%PORTCMISVERSION% -m "renamed tag after successful release"
echo.
echo - Update DOAP file
echo.
echo - Send mail to email to announce@apache.org (with GPG signature)
echo.
echo - Remove previous versions from https://dist.apache.org/repos/dist/release/chemistry/portcmis