Browse Source

Merge pull request #1811 from xfxyjwf/fixdist

Add missing files in EXTRA_DIST and add a test.
Feng Xiao 9 years ago
parent
commit
30d8416c1c
2 changed files with 26 additions and 0 deletions
  1. 1 0
      Makefile.am
  2. 25 0
      tests.sh

+ 1 - 0
Makefile.am

@@ -782,6 +782,7 @@ EXTRA_DIST = $(@DIST_LANG@_EXTRA_DIST)   \
   editors/README.txt                     \
   editors/proto.vim                      \
   editors/protobuf-mode.el               \
+  examples/CMakeLists.txt                \
   examples/README.txt                    \
   examples/Makefile                      \
   examples/addressbook.proto             \

+ 25 - 0
tests.sh

@@ -44,6 +44,30 @@ build_cpp() {
 build_cpp_distcheck() {
   ./autogen.sh
   ./configure
+  make dist
+
+  # List all files that should be included in the distribution package.
+  git ls-files | grep "^\(java\|python\|objectivec\|csharp\|js\|ruby\|cmake\|examples\)" |\
+      grep -v ".gitignore" | grep -v "java/compatibility_tests" > dist.lst
+  # Unzip the dist tar file.
+  DIST=`ls *.tar.gz`
+  tar -xf $DIST
+  cd ${DIST//.tar.gz}
+  # Check if every file exists in the dist tar file.
+  FILES_MISSING=""
+  for FILE in $(<../dist.lst); do
+    if ! file $FILE &>/dev/null; then
+      echo "$FILE is not found!"
+      FILES_MISSING="$FILE $FILES_MISSING"
+    fi
+  done
+  cd ..
+  if [ ! -z "$FILES_MISSING" ]; then
+    echo "Missing files in EXTRA_DIST: $FILES_MISSING"
+    exit 1
+  fi
+
+  # Do the regular dist-check for C++.
   make distcheck -j2
 }
 
@@ -320,6 +344,7 @@ build_javascript() {
 if [ "$#" -ne 1 ]; then
   echo "
 Usage: $0 { cpp |
+            cpp_distcheck |
             csharp |
             java_jdk6 |
             java_jdk7 |