The following steps should be taken by project maintainers when they create a new release.
-
Create a new release and tag for the release.
-
Tags should be in the form of vMajor.Minor.Revision
-
Release names should be more human readable: Version Major.Minor.Revision
-
-
Update the podspec and test it
- pod lib lint SSZipArchive.podspec
-
Push the pod to the trunk
- pod trunk push SSZipArchive.podspec
-
Create a Carthage framework archive
- echo 'github "ZipArchive/ZipArchive"' > Cartfile
- carthage build --no-skip-current
- carthage archive ZipArchive
-
Attach archive to the release created in step 1.
The following steps should be taken by project maintainers when they update minizip files.
- Source is at https://github.com/nmoinvaz/minizip.
- Have cmake:
brew install cmake
- Run cmake on minizip repo with our desired configuration:
cmake . -DMZ_BZIP2=OFF -DMZ_LZMA=OFF
- Look at the file
./CMakeFiles/minizip.dir/DependInfo.cmake
, it will give two pieces of information:
- The list of C files that we need to include.
- The list of compiler flags that we need to include: "HAVE_ARC4RANDOM_BUF" "HAVE_INTTYPES_H" "HAVE_PKCRYPT" "HAVE_STDINT_H" "HAVE_WZAES" "HAVE_ZLIB"
With the exception of the last two: "MZ_ZIP_SIGNING" "_POSIX_C_SOURCE=200112L"
- Set those flags in SSZipArchive.podspec (for CocoaPods) and in ZipArchive.xcodeproj (for Carthage)
- Replace the .h and .c files with the latest ones, except for
mz_compat.h
, which is customized to expose some struct in SSZipCommon.h and to provide support for optional aes.
Note: we can also use cmake -G Xcode . -DMZ_BZIP2=OFF -DMZ_LZMA=OFF
to get the list of files to include in an xcodeproj of its own, from where we can remove unneeded zip.h
and unzip.h
.