Index: .
===================================================================
--- .	(revision 29747)
+++ .	(working copy)

Property changes on: .
___________________________________________________________________
Modified: svn:ignore
## -4,3 +4,4 ##
 node_modules
 npm-debug.log
 build
+packages
Index: .gitignore
===================================================================
--- .gitignore	(revision 29747)
+++ .gitignore	(working copy)
@@ -15,6 +15,7 @@
 /npm-debug.log
 /build
 /tests/phpunit/build
+/packages
 
 # Files and folders that get created in wp-content
 /src/wp-content/blogs.dir
Index: Gruntfile.js
===================================================================
--- Gruntfile.js	(revision 29747)
+++ Gruntfile.js	(working copy)
@@ -42,7 +42,8 @@
 				src: []
 			},
 			tinymce: ['<%= concat.tinymce.dest %>'],
-			qunit: ['tests/qunit/compiled.html']
+			qunit: ['tests/qunit/compiled.html'],
+			packages: ['packages/**']
 		},
 		copy: {
 			files: {
@@ -377,6 +378,46 @@
 				},
 				src: '<%= concat.tinymce.dest %>',
 				dest: BUILD_DIR + 'wp-includes/js/tinymce/wp-tinymce.js.gz'
+			},
+			core: {
+				options: {
+					mode: 'zip',
+					archive: 'packages/wordpress.zip',
+					level: 9
+				},
+				expand: true,
+				cwd: BUILD_DIR,
+				src: [
+					'**',
+					'!wp-content/**',
+					'wp-content/**/index.php',
+					'wp-content/{plugins,themes}/index.php',
+					'wp-content/plugins/hello.php',
+					'wp-content/themes/twenty{twelve,thirteen,fourteen}'
+				],
+				dest: 'wordpress/'
+			},
+			'core-no-content': {
+				options: {
+					mode: 'zip',
+					archive: 'packages/wordpress-no-content.zip',
+					level: 9
+				},
+				expand: true,
+				cwd: BUILD_DIR,
+				src: ['**', '!wp-content/**'],
+				dest: 'wordpress/'
+			},
+			'core-tarball': {
+				options: {
+					mode: 'tgz',
+					archive: 'packages/wordpress.tar.gz',
+					level: 9
+				},
+				expand: true,
+				cwd: BUILD_DIR,
+				src: '<%= compress.core.src %>',
+				dest: 'wordpress/'
 			}
 		},
 		jsvalidate:{
@@ -466,6 +507,10 @@
 	grunt.registerTask('build', ['clean:all', 'copy:all', 'cssmin:core', 'colors', 'rtl', 'cssmin:rtl', 'cssmin:colors',
 		'uglify:core', 'concat:tinymce', 'compress:tinymce', 'clean:tinymce', 'jsvalidate:build']);
 
+	// Package creation task.
+	grunt.registerTask('package', 'Create download packages, for testing purposes.',
+		['build', 'clean:packages', 'compress:core', 'compress:core-no-content', 'compress:core-tarball']);
+
 	// Testing tasks.
 	grunt.registerMultiTask('phpunit', 'Runs PHPUnit tests, including the ajax and multisite tests.', function() {
 		grunt.util.spawn({
