GEODE-1416 lays out the tasks needed to prepare geode-native to be included in 
a geode release.  I spent some time reviewing the source and found several 
other things to consider:

1) Docs

- The documentation under docs/ needs to be rebranded for Geode.
- The API docs in src/docs to need remove references to Pivotal.  This includes:
        support.html
        copyright.html
        gemfire and pivotal logos
- README.md points to documentation hosted by Pivotal.  Once the documentation 
has been rebranded it should be hosted on geode.apache.org/docs

2) Schema

We need to move gfcpp-cache-9.0.xsd to http://geode.apache.org/schema.

3) Build

The cmake build can produce source and binary distributions though it’s not 
very obvious how to do so.  Here’s how to create the binary distribution:

cmake ../src -DPRODUCT_VERSION=1.2.0-SNAPSHOT
cmake --build .
cmake --build . —target docs
cmake --build . --target package

-rw-r--r--   1 abaker  staff  25355797 Mar  6 08:48 
apache-geode-native-1.2.0-SNAPSHOT-Linux-64bit.tar.gz
-rw-r--r--   1 abaker  staff  27074260 Mar  6 08:54 
apache-geode-native-1.2.0-SNAPSHOT-Linux-64bit.zip

Here’s how to create the source distribution:

cpack --config CPackSourceConfig.cmake

-rw-r--r--   1 abaker  staff   4965935 Mar  6 09:26 
apache-geode-native-1.2.0-SNAPSHOT-Source.tar.Z
-rw-r--r--   1 abaker  staff   1781424 Mar  6 09:25 
apache-geode-native-1.2.0-SNAPSHOT-Source.tar.bz2
-rw-r--r--   1 abaker  staff   2312379 Mar  6 09:25 
apache-geode-native-1.2.0-SNAPSHOT-Source.tar.gz
-rw-r--r--   1 abaker  staff   1491336 Mar  6 09:26 
apache-geode-native-1.2.0-SNAPSHOT-Source.tar.xz

Comments:

- The distributions don’t include the version in the top-level directory.  We 
should include that.
- The binary distributions include cmake files and several *.in files.  Are 
those necessary?
- The source distribution only includes files from src/.  It should capture 
everything in the geode-native/ root dir.
- It looks like src/cppcache/src/version.cmake.in relies on the presence of a 
git repo.  That will not be present for a source release, see [1].

We also need to generate signatures and hashes for each of the distribution 
artifacts.  How hard is that to do in cmake?  Should we just create a simple 
gradle wrapper script to do this so we have a common release toolset across 
geode, geode-examples, and geode-native?

Thanks,
Anthony

[1] https://github.com/apache/geode/blob/develop/gradle/utilities.gradle#L55


Reply via email to