diff --git a/.gitignore b/.gitignore
index ea19bb97e3b74cec2fe30f0205ce3206824e03ea..c3d4faa62fe47f777ab03e9e1d93936efd15a649 100644
--- a/.gitignore
+++ b/.gitignore
@@ -7,3 +7,5 @@
 /node_modules
 /package-lock.json
 /vendor
+/xapi
+/xapi.zip
diff --git a/scripts/generateZipFile.sh b/scripts/generateZipFile.sh
index 4024a3152a1871b76d7157ea6a61c682c7fdd036..686097c3ef4a2de57d8f1d3cdfadcfddcd66bd9a 100755
--- a/scripts/generateZipFile.sh
+++ b/scripts/generateZipFile.sh
@@ -1,24 +1,20 @@
 #!/usr/bin/env sh
 
-# Creates a folder to zip.
-rm -f xapi.zip
-php -r "readfile('https://getcomposer.org/installer');" | php
-php composer.phar install --no-interaction --no-dev
-cp -r . ../moodle_logstore_build
+# Installs composer production dependencies.
+rm -rf vendor
+composer install --no-interaction --no-dev
 
-# Removes unused files and folders.
-find ../moodle_logstore_build -type d -name 'tests' | xargs rm -rf
-find ../moodle_logstore_build -type d -name 'docs' | xargs rm -rf
-find ../moodle_logstore_build -type d -name '.git' | xargs rm -rf
-find ../moodle_logstore_build -type f -name '.gitignore' | xargs rm -rf
-find ../moodle_logstore_build -type f -name 'composer.*' | xargs rm -rf
-find ../moodle_logstore_build -type f -name 'phpunit.*' | xargs rm -rf
-find ../moodle_logstore_build -type f -name '*.md' | xargs rm -rf
-find ../moodle_logstore_build -type f -name 'node_modules' | xargs rm -rf
-find ../moodle_logstore_build -type f -name 'package-lock.json' | xargs rm -rf
-find ../moodle_logstore_build -type f -name 'package.json' | xargs rm -rf
+# Creates folder to zip.
+rm -rf xapi
+mkdir -p ./xapi/classes && cp -r ./classes ./xapi
+mkdir -p ./xapi/db && cp -r ./db ./xapi
+mkdir -p ./xapi/lang && cp -r ./lang ./xapi
+mkdir -p ./xapi/lib && cp -r ./lib ./xapi
+mkdir -p ./xapi/vendor && cp -r ./vendor ./xapi
+cp ./LICENSE ./xapi
+cp ./README.md ./xapi
+cp ./settings.php ./xapi
+cp ./version.php ./xapi
 
 # Creates the zip file.
-mv ../moodle_logstore_build xapi
-zip -r xapi.zip xapi -x "xapi/.git/**/*"
-rm -rf xapi
+zip -r xapi.zip xapi
diff --git a/xapi.zip b/xapi.zip
deleted file mode 100644
index aa563fc53f804551d3f52edbf60726f53f06c437..0000000000000000000000000000000000000000
Binary files a/xapi.zip and /dev/null differ